Proton Native – React Native for the desktop - <AUTHOR> https://proton-native.js.org/ <comment><USER2> >You can create a GUI using something like Qt, but the code to make it is messy and unorganized.

It doesn't serve the author well to make this comparison. Saying it's less messy to manage Proton/React source code files and the associated Node/JS/etc infrastructure is an extremely dubious claim. One of the things I like best about Qt is how non-messy Qt development is. Most everything (source files, resources, etc.) lives in a well-organized project that is easily managed using the Qt Creator IDE. The project structure is well-documented and standardized.

It's also quite strange to compare React code to code using the Python binding for Qt. That's not how most Qt apps are written. Most Qt apps these days use QML, which is based on regular old JavaScript. Besides being a more accurate representation of the way Qt development is normally done, it would also be more interesting to compare one JavaScript-based framework to another. (Although I recommend not making the comparison at all, since I don't believe a fair comparison would favor Proton.)

<comment><USER3> And if we want to compare the syntax then this would be the QML equivalent:

      import QtQuick 2.9
      import QtQuick.Controls 1.3

      ApplicationWindow {
        title: "Example"
        visible: true
        width: 300
        height: 300

        Button {
            text: "Button"
            anchors.centerIn: parent
            onClicked: console.log('Hello')
        }
      }

<comment><USER2> Thank you for posting an example. I was going to.

I may be biased, but to me the QML code is _much_ cleaner and clearer than JSX.

<comment><USER4> Something I would be curious about is what happens when you try to change the view. Like what if you want to make a counter. For me that was always the best thing about react.

<comment><USER2> I'm not sure what you're asking, but the answer to what I _think_ you're asking is that views change by way of bindings. They can also be changed directly/procedurally, but I'll give an example of a binding.

(Think of an Item as a visual component, which can either be referred to by an id or, as I've done here, referred to by its children as "parent".)

        Item {
            property int count: 1

            Button {
                height: 30; width: 80
                onClicked: parent.count++
            }

            Text {
                height: 20; width: 30
                text: parent.count
            }
        }

The text will update every time you click the button.

<comment><USER5> Can you have higher order components? In react this is a function that returns a component, often taking another component as a parameter.

What's nice about react is that the JSX syntax is just sugar that converts to function calls.

<comment><USER6> > Can you have higher order components? In react this is a function that > returns a component, often taking another component as a parameter.

The standard way to do this in QML is using the Loader object: [http://doc.qt.io/qt-5/qml-qtqml-component.html](http://doc.qt.io/qt-5/qml- qtqml-component.html)

You can also go full-eval of course: [http://doc.qt.io/qt-5/qtqml-javascript- dynamicobjectcreation...](http://doc.qt.io/qt-5/qtqml-javascript- dynamicobjectcreation.html)

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> This runs on libui-node, which is a binding to the libui library.

[https://github.com/parro-it/libui-node](https://github.com/parro-it/libui- node)

[https://github.com/andlabs/libui](https://github.com/andlabs/libui)

<comment><USER7> Nice to see this project is still alive, it shows a lot of promise but appeared abandoned for a while.

Have they got the data grid API's working yet?

<comment> parro-it Hi, libui-node author here. I'm glad for your appreciation. The project is well alive now, proton-native give me new motivational energy

The data grid has still problems on macOS unfortunately, but @andlabs is working on it...

<comment><USER8> No, the data grid has problems on Windows, as that code is being contributed by someone else. I already have it on macOS and Linux, and have for years now... Hopefully soon the Windows code will be merged in and we can keep going.

<comment> parro-it Ah yes, sorry @andlabs

<comment><USER8> Also (for the benefit of the rest of HN) s/as/but/ — I had problems on Windows, and someone is proposing a solution I just need to merge in once the mega-PR that added it and a bunch of other things are split into more manageable chunks that won't merge conflict as easily with what I am independently doing to stabilize the build.

</comment></comment></comment></comment></comment></comment><comment><USER9> Using Electron, you are rendering each window in Chrome, with some added OS hooks. With Proton, you are using JavaScriptCore with hooks to the native MacOS UIs and APIs.

Seems to me that this should use far fewer resources (especially memory) and make it easier to make an App look more 'MacOS'y. Very eager to give it a go!

<comment><USER10> Isn't it running on Node?

<comment><USER9> Thanks for pointing that out, I commented with a correction.

</comment></comment></comment><comment><USER11> > You can create a GUI using something like Qt, but the code to make it is > messy and unorganized. Having made a very large GUI myself, it gets very > cumbersome to manage all of that.

Haven't we moved past writing UIs in code about twenty years ago? I see your code samples, and all they look like is an improved version of the code UI creation we had in OWL, MFC, and other UI frameworks on other platforms.

Starting about 1995 we had a better way: form designers that streamed objects (note: not even auto-generated versions of code, which is not much better, but object streaming.) Your UI is then designed and manipulated largely as a graphical UI -- that's what it is -- and manually written code is reduced to tweaks or state changes.

For example: Delphi (the prototype of all modern UI frameworks); C++Builder; others. WPF may count although the generated text is ugly as :) - but it carries the concept. A NIB file on macOS. You get the idea.

<comment><USER12> NIBs in macOS/iOS are horrible for development and code review.

Using a UI to build UI is slow and clunky. There is no "moving past" it. That's a bad way to develop stuff. We don't do it with HTML, do we? No.

<comment><USER13> Absolutely, most big mobile development teams I know do not use storyboards or NIBs because they are not easily human reviewable. (A small change will rearrange sections for seemlying no reason.)

<comment><USER12> Same. I wonder how anyone uses them, honestly.

<comment> yoz-y Oh come on. For most parts of an application Interface Builder is just fine. Sure, for the stuff that actually matters the code is necessary because IB is not turing complete anyways.

But to arrange the view controllers and segways + some static tables it is mighty fine.

</comment></comment></comment></comment></comment><comment><USER14> It's pretty fascinating how tech tends to spread and influence. We spent years trying to make the web more like traditional UI dev, and now we're making traditional UI dev like web. I would never have believed this if you'd told me about it in 2010.

<comment><USER15> > and now we're making traditional UI dev like web

It's been like that on Windows since 2006 with XAML. In fact, if you squint at typical JSX, it looks like XAML.

Disclosure: I work at Microsoft.

<comment><USER16> Or MXML, which most certainly was influenced if not entirely derived from XAML. Everything old is new again!

<comment><USER17> I'll put in a plug for my former employer's OpenLaszlo, introduced in 2002 (preview) and 2003 (version 1.0).

OpenLaszlo was most immediately inspired by HTML and (for data binding) XSLT. I looked at Mozart for ideas on constraints, but we ended up rolling our own design — mostly because constraints were never supposed to be a feature, so they were designed and developed incrementally, in discretely releasable baby steps.

Adobe did due diligence of the company sometime around 2002-2003 too, but that deal fell through. An Adobe PM also signed up for our beta program, initially under a pseudonym, but he eventually came clean. I've always been curious whether Flex/MXML was related to either of those encounters.

[1] [https://en.wikipedia.org/wiki/OpenLaszlo](https://en.wikipedia.org/wiki/OpenLaszlo)

[2] [https://ssl.weepee.org/lps-4.6.1/docs/developers/program- dev...](https://ssl.weepee.org/lps-4.6.1/docs/developers/program- development.html#program-development.data-binding)

<comment><USER18> Adam Wolff, former Chief Software Architect of Open Lazlo, is now the Director of Product Infrastructure at Facebook, and oversees React and React Native.

<comment><USER17> Adam developed the initial runtime implementation of data binding and constraints — with additional help from Max Carlson, and, later, P. Tucker Withington and Henry Minsky — while I did the compiler work and language design[1][2]. Adam et al wrote the runtime constraint resolution mechanism, which initially had an API for the procedural creation of constraint graphs. I was trying to make constraints and data binding look like JavaScript expressions, that were automagically recomputed when a subexpression value changed, by extracting dependency graphs from the source and packaging them for runtime use. (All this on the Flash 5 bytecode interpreter, which was slow as the dickens, even for the time — so there was a lot of optimization: in the compiler, in the runtime, and in the interstices. Although nothing like we did later for [3].)

This was the bottom of a slippery slope, where the designers and developers _using_ the platform were exploring the kinds of applications it was possible to write (single-page web applications were relatively new in the early oughts — except for some pioneering Explorer-only DHTML work by Microsoft, which we should have looked at but didn't — and we were all making up interaction patterns and software design idioms as we went along), and we were adding the platform features to enable some capabilities and golf others.

For a while Adam ran Laszlo's Professional Services. He succeeded me as CSA when I left Laszlo.

It wasn't Flex/MXML or XAML that killed Laszlo/OpenLaszlo, it was IMO first- gen dynamic frameworks such as Prototype and Scriptaculous, that could be gradually integrated into a page without placing a big rewrite-your-app bet. Also that we were about a year late in adding HTML as a second back end. (HTML wasn't sufficiently standardized or practical to use for cross-browser single- page applications in 2001 when we started work on the Laszlo platform implementation, but it was by 2005-6.) Or, closer to the root cause: sales and strategy issues that made it difficult to keep investing much in the platform once it was starting to get traction; the product feature omissions are how those resource constraints played out.

[1] [https://patents.google.com/patent/US20050039165A1/](https://patents.google.com/patent/US20050039165A1/)

[2] [https://patents.google.com/patent/US20050038796A1/](https://patents.google.com/patent/US20050038796A1/)

[3] [https://patents.google.com/patent/US20050114871A1/](https://patents.google.com/patent/US20050114871A1/)

</comment></comment></comment></comment></comment></comment><comment><USER19> The example in the getting started section comparing Python Qt isn't very convincing.

<comment><USER14> I tend to agree. I did years of Qt dev and I would never write something like that, nor have I seen it written like that.

It works I suppose, but it's very clearly written to be an easy-to-compare example, not a realist example. To really get an idea of what it would be like to use proton native v. Qt I'd like to see a small but complete project.

<comment><USER20> Not only that... but maybe its the fact that I use Qt everyday at work (C++) or that I'm not really a front end web dev, but the Python example is easier to grasp on first look.

</comment></comment></comment><comment><USER16> > It is not only shorter, it is also easier to read and to edit, and can > easily utilize the power of the state.

Easier to read and edit is obviously subjective, but _shorter_ is not and that front page is just straight up lying. The Qt example is most definitely shorter. What am I missing?

<comment><USER21> Hey. I'm the author. It's hard to find a simple example that everyone understands but can show capabilities. If you're used to Qt then you're going to like Qt better, but I mainly developed this for people who want to use React. You are obviously free to use whatever you want.

But if you have any suggestions let me know!

<comment><USER16> I have zero experience with Qt, but I'm pretty sure I can follow along with the examples anyway. (I do have experience with React, JS, and Python.)

It seems to me you're making a syntax comparison and using _shorter_ as an argument _for_ Proton Native, yet the example is obviously not shorter so it's factually incorrect. My suggestion is you don't use _shorter_ as an argument. Aside from being incorrect, it's probably not very useful since a few characters here and there doesn't necessarily mean one is more or less complicated than the other – which I presume is what you're _really_ trying to convey.

I'd probably refrain from using syntax comparison (mostly a matter of preference and familiarity anyway) and instead show why Proton Native is obviously less complex than Qt (or other options, if that matters.)

<comment><USER21> Yeah I'll reword that. My bad.

</comment></comment></comment></comment><comment><USER22> Sort of tangential, but does anyone know of a _good_ React Native app? Everything I've tried would clearly have been a better product if they'd just done native development. Like, you're sacrificing product quality for development ease.

<comment><USER23> You might recognize a few on this list: [http://facebook.github.io/react- native/showcase.html](http://facebook.github.io/react-native/showcase.html)

<comment><USER24> None of those are apps I particularly enjoy using or would want to use.

<comment><USER25> Facebook? Instagram? Airbnb? We're talking about some of the most popular apps in the world. What exactly is your problem with them?

<comment><USER26> I mean, do you realize that most of the big names on that list have a hybrid solution where they prove concepts, A/B test, and rapidly iterate-on/release new features using React Native, and then they have a native dev team for each platform that goes back and re-implements most of the core features natively?

<comment><USER27> Discord is the most impressive one to me. They definitely didn't have those resources when they wrote their iOS app[0].

The Android version is just RxJava, iirc, because of some performance issues they couldn't get around.

[0] [https://blog.discordapp.com/using-react-native-one-year- late...](https://blog.discordapp.com/using-react-native-one-year- later-91fd5e949933?gi=9cca25724807)

<comment><USER28> At that time when they released, the React Native Android was probably still in a kind of beta state.

<comment><USER29> RN Android still feels like beta.

<comment><USER30> How so? I run into the occasional hiccup an iOS and Android, but overall both have been pretty smooth for me.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER31> Without having used Proton Native myself, comparing your product to React Native is not something you would want to do, honestly. React Native has insanely huge growing pains, still going, even though it's been out since 2015. The last time I checked there was still no reasonable, scalable way to do complex navigation on the platform. Most third-party components are unusable six months in due to API changes. The list goes on. On the tin, React Native, and in the same way, Proton Native, look very promising, but for anything that's more complex than a demo application, my personal recommendation is to steer far away. You're free to disagree, of course, but having extensively tried to use the "write once run everywhere", my personal experience is that it always ends up more along the lines of "write once, then patch all the bugs separately on all the platforms".

<comment><USER13> I'm sorry but this seems overstated. There is already two highly competitive navigation libraries:

[https://github.com/wix/react-native-navigation](https://github.com/wix/react- native-navigation)

[https://reactnavigation.org](https://reactnavigation.org)

Edit: Replaced the word FUD with overstated, to not seem like I'm attacking the author personally.

<comment><USER31> As I stated above, it's my personal opinion on the matter. I've used both of those libraries in a medium-sized project and they don't work well. Simply linking to libraries and saying they exist is hardly making a point.

<comment><USER13> I have used both of those navigation libraries in medium sized projects as well. This is the section that struck me as overstated:

"The last time I checked there was still no reasonable, scalable way to do complex navigation on the platform. Most third-party components are unusable six months in due to API changes."

The links are counterpoints to the complex navigation issue. Showing that libraries exist and can handle complex navigation. If you want to argue that they are going over rapid change, which is true, then that is another thing. But I'm gonna disagree with the blanket statement of "there was still no reasonable, scalable way to do complex navigation on the platform" as overstated.

As for the second point. I assume what you mean by 'third-party components', is actually third-party native modules. In which I agree the API for them doesn't seem to have stabilized yet so there is a lot of churn in native modules. But a lot of third-party components I have seen continue to work in newer versions of React Native.

</comment></comment></comment></comment><comment><USER32> I don't totally understand why this exists to be honest. React Native for desktop is... React Native. It isn't mobile-specific in any way. In fact, it is already possible to make Windows (UWP) and macOS apps with it.

If this project was about formalising proper stable support for Windows and macOS within React Native, that would totally make sense. But it seems more like it's trying to be an alternative, under a different name, different branding, etc.

Surely it's better to remain as one widely compatible project?

<comment><USER33> > React Native for desktop is... React Native. It isn't mobile-specific in any > way. In fact, it is already possible to make Windows (UWP) and macOS apps > with it.

And what if you want to make a non-UWP app for accessibility or other reasons? Just your standard, straight forward Win32 GUI. Bringing the power of React to that space will still appeal to many.

<comment><USER34> React-Native for WPF already exists. Same repro as React Native for UWP.

<comment><USER33> > React-Native for WPF already exists.

WPF and Win32 are not the same thing.

<comment><USER34> Your original comment indicated non-UWP or Win32.

</comment></comment></comment></comment></comment><comment><USER35> Other than Linux support, does this offer anything more than React Native's existing macOS and Windows forks/bindings?

<comment><USER21> I've tried to improve documentation and make it ready for use. Also all the forks is are platform specific while this is cross platform.

</comment></comment><comment><USER36> The advantage of this over Qt is the licensing. React is an advantage if you are familiar with it over QML.

One thing to note, the naming convention of props differs from React Native which is a bummer. [https://github.com/kusti8/proton- native/issues/9](https://github.com/kusti8/proton-native/issues/9)

IIRC the project is a light mapping from libui-node project to React.

<comment><USER37> The issue you linked to seems to indicate that they are going to transition to React-idiomatic naming.

</comment></comment><comment><USER38> Hm. Proton's are heavier that electrons...

<comment><USER39> Electron should have been named Lead or maybe Uranium.

BTW: It should be "protons" without an apostrophe.

</comment></comment><comment><USER40> I like react on the web, but sometimes I find it cumbersome all that sending props down and passing functions to update global state. When I'm almost done with an app and then I decide that it will be nicer to open a modal window to ask the user 2 or 3 parameters is when I miss the most the desktop paradigm of just call a method that opens a small window and returns an object with the collected data

<comment><USER23> I have a ModalContainer that passes down this.context.openModal.

[https://reactjs.org/docs/context.html](https://reactjs.org/docs/context.html)

</comment></comment><comment><USER41> The website and github README could do with a lot more examples/screenshots

</comment><comment> c-smile Am I the only one who think that this:

        class Example extends Component {
          render() {
            return (
              <App>
                <Window title="Example" size={{w: 300, h: 300}} menuBar={false}>
                  <Button stretchy={false} onClick={() => console.log('Hello')}>
                    Button
                  </Button>
                </Window>
              </App>
            );
          }
        }

        render(<Example />);

is using too many artificial parsing layers ?

1) Like run JS, then there 2) parse JSX that will build virtual DOM, then 3) interpret that vDOM to 4) create physical window.

Why not just

        let app = Application({params});
        let window = app.window({url:"content.xml",
                                 type: "frame" });

<comment> crooked-v JSX _is_ JS. While there's technically 'parsing' involved, it's fundamentally just syntactic sugar:

        import { createElement as e } from 'whatever'

        return e(App, {}, [
          e(Window, { title: 'Example', size: { w: 300, h: 300 }, menuBar: false }, [
            e(Button, { stretchy: false, onClick: () => console.log('Hello') }, [
              'Button'
            ])
          ])
        ])

<comment> c-smile "JSX is JS"

It is not, [https://facebook.github.io/jsx/](https://facebook.github.io/jsx/)

It is handled by transpiler - one more parsing layer in loading sequence of your application.

<comment><USER42> sounds like you have your project configured wrong, transpiling should impact compilation not the loading aspect of your application

</comment></comment></comment></comment><comment><USER43> Is this created and maintained by a single developer (kusti8?), community, or corporation?

<comment><USER21> I'm one highschooler with not enough time. Ideally this would come from someone who can maintain this full-time like a corporation, but so far no one has done it.

<comment><AUTHOR> Wow that's awesome; you really are still in highschool.. When I read your gitHub profile where it said _" A sophmore at High Technology High School"_ I thought you were being sarcastic!

<comment><USER43> Impressive indeed :D

</comment></comment></comment></comment><comment><USER44> I'm curious how the documentation for this site was created. It resembles Vue.js and I really like it; would love to use a similar template for my projects.

<comment><USER45> The Vue team also just released VuePress, a static site generator based around making documentation sites with Markdown.

</comment></comment><comment><USER46> I wonder why this is called Proton Native and advertises itself as "using the same syntax as React Native" instead of just _being_ React Native.

There's already plenty of prior art for RN-compatible projects that target non-mobile devices (e.g. react-native-web, a half-dozen different AR and VR projects).

</comment><comment><USER47> Neat. Will keep this in mind for future desktop projects, assuming it has legs (i.e., long term maintenance).

</comment><comment><USER48> I found about proton-native earlier this week! Sadly it doesn't have a `<video>` element thats required for the project I'm building :(

</comment><comment><USER49> i've been quite impressed with Yue [0] and it's first real world demo app Wey [1] - a Slack client. It's way more robust than any Electron apps i've used.

[0]: [https://github.com/yue/yue](https://github.com/yue/yue)

[1]: [https://github.com/yue/wey](https://github.com/yue/wey)

</comment><comment><USER50> "On mobile, it used to be hard to build beatiful cross-platform apps" might want to run a spell checker on your docs.

</comment><comment><USER51> What is this site written in? I've seen this style for a couple others. Is it a github wrapper or something?

<comment><USER52> Based on the page source, it looks like it's docsify:

[https://docsify.js.org](https://docsify.js.org)

<comment><USER51> Oh weird, I was just looking at docsify this morning, that's why it must be so familiar to me.

<comment><USER53> Synchronicity!

</comment></comment></comment></comment><comment><USER54> This is super cool. Are there any demonstrations comparing performance between electron and your app?

<comment><USER55> It seems to runs on "UI" from andlabs, which is a fairly lightweight C wrapper around the the Windows, Cocoa and Gtk API's.

Sidenote as for why a UI library would wrap another UI wrapping library, Gtk is what is considered "native" on Gnome based distros.

So weight-wise, it's basically comes at the cost of native node module which is not bad compared to Electron's crazy IPC bridge back and forth communication nonsense.

<comment><AUTHOR> > _So weight-wise, it 's basically comes at the cost of native node module_

And now with NAPI [1] it should be easier than ever to make node modules!

[1] [https://nodejs.org/api/n-api.html#n_api_n_api](https://nodejs.org/api/n-api.html#n_api_n_api)

<comment> parro-it Some days ago I started a N-API version of the bindings: [https://github.com/parro-it/libui-napi](https://github.com/parro-it/libui- napi)

Is still really incomplete compared to libui-node, but just in case someone wants to help

<comment><AUTHOR> Is it a pretty simple re-write or something that requires a lot of c wizardry?

<comment> parro-it Not a simple rewrite, but neither a task that require a C wizard... The current version of libui-node implements C++ classes that wraps libui C function. They are exposed directly to JS. This experiment implements N-API C functions that wraps libui C function. Then, a set of JS classes wrap them, offering the same public API as libui-node.

Currently, I implemented windows, boxes, and multiline entry. I have to compare this experiment with the curent implementation in terms of erformance, memory consuption etc. before to decide to continue with N-API or not.

<comment> parro-it FYI, I just wrote the comparison I was speaking above: [https://github.com/parro-it/libui-napi/issues/11](https://github.com/parro- it/libui-napi/issues/11)

<comment><AUTHOR> Pretty impressive results!

<comment> parro-it Yes, N-API seems to be superior. And it's a particular good fit because libui itself has a C API

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER56> Without Yoga and style attribute, it is a lot less interesting than react native.

</comment><comment><USER57> Installation steps didn't work for me in Windows. Otherwise seems cool.

</comment><comment><USER58> The website isn't very responsive, can't resize on hn reader app on Android and still see text on right pane.

</comment><comment><USER59>
        );
      }
    }

</comment><comment><USER23> React Native isn't just for iOS / Android, it also works for macOS and Windows. React Native is React Native for the desktop.

<comment><USER60> What do you mean? Can you provide some links for building OSX apps with ReactNative? Only iOS/Android are listed as targets on the documentation website _(under getting started)_.

<comment><USER61> [https://github.com/Microsoft/react-native- windows](https://github.com/Microsoft/react-native-windows)

[https://github.com/ptmt/react-native-macos](https://github.com/ptmt/react- native-macos)

<comment><USER60> But aren't those 3rd party react native for desktop implementations, just like Proton Native? Does Proton Native differ in some meaningful way that OP was referring to?

We're in a thread _about_ a React Native for desktop implementation.. saying "React Native is React Native for Desktop" is confusing; hence my question.</comment></comment></comment></comment>


Interview with the virologist guiding Germany through the current pandemic - <AUTHOR> https://www.zeit.de/wissen/gesundheit/2020-03/christian-drosten-coronavirus-pandemic-germany-virologist-charite/komplettansicht <comment><USER2> The text over that map is a real text, not part of an image. Nice</comment>


Crunchy - Python Tutorials in the Browser - <AUTHOR> http://code.google.com/p/crunchy/ <comment><USER2> I wonder if the project devs have thought of putting an instance of this up for the world? There's a solid version of this for ruby (<http://tryruby.hobix.com/>) I direct people to when they ask about the language, I'd like to see more "try this programming language on the spot" type setups available, it's a shame I can't host them myself.

<comment><USER3> "Try this programming language on the spot" with wide open public access is something I've been working on recently. I hope you'll like the results when it's released.

<comment><USER4> <http://codepad.org/> does something like that. It seems handy for trying out small bits of code.

<comment><USER5> OMG! This is so awesome!

<comment><USER6> I agree. So much so that back when I first saw it last year, I sought out Steven Hazel (codepad.org's creator), and successfully convinced him to join my startup as co-founder at Sauce Labs. Codepad's tech is uber-cool. :-)

</comment></comment></comment></comment></comment><comment><USER7> <http://shell.appspot.com/> for python

[http://ironpython.codeplex.com/Wiki/View.aspx?title=Silverli...](http://ironpython.codeplex.com/Wiki/View.aspx?title=SilverlightInteractiveSession) \- for interactive shell for IronPython and IronRuby in Silverlight.</comment>


Snowflake more than doubles in market debut, largest ever software IPO - <AUTHOR> https://www.cnbc.com/2020/09/16/snowflake-snow-opening-trading-on-the-nyse.html <comment><USER2> Currently the price/sales ratio is at 170.

</comment><comment><USER3> The question is why. It doesn't seem to have anything to offer in performance or price/performance vs. even mediocre products such as Redshift. Am I missing something?

<comment><USER4> Have you used both? I used to use Snowflake at a former company. Snowflake has top class support for semi-structured data, for example. I found it really easy to use and highly flexible/featured compared to Redshift.

<comment><USER3> No, I haven't. I mainly work with Vertica and did some troubleshooting on a Redshift cluster. I've mainly read comparisons of performance and price/perf vs. those platforms.

Reading through their docs their semi-structured data support is similar to Vertica's flex tables. It's a handy feature, but not critical IME.</comment></comment></comment>


Does life end after 35? - <AUTHOR> http://kzhu.net/does-life-end-at-35.html <comment><USER2> I often worry about whether my startup clock is running out. I'm closer to 30 than 20, finishing up graduate school, and for the most part feel young. But other than the pediatrics ward, the only other time I start to feel my age is when attending some of these startup events.

What I try to keep conscious of is knowing what's reported in the media and what isn't, which are often 2 completely different worlds. On TechCrunch, "kid genius makes $100m" is the story they want. It fits this age-old narrative of a child prodigy reaching success in half the time it takes a "normally smart" person to, like Mozart, Einstein.

And that media draws in huge amounts of young people hoping to fit that narrative. But what's not reported are the companies that are typically working on much harder and more boring problems -- problems that require an understanding by people who've been in industries for years. Look at any CrunchBase newsletter about the day's fundraising and acquisitions, and you'll find yourself surprised at how many medical/B2B/etc companies are being bought for $100m+. These aren't companies started by 22yo grads, but by people with extensive industry experience. And the (startup) media doesn't really give a damn about them.

That's not, in any way, to devalue startups started by younger people. There's little-to-no barrier to starting social apps and the like. They have their place in society and have shown to be successful, so I don't blame a fresh grad who wants to try his/her hand at it. But there is a whole world of other startups and companies that are working in more complicated and boring industries that could not have been started by people in their early 20s.

Experience still matters, as unsexy as it is.

<comment><USER3> I came up with the idea for my startup when I was 47. I don't expect it to be able to make a living at it until I'm 49. Age? Pffth. Then again, I'm not hacking together "Facebook for cats" and hoping for some zeitgeist to make it magically successful while buckets of venture capital rain down on my head, either.

A college kid would never have come up with what I'm building, because they wouldn't realize the problem I'm trying to solve actually exists. It came to me because I've been in the software industry for nearly two decades and have seen the same problems, over and over. I'm solving a real problem that I understand really well, with a straightforward monetization strategy from obvious customers. It's not something that could be knocked off in a weekend by a couple of dudes at a weekend hackathon.

The experience to see substantial problems and the patience to work on them comes with time. Don't worry about getting old.

That all said, my 40s have been the best creative period of my life, by far. I feel like all the things I learned and experienced in my first 40 years were just setting me up for what I can do today.

<comment><USER4> "A college kid would never have come up with what I'm building, because they wouldn't realize the problem I'm trying to solve actually exists."

This is such a key point. Sometimes it takes years, if not decades, of experience to even know that the problem exists. Put another way, if the problem can be solved by a 22-year-old with no experience in the field, there's a good chance they've misunderstood the problem.

<comment><USER5> Yes, coming up with the problem is often the hard bit.

But it happens the other way too, in that many young inventors tackle problems because "they didn't realize they were 'impossible'". More knowledgeable folk can do this too, but it requires a certain... disrespect for authority. Like Einstein's flexibility with time and space (though he was young then; he didn't make breakthroughs in later life, possibly because he himself became an authority).

Fortune favours the delusional.

<comment><USER3> It's not a matter of "didn't realize it's impossible". The problem young startup entrepreneurs have is _they don 't realize that valuable problems exist_. Valuable problems tend to be industry-specific and narrowly defined, so you need to be at least aware of the problems of an industry, and the existing solutions/workarounds. Without industry experience at anything but being a college student and reading HN, how are you going to find problems to solve? That's why you see so many me-too social apps. You solve what you know, and if your most extensive experience with computers is Facebook and Twitter, that's your space for problems.

There are a couple of other factors to consider. First, there are problems that can be solved with new tech that couldn't be solved with old tech. The web opened up a huge front of new solutions over the past 10-20 years. Mobile is opening up another wave of solutions.

And finally, consider the "aspirin or vitamin" question. Vitamins are tempting, but aspirin sells better. Me, I'm working in more or less the monitoring space for configuration management. My key competition isn't other monitoring tools, it's the DevOps movement and automation tools like Chef and Puppet. When people have enterprise configuration management suck, those are the recommended solutions. But they're vitamins being sold as aspirin. Simply getting to where there's organizational buy-in to go to DevOps or to automate what was once manual is a whole fresh sort of pain. My competitive advantage is a near-painless dose of aspirin - immediate relief without having to change the whole model.

Ain't no college kid coming up with that.

</comment></comment></comment></comment></comment><comment><USER6> I turned 40 last year, and I am loving it. I miss the physical resilience of being in my 20s, but I wouldn't trade where I am now to go back to my 20s.

I grew up relatively sheltered in New England, and moved to NYC to teach as soon as I graduated from college. I spent my 20s teaching in the city and bicycling around North America in the summers.

At 29, I moved to Alaska. I spent my 30's climbing mountains, doing mountain rescue work, and continuing to teach.

I just turned 40, and I feel like this decade is about building some things that last. I feel like I came into more serious hacking at just the right time in my life. I now have the experience to know exactly what I want to build, and I have the long-term mindset needed to build important things. After having stood in front of NYC public school classrooms, bicycled around the continent, faced bears in the wild, and dropped out of helicopters onto steep mountains, dealing with servers and such is just another satisfying challenge to play with.

Life is wonderful if you keep right on living.

<comment><USER7> You guys have trouble getting dates with attractive girls?

<comment><USER8> Don't worry, you'll eventually grow out of this attitude. Your confidence will increase. You won't have to say stuff like this in an effort to feel better about yourself. Hang in there and good luck.

<comment><USER7> No I'm serious. Ha. Hows the dating scene in the 40s? I'm going to be there soon. The 30's came on insanely fast.

<comment><USER9> I don't think it's that different from 30s. In some ways, anything post- college is similar in that your life doesn't revolve around an institution full of single peers.

There's a little bit of magic-numberism that goes on, I suppose: people have ideas about what age means and they'll use it for a proxy (you'll worry about much younger people being annoying or stupid, they'll suspect you'll be staid or weird). But for the most part, everybody who's looking is still basically looking for the right connection.

The only practical effects I've seen are around two clocks:

* the family clock: some people are more anxious to have kids before they get too much older, some people have decided the window is done (which changes who they can pair up with).

* the midlife crisis clock: people start trying harder to see if they can make their life exactly what they want, or insert something they wished they had when they were younger.

These might be the same clock, though. And they have been known to strike well before the 40s. :) YMMV.

</comment></comment></comment></comment></comment><comment><USER10> A similar question was asked on Quora recently:

[https://www.quora.com/Silicon-Valley/What-do-people-in- Silic...](https://www.quora.com/Silicon-Valley/What-do-people-in-Silicon- Valley-plan-to-do-once-they-hit-35-and-are-officially-over-the-hill)

Some of the companies and founders' ages compiled from the answers:

\- Zynga: 41

\- LinkedIn: 36

\- Salesforce: 35

\- Intel: 41, 39

\- Qualcomm: 52, 50

\- Juniper Networks: 42

\- Wikipedia: 35

\- Pandora: 35

\- GigaOm: 39

\- Zipcar: 42

\- TechCrunch: 35

\- Craigslist: 42

\- Netflix: 37

<comment><USER11> I know that LinkedIn culturally didn't work crazy hours to get where they were - does anyone know, are any others listed that started out as '9-5' organizations?

<comment><USER12> I am skeptical of the 60-80 hours thing. It seems like more of a macho thing than a real requirement. The problem is that when you workaholic yourself your productivity per unit time drops, so you're spending more hours but doing as much as you might do in shorter bursts of more focused time. In some cases it's worse... you get total burnout.

<comment><USER13> The 60-80 hours thing is how computer peeps express their machismo. If we were jocks, we would do like 1000 pushups or something. If you need to spend that much time getting it off the ground, you are doing it wrong.

<comment><USER14> I see more value in accomplishing stuff in as little hours as possible. It's not about the hours, it's about what you get done.

And once you get stuck, it can be more productive to leave the computer and get some sleep, eat, walk, take a shower, etc. The best ideas or solutions come to you when you're doing something else.

To me, saying you work 60-80 hours means you're either doing something very simple, or you're not doing much at all.

</comment></comment></comment></comment></comment><comment><USER15> 35 seems like a nice round number for people to self-sort into two bins: people that decided yes, it's time to stop trying, there will be no more sunrises... and then the other set, who think this is just ridiculous and roll their eyes that age has anything to do with it. And even if the second set is wrong, and there is actually something about getting older that actually slows us down or makes us worth less, it's a terrible idea to believe in it. I see no value in thinking about it. How would anyone improve their life by deciding some threshold has been passed? Sounds like a good way to speed up decay.

<comment><USER16> Here's how I look at it. It's not the decimal number of years since your birth, but the phase in your life that closes doors.

In tech, you constantly need to keep up to date on the latest technologies, read publications and go to conferences, because experience gets stale very fast. It's also easier (than in fields like medicine or law) for junior techies to get up to speed in experience, because they can skip the decades of now obsolete tech and fast forward to roughly where you are at. This is fine. It can be fun and it's definitely rewarding.

Then by your early thirties, three things change at the same time: you get promoted to a busier, more responsible position, you have small kids, and you get fat. The (waking) time you have for yourself shrinks from 8-10 hrs to about an hour if you're lucky. You can use that hour to study and keep up to date, to do something about that gut and exercise, or you're so tired you just want to relax. Pick one.

In my opinion, this is why middle aged people seem so lazy and boring.

<comment><USER17> Or you prioritize exercise, and keep your energy levels up. I'm 38. My pace now is higher than it was since I was 20, despite a 4 year old son.

The big difference is for the last 8 years I've put in 3-5 hours of hard exercise (powerlifting) every week before work. I wish I had more time, both for exercise and projects, but these days I can pull all nighters and walk into the gym 7am the following morning and set new personal records a couple of times a week, and keep my energy up all day, whereas at 30 I was worn down to the point where I couldn't walk up a flight of stairs without my knees hurting, and would collapse on the sofa in the evening and not have energy for anything.

Now I am in better shape than most of the kids half my age at my gym, and have early 20's body builders talking about how deep I can squat.

And I go home after work, play with my son, and put in time on my projects after he's in bed.

Sure, I had downtime when my son was smaller, but kids are not an excuse for all that long - when he was younger, I put projects aside and my only "me time" was focused on keeping fit, and I feel it paid off. Now, every day, he can do more stuff for himself, and wants to, and every new achievement means more energy left over for me.

<comment><USER18> I've heard this before about exercise. But exercise really tires my brain out - it feels like I can't think at all, like all my effort has gone and I'm just lathargic.

I'm not saying exercise is bad, and I do try and keep up with it, but am I the only one that has to think, "I can't exercise now or else I'll be too tired to code later."?

<comment><USER19> If I had to guess, you're exercising too hard. Try 10% of what your routine is and then put in some code. Increase it slowly.

The right exercise regiment is important. There's no need to push yourself hard the first three months if you're starting out. Try a couch to 5k run routine over six months.

</comment></comment></comment></comment></comment><comment><USER20> I'm working with a senior person off late. I'm in my late 20's. One of the things that he warned me against is hipster trends. These can really derail a good technically intensive career.

Anyone who is glamorizing hipster practices over genuine experience should go out and build a few embedded systems, a car, or a pacemaker, or a dialysis machine, control system for a nuclear reactor, or a better routing algorithm etc. If you are busy building <insert yet another MVC site here> and refusing to look and learn from other software domains, you will likely never work on any technically meaty projects ever and soon fall victim to age related discrimination.

Building great things requires experience. Its not about impatience, and that thing about 'fail quick, fail fast' \- 'quick iterations'. Some of the most significant work happens only at a slow steady pace. With proper planning, fore though about quality/stability of systems you are trying to build. Most importantly its about the seriousness and the impact of the problems you are trying to solve.

This takes time and with it you will age.

</comment><comment><USER21> In the west everything is more focused on the individual. I have to succeed at X. I deserve Y. I have to put my stamp on the world. etc. etc.

Not sure this is the best path to happiness.

<comment><AUTHOR> I tried talking about this in an earlier draft of my article but found it to be a deep rabbit hole. I'd like to explore this more fully in a future post. I feel that will be more divisive in it's reception :-)

<comment><USER22> If you take this task you have to do an incredibly deep dive of China vs USA. The US is the global leader primarily because of this focus on the individual and individual achievement. European countries compare somewhat poorly as they're _sort of_ focused on the individual but with huge dollops of government support/intervention. China however is completely unapologetic in its team driven focus and now has significant success to back up that this method can work. I'd be interested in someone who can contrast/compare there.

<comment><USER23> You have fallen into the trap a little ;) what does it mean to be a global keader? What are the true goals? Scrrr's comment was discussing happiness. Neither China nor the US do nationwide happiness surveys AFAIK.

</comment></comment></comment></comment><comment><USER24> I'm getting past 40 and I don't think the problem will necessarily be with me in the coming years as much as it will with employer bias. While you can keep up with the latest tech stuffs, some employers still don't want to pay for your experience or see your age as a liability vs being able to run a youngin' ragged.

One other thing I took away is that the author seemed that if you didn't make a big world impact no matter your age then you didn't succeed. I get into that mindset every once in awhile and feel rather down about it. Then I realize I'm raising my family, and while I may never be remembered for that amazing startup, I will be remembered by the ones that in the end truly matter.

<comment><AUTHOR> Yes, the definition of success is something I want to explore more fully. The media/tech portrayal of success is extremely 1 dimensional and results in a great deal of dissatisfaction and anxiety. Personally, I think it has less to do with big wins or press worthy outcomes and more about consistently applying oneself in a manner that you can be proud of. You make sacrifices to fit all the things that are important to you in life and that's fine. Let the public have their judgements. Ultimately, you only have to answer to yourself.

</comment></comment><comment><USER8> Top managers are traditionally drawn from the ranks of 50-somethings. Sure, that's partly due to a retirement age of 65, and partly a function of institutional ladder-climbing. But not just that. Someone in their 50s has a few decades of experience. Almost every situation or problem reminds them of something they've already seen or solved before. Intuition or gut instinct draws on experience, therefore it improves with experience.

Now, I wouldn't argue that someone in their 50s (or older) is prima facie better than someone younger. Just that they're not automatically worse.

p.s. You could argue that "too much experience" can be a bad thing, and blind someone to innovation. Although that's a good point I'd argue that the issue isn't too much experience, instead it's usually too narrow experience and/or too little ability to process it effectively.

<comment><AUTHOR> Yes, my grandpa actually said that when you are young you are freer creatively and take greater risks. This doesn't always lead to better outcomes but it gives you access to opportunities you wouldn't get later in life. Likewise, as you've pointed out, when you are older, your experience opens a different set of doors.

<comment><USER25> This echoes one of my favorite lines from Lawrence of Arabia, at the end, in Damascus: Lawrence of Arabia: Prince Feisal: "There's nothing further here for a warrior. We drive bargains. Old men's work. Young men make wars, and the virtues of war are the virtues of young men. Courage and hope for the future. Then old men make the peace. And the vices of peace are the vices of old men. Mistrust and caution. It must be so."

</comment></comment></comment><comment><USER26> China has the reverse of ageism: the Chinese tend to worship the old. A noted Chinese thinker commented that in China, the praise is "He is young but acts old." and in the West the praise is "He is old but acts young."

So in that environment, you can imagine how someone in his twilight years might have an easier time succeeding because people are more willing to listen to him. For the exception of people like Knuth, Lamport, Stallman, Pike, Thompson, etc. most of us in tech have our ears tuned to a much younger population. It might change as our industry gets older.

</comment><comment><USER27> My life finally kicked into gear when I was 38. NASA hired me.

Since then I finally realized my dream to travel around the world professionally as a developer, participated in multiple startups, wrote a well-received book, found the woman of my dreams, and changed possibly hundreds of lives.

Post-35 rocks!

</comment><comment><USER28> The key though from this story is this bit "Having only been allowed to complete his undergraduate degree, he spent decades doing whatever research and teaching came his way."

One the key differentiators is whether or not people are willing to continue learning. People who learn continue to be useful, people who stop learning eventually aren't. (useful that is)

<comment><AUTHOR> Precisely. I think his continued application and exploration are the biggest personal rewards. The opportunity that appeared was fortunate and the acclaim a happy byproduct.

</comment></comment><comment><USER29> I turned 35 a few months back and I've thought the past couple of years were my best yet, with more best to come. I had kids early-ish (my daughter is about to turn 12) and people would always say I missed fun stuff in my 20s. The way I look at it is my kids will be out of the house in my mid-40s while everybody else is getting older _and_ dealing with kids. I'm living in my favorite city, doing kickass things at work, getting less afraid to do more interesting/scary things all the time. I laugh in the faces of kids who think life ends after 29.

</comment><comment><USER30> As I move towards 30 at a somewhat surprisingly fast rate, I find that my life has changed. I don't _do_ stupid stuff like all-night coding sessions, because it produces bad work and a lousy morning. It always did, but previously the glory of the late night hack outweighed the lousyness of what I made. I've seen things again and again. I'm also fairly positive I am getting smarter, or at mentally more capable. I can conceptualize things today that simply were mentally out of reach for the 20 y/o me. I have a tremendous focus on self- improvement and learning, so I don't expect this to change a great deal in the metanarrative, but I expect to learn new types of things as I move forward with life and move away from learning certain kinds of details.

</comment><comment><USER31> Unfortunately, there are aspects to our culture that conflate personal value with success; that is, your value as a human being is based on your success. So it's easy to compare to the very visible milestones; Bill Gates and Mark Zuckerberg, etc. Or to compare to people we know personally; the successful start-up founder with a nice exit, the entrepreneur who got his lifestyle business off the ground and now pays the bills with it.

For me, it's easy to think "I am a failure" compared to these people, especially as the years pass and the number of successes I know increases, but I'm not "one of them". This is a severe error of conflating my external success with internal value.

I prefer to recall the old Taoist saying, "Work is done, then forgotten."

<comment><USER32> People actually compare themselves to Bill Gates and Mark Zuckerberg? That sounds rather sad to me to be honest.

<comment><USER33> Aim for the stars, land on the moon.

It's not the comparison that's sad, letting it define your worth is.

It's something I struggle with, almost 30 still struggling through my degree and working on minor projects. But personally when I look back a few years painfully grinding through life addicted to meth it makes today's small successes feel like a billion dollars.

</comment></comment></comment><comment><USER34> I'm almost fifty and I feel like I'm just hitting my stride. But then I felt that as I approached 30 and 40 too.

So yeah, you might not see it while in your 20s but nothing feels better than the combination of intelligence and experience. That is, the result of learning how to learn.

</comment><comment><USER35> Awesome read. I feel like I struggle with that issue as well. As I'm approaching my birthday next week, I keep thinking about the 18 year olds that made multi-million dollar Apps, and those 20 year olds that revolutionized the tech industry with one idea or another.

It's taking a lot of effort on my side to sit down and relax and realize that everyone on the planet has some achievements to show. Not just the "young". The best case for that is just browsing through Kickstarter projects. Yeah, sure, we're used to seeing people in the early 20s "changing the way everything works" but we also see the veterans coming back to make yet another shift.

<comment><USER15> I find it's easy to get over the million dollar teenager tech geniuses: Whether it's true or not, I just convince myself that more people have made more money by playing the lottery and winning. And then the lucky/smart/people-there-first that get their millions are just lottery winners and I forgive myself for being normal.

</comment></comment><comment><USER36> I used to look at those "guitar player wanted (under 30 only)" ads on craigslist when I was in my late 20s and be confused about why there was such a hard line on the people's rock band aptitude.

When I got to be around 35 I realized that if you want to be in a rock band, you need to be ok with working a lot for no money and spending your weekends in a van and those are things I just didn't want to do anymore and probably most people in their 30s have a tapering off tolerance for such things.

But for stuff involving computers? They age much faster than we do and will never judge us by our ages.

<comment><USER4> "Never trust anyone over 30" is a bit of a rallying cry among musicians. It's often attributed Bob Dylan, The Beatles, Jerry Rubin and a few others during the 1960's, but I'm not sure anyone really knows who said it first. I would guess that people are actually referencing that whole movement when they put it in the Craigslist ads rather than setting a hard and fast restriction.

Or maybe it's a bunch of 22-year-olds who just want to hang out with people their own age.

<comment><USER37> I wonder what kind of rationalization Bob Dylan, The Beatles, et al went through once they reached 30 years of age. Do they move the goal posts to not trusting anyone over 40? Or do they admit that they were youthful and wrong and state that untrustworthy people, at any age, are the only people that shouldn't be trusted.

<comment><USER38> Probably both.

The concept in the 60's at least was partly due to change in culture between the young "hippies" vs. the older "man". People were realizing in a big way that "the man" was lying to us... Vietnam War, etc.

Things haven't changed much in that regard, but the corporate/govt media "alliance" has become more sophisticated in dispersing/distracting such anger.

</comment></comment></comment></comment><comment><USER39> Do this: stop comparing yourselves to Steve Jobs for a moment and go ask your parents, spouse, good friends, and confidants if you are a person of value (forget about "success"), and to give you some examples. This should clear it all up for you.

</comment><comment><USER40> "Some people die at 25 and aren't buried until 75." Benjamin Franklin

<comment><USER41> "Most men lead lives of quiet desperation and go to the grave with the song still in them." Thoreau

</comment></comment><comment><USER42> "In 63 BC as a quaestor in Spain, Julius Caesar is said to have broken down and wept in front of a statue of Alexander the Great, realizing that where Alexander had conquered most of the known world at thirty, Caesar at that age was merely seen as a dandy who had squandered his wife's fortunes as well as his own."

</comment><comment><USER43> Very inspiring article. Being 24, almost half-way to 30, these past few months I've been thinking to myself "what have I really accomplished outside of work and school"? I think this is due partly to the high expectations I set for myself, but I also believe part of it is due to the current tech culture, where it's easy for those new to the field to misinterpret that if they aren't moving as fast as everyone else, they must be doing something wrong.

I'm coming to understand that everyone is unique, one's career/life progress is no better than another's. Thanks for the refreshing perspective OP.

<comment><USER44> Half-way to 30 is 15.

<comment><USER43> Sorry, meant to imply half-way through my 20's.

</comment></comment></comment><comment><USER45> As a flip side, life can also end tomorrow, for anyone of us.

</comment><comment><USER46> The race is long and, in the end, it's only with yourself. --Mary Schmich

[http://www.chicagotribune.com/news/columnists/chi-schmich- su...](http://www.chicagotribune.com/news/columnists/chi-schmich-sunscreen- column,0,4054576.column)

</comment><comment><USER47> I'm 35. I've worked for a couple small companies and I am at a startup now. I certainly hope my life doesn't end now. I certainly would love to get something started but I feel I'm old enough where I understand the value of family and sane time limits. Looking back I could see myself taking a shot in the dark on something but I'm not necessarily disappointed that I didn't. I've learned so much and continue to each day. If you want to be a billionaire by 25 you'll kill yourself. The odds are so astronomical it's almost funny. I say spend your years learning what you can, then start something when you have savvy and perspective. But that's just me.

</comment><comment><USER48> I am 30 and my career is just taking off :) I do very much hope I have more than five years in me

</comment><comment><USER49> Freud wrote his "Interpretation of Dreams" when he was 43.

Colonel Sanders started franchising of KFC at 65.

More at [http://en.wikipedia.org/wiki/Late_bloomer](http://en.wikipedia.org/wiki/Late_bloomer)

</comment><comment><USER50> Great reminder. I am turning 32 early next year and started teaching myself programming this year. Sometimes doubt creeps up on me and makes me feel like I am wasting my time, but stuff like this helps. Onward!

<comment><USER39> Yes, just keep going!

I started programming relatively late (at age 26), after becoming unemployed during the recession, for a govt agency in a small town in Florida. But now, at my current age of 30, I have a very lucrative job working for a major movie studio in LA as a software engineer. I have a lot of ambition at 30 than I ever did at 20 and that has been motivated by my failures. I might of missed my "startup years" and hacker culture in general but I'm definitely on track for big things. I hope to soon finally settle down and raise a family as well.

<comment><USER51> Nice! I'm just starting out as a softie too, also due to the economy, did you start out with the web too? What language, how long until you found the job that kickstarted your career?

</comment></comment></comment><comment><USER52> Age is just a number. What you do with yourself each day is what counts.

</comment><comment><USER53> Life does not end after 35, but your energy levels and stamina will be lower than in your younger years. Yes, even if you exercise and eat healthy (indeed, you'll have to stay fit just to keep going). Moreover, with age (hopefully) comes experience, and with experience may come a jaded view of society that can kill your dreams on birth. Qohelet wisely stated that "For in much wisdom is much vexation, and he who increases knowledge increases sorrow."

I hope you will be among the exception.

</comment><comment><USER54> For a start-up it's not age that matters but risk aversion. You need to be happy/able to take on the risks, which are mainly financial. However, there will typically be a relationship between age and risk with the most risk averse period in your 30's and 40's when you are probably having kids. So if you don't feel you succeeded in your 20's and early 30's, hang on in there 'cause you'll get another opportunity later in life.

</comment><comment><USER55> i'm 27 years old this year, and i graduated recently with a business undergrad degree. i've tried my hand at doing a startup throughout my undergraduate degree but failed, and if i'm being completely honest, i felt like i learned very little from that experience as i was not a technical founder. at 28 next year, i will be returning to school again for a computer science bachelor's and frankly, this 35 year old threshold keeps coming up in my head.

years ago i set myself an ambitious goal of being a self-made millionaire by the time i'm 30, and a billionaire by 40. it's crazy talk to most people, but it was a goal i set for myself. obviously, it doesn't seem that plausible now - it's really more of a fantasy than anything at this moment but still... i find myself feeling old and having wasted many years of my life.

this blog post lifted my spirits a little. i feel that if i begin working really hard now and make the next few decades of my life extremely, exceptionally and extraordinarily productive, i can probably still achieve enough to make up for the last few unproductive years of my life.

<comment><AUTHOR> Thanks for sharing your experiences. I feel this definition of what it means to be successful is something I need to address properly in a future post. Much of my anxiety in the matter stemmed from setting similar ambitions to your own. I don't think it was wrong of me to set these benchmarks, but today I find myself questioning the "why" more and more.

Increasingly I try to look at success as a more fluid notion. I feel it has many dimensions that constantly evolve with my changing world view and life. It can be valuable to set goals but I think it's just as important not to be myopic to the rest of the world at their expense.

I feel a lot of it comes down to attitude. My grandpa would still have been a happy man had he not had the opportunity to pioneer medical science. Prior to his 60s, his curiosity and willingness explore meant he had a fulfilling life. He wasn't expecting and waiting for a big success. He was focused on what he was able to do and made sure he did it to the best of his abilities.

These are some quick thoughts on a bus and I apologise if it seem like I'm being preachy. I'm only 29 and very much still figuring it all out. I dare say I will be doing that until I die. Please share your thoughts, especially if they run counter to what I've written.

</comment></comment><comment><USER56> I'd like to think that if you have an open mind and are willing to "think young", I think experience can provide you with a greater reach to build what you want. Young people have a belief everything is possible but may not always have the means. When you are older, you typically have more means but are too grounded in reality of what's possible.

Age is a number not a limitation.

</comment><comment><USER57> Very nice article, it resonated with me. It seems that talented people have a great burden, which comes in form of often asking yourself "have you done enough with all the talents you have?". It seems to be quite common, and it even made it to the Bible (I think it is called story about three servants). Funny that money in that story is called talent :)

</comment><comment><USER58> _His advice to me: Don 't be in so much of a rush. Be easier on yourself._

If you connect with this idea, you may want to check out the book _The Inner Game of Tennis_ : [http://www.amazon.com/The-Inner-Game-Tennis- Performance/dp/0...](http://www.amazon.com/The-Inner-Game-Tennis- Performance/dp/0679778314)

<comment><AUTHOR> Thanks! I'll look into that. I've been trying to explore this topic in other domains recently. I find sports coaches have done a great deal of exploration into the effects of personal attitude especially in managing one's emotional reactions to outcomes.

</comment></comment><comment><USER59> Thanks for sharing and I always have this thought at the back of my mind. I am 36 and launched my first serious part-time(gotta pay bills) startup last Dec after working on it for over a year. This was after 2 attempts half-ass ideas with no solid business plan. This article definitely boosts morale.

</comment><comment><USER60> What a great article. I loved the Chinese idiom too (or whatever you call those four-character things). It's funny, I was watching a video on this today: [http://www.wimp.com/getfit/](http://www.wimp.com/getfit/)

That made me feel a bit more realistic about life. :-)

<comment><USER61> Those idioms are called "chengyu" (成语) and there are hundreds (or thousands) of them. Some of them come from ancient Chinese stories and poems and are pretty allegorical in nature; others, like (seemingly) the one mentioned in the article, are self-explanatory (to a Chinese speaker).

</comment></comment><comment><USER62> end after 35? i am touching 39 and getting ready to start my real startup. My partners are all few years older than me. I never wanted to be in a job and have been running my services company for the last 12 years. While the current business is doing fine, past few years I had this increasing urge to break out from the services mould and "create" something of our own. Couple of months back I took the decision to take this plunge. We have structured our existing business so that it would continue to run in the hands of my partners while I am venturing out and doing our thing. So yes, to outsiders or even friends and family it might feel a little late to start out afresh I am all loving it and living every moment of it!

</comment><comment><USER63> Great story.

I'm 36 and things only seem to be getting better for me, and I know things are only going to get way better. My greatest achievements are ahead of me, not behind me.

Sounds cheesy but it's all in your outlook. Good on you gramps for teaching us yet another lesson in that.

</comment><comment><USER64> I wish I could take this amazing advice for granted. I'm in my late thirties (36) and still can't afford having a baby. As you may guess, one cannot wait till his sixties for that...

So, it really depends on what's the meaning of "successful" to you :)

<comment><USER65> I know it is trite to say, "No one can afford having a kid." but it's really the truth.

For me, sure daycare, toys, and food aren't putting me in the poorhouse, but there is no way I can bankroll everything I think my kids deserve.

<comment><USER38> Disagree for two reasons. One, kids deserve little but a loving home and a few educational toys. Giving them everything they want is recipe for building a little monster.

Two, for beter or worse, govts subsidize families to the detriment of the single. When the wife and kid arrive, you'll get a ~$500 a month tax break, enough to pay for another bedroom and diapers. The total cost is much less than I'd imagined, especially if you avoid buying all the junk thats expected.

<comment><USER65> I get where you're coming from, but I'm thinking like, college, multi-lingual private schools, a dad that takes time off of work for the sake of time off of work.

Toys are nice too, but we're totally covered. This kid won't know boredom until he's 60.

</comment></comment></comment></comment><comment><USER66> If you're turning 30, you're entering your fourth decade, not your third.

</comment><comment><USER67> If you believe you can, you can. If you believe you can't, you can't.

<comment><USER13> (this) === true;

</comment></comment><comment><USER68> In terms of start-ups, career etc I don't think it's impossible to do it in your 40s, but I'd say you're more explicitly aware of the sacrifices involved and typically have more to lose.

</comment><comment><USER69> "He recently Skyped me about co-patenting a new method of microwave cooking."

PATENT TROLL! ALERT APPLE, SOMEONE'S TRYING TO GET IN THEIR MARKET!!! WE DON'T APPROVE OF INNOVATION AND PATENTS HERE ON HN

</comment><comment><USER70> People are too obsessed with age. What is the point of telling yourself you CAN'T do something because an arbitrary counter reached an arbitrary point? Useless beliefs are what will limit you.

</comment><comment><USER71> The immigration process delayed the start of my startup and I'm sure many others are facing that too. Started at 28 even though I'd been in the US since I was 19.

</comment><comment><USER72> Actually, maybe I am being short-sighted ... but what I get out of this article is that his grandfather WOULD (could) have been just as 'successful' as he was in his 60s much earlier in life if World War II and Mao had not ruined possibilities for his generation.

If he had been allowed to do research from his early 20s wouldn't it still have been possible for him to be just as successful at it? Maybe his 30s would have been his heavy hitting decade?

In general maybe we all get about a decade of heavy hitting and it just happens earlier or later for some? :P

<comment><USER73> The point is that you can still be successful after your 30s.

<comment><USER72> Sure, but the article does make this point as well:

>My grandpa had no choice but to wait a long time for his opportunity. It's likely he would have achieved even more had be moved to the West.

</comment></comment></comment><comment><USER74> I like that wisdom and patience mattered a lot to him.

</comment><comment><USER75> A good life, yes. After that its mostly just changing diapers, paying mortgages , chatting about 401Ks, and dealing with loud music.

</comment><comment><USER76> If that were the case I would be dead just about now. And I haven't even done half the things I would like to before I die.

</comment><comment><USER77> Add me to the list of people who sometimes feels this way. This is the most inspirational commentary I've read on HN.

</comment><comment><USER78> Thanks, I needed this reminder.

</comment><comment><USER79> Yes. On the other hand, I'm quite enjoying my existence as a zombie...

</comment><comment><USER80> PG - he's a good example that life doesn't end after 35:)

<comment><USER81> "But I don't expect to convince anyone (over 25) to go out and learn Lisp" <\--- [http://www.paulgraham.com/avg.html](http://www.paulgraham.com/avg.html)

</comment></comment><comment><USER82> Real Stories

->Chinese politics hampered innovation

->If you plan to change the world in Academia expect to do it in your 50s

</comment><comment><USER83> Yeah. I'm dead.

</comment><comment><USER84> No.

Of course not. C'mon.

Quite an annoying headline.

</comment><comment><USER85> I worked as a manager at a major semiconductor company in Silicon Valley for many years. I interviewed thousands of candidates, many of who were older than me.

I noticed that older engineers seemed to bifurcate into two groups: the ones who were curious about everything, and the ones who stayed in their box.

The ones who were curious about everything remained great engineers. They tinkered with new technologies, read books about software project management, wrote cool little programs in unusual languages like Haskell or Scheme, etc. These guys were invariably great engineers, and their experience was just icing on the cake.

The ones who stayed in their niche of writing x86 assembly, COBOL applications for mainframes or writing the same class of network drivers for Linux for fifteen years were usually awful.

I don't doubt that there is actual ageism out there. However, when I did interviews I never cared. However, I also noticed that the "lazy engineers" hadn't really done anything in their career to expand their skill set beyond the minimum their employers required them to do, and I could see why they were not employable. The older "curious, passionate" engineers I hired worked out awesome.

<comment><USER13> The type of people you describe exist not only in the programming field, but in every single walk of life. We simply notice more because our field changes so quickly.

There will always be people who remain curious throughout their lives, as there will always be people who stay close to what they know because they believe it to be safe.

</comment></comment><comment><USER86> From the title I expected a wishy-washy, pseudo-inspirational blog post and instead my entire concept of success was shaken up and realigned. Great post.

<comment><AUTHOR> Thanks, that's kind of you to say. I admit, it's a bit "link-bait" but my other attempts at a title were either too cryptic or long winded.</comment></comment>


Reverse Shell Cheat Sheet - <AUTHOR> http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet

<comment><USER2> "... wrong version of netcat"

There's only one true netcat. Although there was at least one revision of the original by the author to add some minor fixes and the hexdump feature, as I remember it, the "doexec()" or "-e" feature was in all versions. But I could be wrong as I did not start using the program before he had already revised it once. Any HN readers out there who were using netcat from the beginning?

To enable doexec() you need to define an aptly-named macro called "GAPING_SECURITY_HOLE". Original netcat does not have -e by default.

IMO, netcat is a beautiful, elegant example of useful code, fitting in a single source file, well-commented, with a good sense of humor, and able to compile with almost no modification on all varieties of UNIX from the mid 1990's to today. That ability to compile quickly and smoothly, year after year, is what puts netcat among my favorite programs.

I cannot say the same for most of the netcat imitations that followed the original, which are usually loaded with needless additional "features" not to mention less portable.

</comment><comment><USER3> I would recommend socat it supports IPv6 and SSL for reverse shells.

</comment><comment><USER4> What is a reverse shell?

<comment><USER5> Typically, when you open a secure shell (SSH) connection your client is connecting to a SSH server running on the target machine. A reverse shell occurs when the server initiates a connection with a client that is listening - for example, you have access to a shell to run commands on a target computer (usually through a command injection vulnerability in a website). This means you don't have a full shell - just the ability to run arbitrary commands.

You open a reverse shell which instructs your target computer which is running a SSH server to connect to your client, which allows you to now have a full featured shell at your hands.

</comment></comment><comment><USER6> A pen testing article that advocates using xhost?</comment>


The Placebo Phenomenon - <AUTHOR> http://harvardmagazine.com/2013/01/the-placebo-phenomenon

<comment><USER2> From the article: "Kaptchuk . . . doesn't argue that you can simply 'think yourself better.' 'Sham treatment won't shrink tumors or cure viruses,' he says."

That's an honest statement and an important point, because many publications with Kaptchuk's name on them are overinterpreted to reach the conclusion that there is a "real" placebo effect that can actually cure disease. In fact, there is no strong evidence of that at all.

This issue has come up often enough on Hacker News that I have gathered some links that are helpful for understanding what placebo effects are all about. Some of these online links cite quite a few useful scholarly publications.

[http://www.sciencebasedmedicine.org/index.php/michael- specte...](http://www.sciencebasedmedicine.org/index.php/michael-specter-on- the-placebo-effect/)

"In other words, the best research we have strongly suggests that placebo effects are illusions, not real physiological effects. The possible exception to this are the subjective symptoms of pain and nausea, where the placebo effects are highly variable and may be due to subjective reporting."

Numerous press releases on the Web point to publications co-authored by Ted Kaptchuk, the main person profiled in the article kindly submitted here. Although Kaptchuk has the academic title of an associate professor of medicine, he has no medical training or credentials or clinical experience in independently verified patient care.

[http://www.sciencebasedmedicine.org/index.php/dummy- medicine...](http://www.sciencebasedmedicine.org/index.php/dummy-medicine- dummy-doctors-and-a-dummy-degree-part-2-0-harvard-medical-school-and-the- curious-case-of-ted-kaptchuk-omd/)

[http://www.sciencebasedmedicine.org/index.php/dummy- medicine...](http://www.sciencebasedmedicine.org/index.php/dummy-medicine- dummy-doctors-and-a-dummy-degree-part-2-2-harvard-medical-school-and-the- curious-case-of-ted-kaptchuk-omd-cont-again/)

The article submitted here today, as befits an article from Harvard Magazine, is pretty good about giving the point of view of researchers who disagree with Kaptchuk, and is good about giving his updated opinion on issues he has changed his mind about. The statements found in some earlier articles posted to Hacker News, such as "Recent research demonstrates that placebo effects are genuine psychobiological phenomenon [sic] attributable to the overall therapeutic context, and that placebo effects can be robust in both laboratory and clinical settings" are untrue.

[http://theness.com/neurologicablog/index.php/the-rise-and- fa...](http://theness.com/neurologicablog/index.php/the-rise-and-fall-of- placebo-medicine/)

"Despite the spin of the authors – these results put placebo medicine into crystal clear perspective, and I think they are generalizable and consistent with other placebo studies. For objective physiological outcomes, there is no significant placebo effect. Placebos are no better than no treatment at all."

<http://www.ncbi.nlm.nih.gov/pubmed/20091554>

"We did not find that placebo interventions have important clinical effects in general. However, in certain settings placebo interventions can influence patient-reported outcomes, especially pain and nausea, though it is difficult to distinguish patient-reported effects of placebo from biased reporting. The effect on pain varied, even among trials with low risk of bias, from negligible to clinically important. Variations in the effect of placebo were partly explained by variations in how trials were conducted and how patients were informed."

Fabrizio Benedetti, a co-author of one of the most cited papers who is also a medical doctor, sums up his view this way: "I am a doctor, it is true, but I am mainly a neurophysiologist, so I use the placebo response as a model to understand how our brain works. I am not sure that in the future it will have a clinical application."

[http://www.brainsciencepodcast.com/storage/transcripts/year-...](http://www.brainsciencepodcast.com/storage/transcripts/year-5/77-brainscience- Benedetti.pdf)

To sum up, despite claims to the contrary that are often covered by the lay press, the best-considered view among medical practitioners with clinical experience is that the placebo response has no ethical clinical application.

See also:

[http://www.sciencebasedmedicine.org/index.php/does- thinking-...](http://www.sciencebasedmedicine.org/index.php/does-thinking- make-it-so-cam-placebo-fantasy-versus-scientific-reality/)

<http://www.skepdic.com/placebo.html>

[http://www.sciencebasedmedicine.org/index.php/revisiting- dan...](http://www.sciencebasedmedicine.org/index.php/revisiting-daniel- moerman-and-placebo-effects/)

And of course see LISP hacker and Google director of research Peter Norvig's article "Warning Signs in Experimental Design and Interpretation" on how to interpret scientific research.

<http://norvig.com/experiment-design.html>

<comment><USER3> Isn't focusing on the placebo effect ignoring the broader and more important question of the impact of state of mind on the body's ability to fight disease and heal itself? Once that question is well understood I imagine the understanding of notions like the placebo effect will simply fall out.

<comment><USER4> A rather deep research and clinical practice on working with the mind to cure the body has been conducted by John E Sarno.

The Mindbody Prescription [1] and The Divided Mind [2] are two of his books.

My interest in this started with the motivation to get some relief for the RSI-like symptoms and it's been part of my recovery for a few weeks together with the improved ergonomics.

[1] [http://www.amazon.com/The-Mindbody-Prescription-Healing- Body...](http://www.amazon.com/The-Mindbody-Prescription-Healing- Body/dp/0446675156/ref=pd_bxgy_b_text_y)

[2] [http://www.amazon.com/The-Divided-Mind-Epidemic- Disorders/dp...](http://www.amazon.com/The-Divided-Mind-Epidemic- Disorders/dp/0061174300/ref=sr_1_1?ie=UTF8&qid=1356217049&sr=8-1)

</comment></comment></comment><comment><USER5> I get very uneasy reading articles that start to pitch "value of caring" and someone who "didn't doubt the value of acupuncture" against "western medicine" and "western doctors" who are portrayed as stubborn and close-minded.

<comment><USER6> Agreed. "Western medicine" only exists as half of a false dichotomy.

If the doctors so labeled really were stubborn and close-minded, then we would still perform blood-lettings and chew tree mark (instead of just the active ingredient). Instead, these doctors are _more_ open to new information; they're just willing to also incorporate the evidence _against_ efficacy so often ignored by "alternative medicine" practitioners.

<comment><USER7> That's not 100% true. It's only really the case in patent protected medicines.

New drugs undergo testing, to get FDA approval. New surgical treatments don't. New (and old) surgical treatments and old drugs aren't lucrative enough to warrant real testing. Surgeons will claim it's for ethical reasons, or because they just know better, or that they are artists who can't be constrained by the laws of statistics, but it's simply a lack of regulations and / or incentives.

<comment><USER6> _That's not_ 100% _true._

Correct. That's why I expressed it as a relative position instead of making any such absolute claims.

</comment></comment></comment></comment><comment><USER8> My theory: many disorders are stress-related. Receiving care - even if it's a sham - relieves stress.

Going deeper: we human animals have limited physiological resources. Are they channelled into healing or surviving? If you are in a dangerous environment, then it's survival first, healing second. Therefore, a _sense_ of safety will promote healing.

A placebo provides just that.

</comment><comment><USER9> If the placebo effect is superstition, as most comments in this thread seem to imply, how come pharmaceutical companies are finding it increasingly hard to beat?

[http://www.wired.com/medtech/drugs/magazine/17-09/ff_placebo...](http://www.wired.com/medtech/drugs/magazine/17-09/ff_placebo_effect?currentPage=all)

<comment><USER6> Basically, the "effect" is the margin of error under which variations in self- healing, self-reporting, and researcher bias obscure actual effect.

As we address more and more of the "big" pharmaceutical effects, that only leaves the very minor ones or big ones that only apply to increasingly thinner edge cases.

If the human body was software, one might say that the pharmaceutical companies have debugged it to the point that they have little left to find other than kilobyte-sized memory leaks. Beyond that, the vast majority of the blue-screening issues remain PEBKAC errors.

</comment></comment><comment><USER10> On a tangent, I think some of these massive open online courses going around nowadays might act as a form of what Rory Sutherland terms "placebo education". Education where you don't necessarily learn things but that gives you the impression that you did, resulting in extra confidence leading to extra success later on ;-)

<comment><USER11> If you continue this line of thinking, putting items on todo lists and checking them off is a "placebo completion". Getting a fancy title instead of a promotion or raise is a "placebo advancement".

<comment><USER10> A placebromotion, if you will.

<comment><USER6> Not to be confused with the hypophone, _bromotion_ , wherein the new title is accompanied by a round of high-fives and concludes with a keg stand.

</comment></comment></comment></comment><comment><USER12> > Companies spend millions of dollars and often decades testing drugs; every > drug must outperform placebos if it is to be marketed. "If we can identify > people who have a low predisposition for placebo response, drug companies > can preselect for them," says Winkler. "This could seriously reduce the > size, cost, and duration of clinical trials…bringing cheaper drugs to the > market years earlier than before."

Wat? Is that a typo? Shouldn't it be "preselect against them"? .. or better still, include predisposition to placebo response as a variable?

<comment><USER13> I think what he means to convey there is that a person with a low predisposition would be affected by the actual content in the drug than just taking any pill.

Including predisposition to placebo as a variable would just increase the number of experiments needed. Instead, if you could eliminate a variable from the system by preselecting for people for whom the variable doesn't apply, it would reduce the time to experiment

<comment><USER12> > Instead, if you could eliminate a variable from the system by preselecting > for people for whom the variable doesn't apply, it would reduce the time to > experiment

... _if_ the goal is to reduce the time to prove that your drugs work. That goal is different from making drugs that work.

For an analogy - in order to prove that I'm smart, I must compete with those others who're known to be smart, not with those who've (by some agreed on measure) demonstrated a lack of the required aptitude.

Even _this_ article keeps emphasizing throughout that Kaptchuk is at Harvard, he got praise from scholars, etc.

So the real proof of a drug's worthiness ought probably to be that it works _over and above_ the placebo effect shown for those who respond very well to placebos. That would provide more data to help evaluate the risk of a drug to a patient, given placebo predisposition can indeed be measured. That would be important particularly if the drug has significant unwanted side effects.

edit: And fwiw, preselecting for those who would respond well to placebos would _also_ reduce the time to experiment .. but, I think, it would do so in the right way.

</comment></comment></comment><comment><USER14> The placebo/nocebo effect appears to be simply an example of the confirmation bias, a couple of other psychological biases and various other known statistical effects.

 _> False impressions of placebo effects can be produced in various ways. Spontaneous improvement, fluctuation of symptoms, regression to the mean, additional treatment, conditional switching of placebo treatment, scaling bias, irrelevant response variables, answers of politeness, experimental subordination, conditioned answers, neurotic or psychotic misjudgment, psychosomatic phenomena, misquotation, etc. These factors are still prevalent in modern placebo literature. The placebo topic seems to invite sloppy methodological thinking. Therefore awareness of Beecher's mistakes and misinterpretations is essential for an appropriate interpretation of current placebo literature.

Beecher retrospectively attributed the improvements in the placebo groups to effects of the placebo administration. However, on the basis of the published data, in all of these trials the reported outcome in the placebo groups can be fully, plausibly, and easily explained withoutpresuming any therapeutic placebo effect. The published data of these trials make it quite obvious that there were a variety of reasons for the reported results, such as spontaneous improvements, additional treatments, methodological artifacts, etc. In some of the original trial publications even the authors themselves had explicitly written that there were no placebo effects._

Source: The powerful placebo effect: fact or fiction?, GS Kienle, H Kiene, Journal of clinical epidemiology, 1997 ([http://ukpmc.ac.uk/abstract/MED/9449934/reload=0;jsessionid=...](http://ukpmc.ac.uk/abstract/MED/9449934/reload=0;jsessionid=X21nexJpR1ki4fO6WJNg.0))

 _Placebo interventions were again not found to have important clinical effects in general but may influence patient-reported outcomes in some situations_

Source: <http://en.wikipedia.org/wiki/Placebo#Clinical_utility>

The effect, apparently, doesn't exist.

<comment><USER15> > _Placebo interventions were again not found to have important clinical > effects in general but may influence patient-reported outcomes in some > situations_

But doesn't this matter?

As it says in the article of course, feeling better when you're not actually better can be dangerous for potentially lethal ailments; but in diseases that don't kill you, feeling better means a lot.

</comment></comment><comment><USER16> Placebo in a nutshell: inject someone in pain with morphine. do it repeatedly over time. once, without telling them, inject them with saline instead. their brain will respond as if it was morphine and continue to block the pain.

The whole "people believing X so X happens" is a perverse co-opting of the placebo title.

And, just for fun, if you give a patient naloxone (opiate blocker) before giving them the saline, their brains won't interpret it as morphine. naloxone blocks placebo response. in case you missed that, read it again: naloxone blocks placebo response. (and once more: placebo means a very narrow thing. it means your body responds as if it biologically received the medicine it had been receiving -- it does _not_ mean any new age "think your way to better health" mumbo jumbo).

<comment><USER17> > inject someone in pain with morphine. do it repeatedly over time. once, > without telling them, inject them with saline instead. their brain will > respond as if it was morphine and continue to block the pain.

I must admit I have a very hard time believing this exact claim as written. Do you have any sources?

<comment><USER18> Some related studies:

'Partial antagonism of placebo analgesia by naloxone' (<http://www.ncbi.nlm.nih.gov/pubmed/6308540>) -- no actual morphine was ever adminstered, only a regimen of saline injections, whose placebo effect is apparently achieved by the release of endogenous opioids.

'A comprehensive review of the placebo effect'([http://pharmacology.ucsd.edu/graduate/courseinfo/placebartic...](http://pharmacology.ucsd.edu/graduate/courseinfo/placebarticle.pdf)): "placebos have actual biological effects on the brain and body and are more than response biases."

<comment><USER19> In case you missed it, endocannabinoids (CB1 agonism, in particular) appear to account for the other half of placebo analgesia:

<http://www.nature.com/nm/journal/v17/n10/full/nm.2435.html></comment></comment></comment></comment>