Trump Opens New Front in His Battle with China: International Shipping - <AUTHOR> https://www.nytimes.com/2018/10/17/us/politics/trump-china-shipping.html <comment><USER2> This is a hugely consequential change and one that I welcome. It's cheaper for me to order a halloween costume, remote control, etc. from Aliexpress or ebay and have it sent to me via ePacket than the SHIPPING for a domestically purchased product. In other words, the product + epacket is less than just getting a product from near by warehouse to my doorstep. This is doesn't make sense as it's the US subsidizing Chinese sellers to the detriment of US sellers, inside of the US...

I understand the desire for cheap goods and I find the tariffs questionable but this change is much needed imho.

</comment><comment><USER3> Good move. It is ridiculous now, you can buy headphone extension cable at $0.2 with Free shipping from china on ebay. This madness has to stop.

On the other hand I have zero doubt Chinese sellers will try to scam the system by first shipping to another cheap country on the list.

</comment><comment><AUTHOR> Interesting how this affects companies like Etsy, eBay and Alibaba. Is there an opportunity with 3PL startups to capitalize on this big change.

</comment><comment><USER4> I knew that if I waited long enough, Trump would accidentally do something I approve of. China isn't the poor, little developing nation it was in 1969, and no longer require our subsidies. Along with that, the treaty also subsidizes the pollution of cargo ships to send us our cheap shit, as well as subsidizing the export of our manufacturing pollution.

Subsidy abstractions aside, were I an owner of a business that ships domestic, I'd be asking, "where's _my_ cheap shipping?" In summary, I'm really surprised the treaty has lasted this long.

<comment><USER5> > "where's my cheap shipping?"

The answer to your question lies with the repeal of the Postal Accountability and Enhancement Act of 2006. You may recall, the Post Office's financial problems all came to light in about 2007. There is a cause/effect relationship between this particular law, the USPS' problems, and higher postal rates.</comment></comment>


How and Why Mixpanel Switched from Erlang to Python - <AUTHOR> http://code.mixpanel.com/2011/08/05/how-and-why-we-switched-from-erlang-to-python/ <comment><USER2> I might get flamed/downvoted for this, but where's the content of this article? Apart from some vague tropes ("Erlang is bad at string processing!" "We need scalability, and that means async Python", "Pick the right Python libraries!"), there's really nothing interesting about the implementation details, especially considering such a attention-grabbing headline (to put it nicely).

What _specifically_ was bad about the Erlang code? Isn't this just saying that if nobody in your company really understands a language, don't use it?

This is more about the technical competency of a specific company than general technical issues. Or, to put it bluntly, it's more "Mixpanel sucks at Erlang" than "Erlang sucks". Don't get me wrong, I'd be really, really interested in a good analysis why in this case Erlang was the wrong choice, but this article didn't even get close to anything _technically_ interesting (Even with the ubiquitous requests/s graph).

<comment><USER3> The thing I learned from the article is that they return 0 for failure and 1 for success. And then, instead of fixing this meaningfully, they added a bit of sticky plaster that enables you to ask for verbose info when you get a 0.

I can't help but think when I spot such code smells that perhaps the issue runs deeper. So when I then read about Erlang vs Python I also can't but think that I bet it's not the language choice that is the problem.

I don't think I fully understood that I judge code at first sight like that, but I clearly do.

<comment><USER4> Yes, that's a very odd thing to do. More so when you have a better model -- HTTP response codes -- right in front of you!

<comment><USER3> HTTP response codes don't cover all errors though. They're good at describing problems with HTTP communication, but aren't adequate for describing non-HTTP application errors.

Additional error indicators are fine (much better than overloading the meaning of HTTP codes), but they should be sane, meaningful, consistent with developer expectations, etc. It's that part where the implementation is weird.

I looked at their site and saw they're hiring. Being a problem solver I tend to think "I can fix your problems, let me help", so I looked to see if they need an architect or chief scientist or something... but when the architect position ( [http://mixpanel.theresumator.com/apply/Eoh3qJ/Solutions- Arch...](http://mixpanel.theresumator.com/apply/Eoh3qJ/Solutions- Architect.html) ) has the minimum experience of "Student (College)"... I just face palm and am not surprised by any of this - I bet their definition of solutions architect is really just sales support.

I think they just need to raise the calibre of their backend, the signals here (this article, the error codes, the job advert) are not things that inspire confidence in the product. As the main thing that they do is crunching data I'm taken aback that even their backend engineer position advert ( [http://mixpanel.theresumator.com/apply/CiOzuu/Software- Engin...](http://mixpanel.theresumator.com/apply/CiOzuu/Software-Engineer- Backend.html) ) doesn't even have the word algorithm in it, but maybe they have a wizard who does that for them.

Am I being harsh? Probably... I don't know the guys there and I may just have a very narrow reading of too little info to make such assumptions, so to be a bit balanced (I'm British, it's what we do), they clearly "get" reporting needs.

Their interfaces are show that they understand the kind of thing people want to see. I was impressed by those, I've done reporting a lot, and so many times you see reports that forget that the reader is trying to understand something. So it's refreshing to see reports that appear to remember that.

<comment><USER5> I usually return Bad Request with an explanation/verbose error in the body, for errors which don't fall under the other codes. It works pretty well.

<comment><USER6> Doesn't Bad Request usually mean malformed HTTP request data? I find myself using Forbidden when users send me bogus/invalid data, as its a more generic 'No', and a body with more information never hurts.

<comment><USER5> It does, but I consider it more of an indicator that the request (including its content) was somehow invalid. I reserve Forbidden for cases where the client needs to authenticate.

EDIT: Actually, I see that the spec says that authentication should do nothing to fix a Forbidden error, so you might be right. Unauthorized is for authentication.

Perhaps this is what buro9 means about overloading error codes, but the rest map so cleanly on the errors that it's hard to ignore them. You can't very well return 200 and say "There was error X" in the response.

Maybe we should use 418?

<comment><USER3> If in doubt, I'm a Teapot serves well ;)

What's the HTTP error code for "ambiguous input, please select from one of the following unambiguous suggestions"?

Just returning an error isn't helpful, you want to help them resolve it. So you want to return something, and this isn't success (in an application sense) as you didn't do what they asked of you, you're doing something else. But it _IS_ success in HTTP terms, the request made it to the server, got processed fine, and came back fine.

Application codes != HTTP codes.

<comment><USER5> It's debatable whether the application is entirely separate from the RPC layer. For example, when writing a RESTful API, would you really want the server to respond with 200 for everything, even for "Resource not found" errors?

In web applications, HTTP codes and application codes are quite integrated. Of course, you do need some extra error info, as HTTP error codes can't possibly cover every error in your app, but 422 with extra info as a catch-all sounds like a reasonable compromise.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Pretty harsh response to a post from an intern, dudes and dudettes.

Yeah, the erlang server code was pretty gross. It was one of the very first things written when we started Mixpanel over 2 years ago, and it's only been updated a few times since then.

I feel like the big thing you guys are missing is how little _time_ we have. It's not like we don't know when we have bad code, or we don't realize that we made mistakes in the initial server design - we just have a million things on our collective plate. Fixing a very simple server - (accept request, validate json, put on queue) that is doing its job okay hasn't been a high priority thing.

When this code was written, Mixpanel had zero customers and we weren't sure what we were building yet. In that regard, Erlang has been a rock. We've barely had to touch it during the rampup from 0 to thousands of requests per second.

Now that we have the manpower, and we've learned what we really need, we can rewrite it to make things easier on ourselves. If we can get acceptable performance in python, there is no reason to use erlang.

I think there's some merit to the other complaints (error codes, etc), but that's another symptom of this thing being written so long ago. We want to improve things incrementally (and backwards-compatibly) for now, but it will be dramatically simpler for us to make changes to the server now that it's written in python.

Ultimately, we have skeletons in the closet, just like the rest of you - I'm sure _all_ of you have some bad code in production somewhere. Now we're saying "Look, we're getting rid of our skeletons!" and you guys are like "OMG WHY YOU HAVE SKELETONS" instead of "sweet, no more skeletons".

<comment><USER8> Seriously, it would be interesting to see your code. As an Erlang inventor/developer it would be interesting to see how the language is actually used and how that relates to the problems people have.

I agree that not having Erlang competence in your company IS a good reason to change language.

<comment><USER9> I agree with this. It would be interesting to see how Erlang was used - I find engineers that have "issues" with their erlang programs aren't actually using OTP to its fullest (using behaviors and supervisors, packaging as an application, etc...).

</comment></comment></comment><comment><USER10>
      Finally, we use a few stateful, global data structures to
      track incoming requests and funnel them off to the right
      backend queues. In Erlang, the right way to do this is to
      spawn off a separate set of actors to manage each data
      structure and message pass with them to save and retrieve
      data. Our code was not set up this way at all, and it was
      clearly crippled by being haphazardly implemented in a
      functional style.

Seriously?! I have used only a little erlang, but this makes no sense to me - it's like you were writing some big java project and put everything in one huge class, with all methods and variables static. It's hard for me to imagine why and how someone would write production erlang app with no actors, especially some kind of server. No wonder the thing sucked in the first place.

</comment><comment><USER11> From the article:

       Because of these performance requirements, we originally wrote the
       server in Erlang (with MochiWeb) two years ago. After two years of
       iteration, the code has become difficult to maintain.  No one on
       our team is an Erlang expert, and we have had trouble debugging
       downtime and performance problems. So, we decided to rewrite it
       in Python, the de-facto language at Mixpanel.

My first impulse would have been to have one or more team members become Erlang experts. Was that considered?

<comment><USER12> "After two years of iteration (on an Erlang codebase) ...no one on our team is an Erlang expert,"

This sounds a little strange. How is this possible? High turnover on the team?

<comment><USER13> Or why not point out the obvious? Erlang is hard to learn.

Anyone claiming to have mastered it in a couple of months like most fanatics here are (pardon my language) full of crap.

<comment><USER14> I've seen people master it quickly, writing their own behaviours etc..

I learned it on the tube to and from work in a relatively short space of time, writing a comet server for streaming updates to browsers with a colleague. After the initial hump it was easy and fun. I don't claim to be a genius programmer, just an interested dabbler.

To be fair though, the more average developer does struggle with it, and that was a reason my company didn't take it up widely.

<comment><USER15> Took me a week to be comfortable with it, but would take at least 2 years for me to grok the performance implications of each construct.

</comment></comment></comment></comment></comment><comment><USER16> "Finally, we use a few stateful, global data structures to track incoming requests and funnel them off to the right backend queues. In Erlang, the right way to do this is to spawn off a separate set of actors to manage each data structure and message pass with them to save and retrieve data."

Nope, that's not the right way. The way you were doing it ended up making all calls sequential and bound to single processes that could lose state. That's not right.

The best way to do it would have been to use ETS tables (which can be optimized either for parallel reads or writes), which also allows destructive updates, in order to have the best performance and memory usage possible. Note that you could then have had memory-only Mnesia table (adding transactions, sharding and distribution on top of ETS) to do it.

As for string performances, I'm wondering if you used lists-as-strings, binary strings or io-lists to do your things. This can have significant impact in performance and memory use.

Then again, if you had a bunch of Python and no Erlang experts, I can't really say anything truly convincing against a language switch. Go for what your team feels good with.

</comment><comment><USER17> > The biggest challenge for me was pushing the server from working 99.9% of > the time to 99.99% of the time, because those last few bugs were especially > hard to find.

Could you expand upon this some more? How do you know the server works 99.99% of the time (or 99.9%)? Do you run regression tests using actual past requests?

</comment><comment><USER18> :)

Bob's software sucks, let's switch to Bob's software.

<comment><USER19> ?

<comment><USER20> I dont know if its what he is referring to, but it would be an awesome coincedence if it wasnt

Bob Ippolito wrote mochiweb (the erlang web server) and looks to be involved in eventlet <http://eventlet.net/doc/history.html>

<comment><USER21> [https://bitbucket.org/which_linden/eventlet/src/f30a2fa65f30...](https://bitbucket.org/which_linden/eventlet/src/f30a2fa65f30/AUTHORS)

</comment></comment></comment></comment><comment><USER22> It sounds like they're accepting really simple HTTP requests (event updates) and inserting a job in a queue.

Really simple + rarely changing + needs to scale to really high req/sec = perfect candidate for being written in C. Maybe as an nginx module?

<comment><USER23> This is only true if the queue isn't the bottle neck. If the queue can only handle 2,500 req/s and the Python program can send at 3,000 req/s, what use is it writing a C program that sends at 12,000 req/s?

<comment><USER22> 1) Get a faster queue. 2) Create a QueueQueue that batch inserts.

</comment></comment></comment><comment><USER15> The intern was told to rewrite the server for a first assignment? What were the other programmers doing? jquery?

<comment> super-serial Challenge accepted? <http://memegenerator.net/instance/9240617>

</comment></comment><comment><USER24> What was the original Erlang performance?

I mean, good enough is good enough, and local culture counts, no problem there, just curious.

<comment><USER25> This is exactly what I want to know. What were the numbers?

</comment></comment><comment><USER26> "The main difference is that eventlet can't influence the Python runtime, but actors are built into Erlang at a language level, so the Erlang VM can do some cool stuff like mapping actors to kernel threads (one per core) and preemption. We get around this problem by launching one API server per core and load balancing with nginx."

The actor model is for _concurrency_ , which is when your threads are communicating with one another, right? What about the task that the API server does requires inter-thread communication?

</comment><comment><USER27> The author is wrong about simplejson performing 10x better than the json included with python.

Here is my proof: [http://j2labs.tumblr.com/post/7305664569/python-vs- javascrip...](http://j2labs.tumblr.com/post/7305664569/python-vs-javascript- the-json-race)

<comment><AUTHOR> No, we ran an extensive benchmark against log data and found that simplejson was indeed 10x faster. Your benchmark assumes a different "shape" of json dictionary than ours, and I would recommend updating your methodology to use real data instead. I added ujson to our benchmark, and here are the results (seconds):

$ python json_bench.py history.log.1 json 106.270362854 simplejson 11.336577177 cjson 5.63336491585 ujson 3.81600308418

</comment></comment><comment><USER28> There's not much about "why," in fact, these are the only sentences that are at all relevant to "why:"

 _After two years of iteration, the code has become difficult to maintain. No one on our team is an Erlang expert, and we have had trouble debugging downtime and performance problems._

 _Erlang is historically bad at string processing, and it turns out that string processing is very frequently the limiting factor in networked systems because you have to serialize data every time you want to transfer it. There's not a lot of documentation online about mochijson's performance, but switching to Python I knew that simplejson is written in C, and performs roughly 10x better than the default json library._

 _I was able to provide some important operations in constant time along with other optimizations that were cripplingly slow in the Erlang version._

 _The [Python] community is extremely active, so many of my questions were already answered on Stack Overflow and in eventlet's documentation._

<comment><USER29> If string processing is a bottleneck in your system, either your system isn't doing anything else interesting to take up CPU time, or you've done something very, very wrong. Serialization is a damn-near solved problem.

<comment><USER30> Newcomers to Erlang tend to do string handling with a heavy Ruby/Java/whatever accent. That's the problem. The default Erlang string type is a linked list of ints (which can be pattern-matched on), but atoms (AKA "symbols" is Lisp, Ruby, etc.) and binaries (arrays of raw binary data) address situations that need more specific trade-offs.

In particular, redundant string concatenation and flattening tends to be CPU hog, but IO-Lists automatically flatten all string types during transmission and have already been thoroughly optimized.

Of course, if you ignore the serialization solutions Erlang provides, there is a performance hit.

</comment></comment></comment><comment><USER31> Wow, this post made me feel like the world's most incompetent intern.

<comment><USER32> Don't beat yourself up.

I once met an intern that is very good at abstraction and writing "OK"-designed OOP code (OK because it looks and sound good minus the ability to unit-test, but other than that it was simple enough for other people to understand and quite flexible). On the flip side, he's not that good when it comes to networking code (pretty much system programming stuff). He could be good, but at that time, software design (in OOP environment) was his forte.

You might have your own pluses. Besides, we don't know what the code looks like or whether what this intern wrote is the truth. If you've been in this industry long enough you'll start to take a lot of things with a lot of grain of salt.

</comment></comment><comment><USER33> It seems like the lesson here is that basically any language (Python, Ruby, ...) will perform about the same with non-blocking I/O.

Does this mean that Erlang and node.js are mostly compelling because of the prevalence of async versions of common libraries? Or are they not that compelling in web contexts in the first place?

<comment><USER34> I understand that this is meant just as an experience report, but I have to say this article didn't convince me in any way that this rewrite was a good idea. Obvious questions:

1\. How does the performance of the new system compare to the old system?

2\. What exactly were those maintenance issues with the Erlang server? Did just no-one in your team find the time to learn Erlang well enough? I know Erlang isn't the prettiest of languages, but async I/O isn't the only advantage of Erlang. A battle-tested concurrent runtime and built-in support for fault-tolerance are two obvious examples.

<comment><USER35> But, but, so pretty and elegant!

      quick_sort([]) ->
          [];
      quick_sort([H | T]) ->
          quick_sort([X || X <- T, X < H]) ++ [H] ++ quick_sort([X || X <- T, X >= H]).

</comment></comment></comment><comment><USER36> After 2 years in production you nave no one on the inside that knows the core part of your system? Duh! Start investing time in your core technology. Blaming Erlang for poor R&D management choices is not going to fly here.

</comment><comment><USER37> Do they run the message queue on the same box as the gateway server in production? If not then the test he ran isn't a direct comparison (since network latency between the app server & queue isn't accounted for). Running both of those services on the same box isn't great either, since they could slow each other down, and you lose both if the box dies.

Still, very cool, congrats ankrgyl, it's awesome to be able to write stuff like that as an intern!

</comment><comment><USER38> This sums it up:

        "No one on our team is an Erlang expert"

Regarding mochijson we switched to jiffy [1] (NIF-based native C parser).

Also I would love to get a comparison between 2-years old (probably badly written) Erlang server and a new Python/eventlet server.

[1] <https://github.com/davisp/jiffy>

</comment><comment><USER39> related: a benchmark of mochiweb vs cowboy vs misultin (all Erlang) vs node.js vs Python Tornado:

[http://www.ostinelli.net/a-comparison-between-misultin- mochi...](http://www.ostinelli.net/a-comparison-between-misultin-mochiweb- cowboy-nodejs-and-tornadoweb/)

</comment><comment><USER40> Riak is a fairly large, open source, NoSQL database, written in erlang. I've looked at its source code on occasion knowing little about its internals, and found them to be really comprehensible. Sometimes it is shocking to see how elegant the code is.

At the same time, I have gone and looked at code I wrote back when I was first looking at erlang, that does much less and is much more verbose, confusing and sprawling.

I don't think erlang lacks maintainability. I think it just requires some discipline- like any language.

It sounds like your company has a culture of python hackers and erlang was chosen because you felt you needed to choose something "serious" for this bit of work, rather than because you loved erlang and would use erlang even if you needed to write something trivial. There's nothing wrong with that, but I don't see this article as revealing any hidden weaknesses in erlang.

Regarding the JSON parsing issue, erlang has excellent support for code written in other languages, specifically C, and you could wrap any C based JSON parser and use it, though I bet someone has already done this for you. I believed I was watching such a project on GitHub but can't for the life of me find it now.

<comment><USER35> Jiffy is awesome!</comment></comment>


Peter Thiel: I'm on human growth hormone [video] - <AUTHOR> http://www.bloomberg.com/video/peter-thiel-i-m-on-the-human-growth-hormone-pill-JMrIsAq6RC~j2soBovyj4w.html <comment><USER2> [http://news.stanford.edu/news/2007/january17/med- hormone-011...](http://news.stanford.edu/news/2007/january17/med- hormone-011707.html)

"There is certainly no data out there to suggest that giving growth hormone to an otherwise healthy person will make him or her live longer. We did find, however, that there was substantial potential for adverse side effects."

[http://journal.frontiersin.org/Journal/10.3389/fgene.2012.00...](http://journal.frontiersin.org/Journal/10.3389/fgene.2012.00288/full)

"In laboratory mice, mutations with the greatest, most consistent, and best documented positive impact on lifespan are those that disrupt growth hormone (GH) release or actions."

<comment><USER3> Thank you for posting some sanity in here. There's simply no evidence to suggest that any of this is reasonable and really seems like a weird sort of confirmation bias. That is, he has enough money to surround himself with a certain type of person, and that type of person tells him a certain type of thing that is assumed to be "privileged" or "cutting edge" in some way and thus circumvents the requirement of peer review or consensus a critical person would normally require before eating a bunch of pills.

Tl;dr: There's no such thing as "ahead" of consensus.

</comment></comment><comment><USER4> Actually there is a natural way to hack your body and increase your HGH by about 2000% [1] via fasting.

One theory is that when you fast, your body activates the HGH to help burn fat at faster rate.

I fast between 24-48 hours (didn't do it last month due to being on the road most of the time) and for the time I did, I could see gaining muscle mass in a short time (in about of month) in conjunction with doing weights.

[1] [http://anabolicmen.com/increase-hgh- in-24-hours/](http://anabolicmen.com/increase-hgh-in-24-hours/) (there is a link to NIH study)

<comment><USER5> How do you get past the brain fog during that period of time? My understanding is that your brain requires glucose, and that your liver will convert fat to glucose if absolutely necessary (such as when you're in ketosis), hence the "keto flu" transition phase.

<comment><USER6> Your liver doesn't convert fat to glucose, it converts it to ketone bodies (such as acetone) which the body can also use for energy instead of glucose.

<comment><USER5> Whoops! You're right. I had thought I read somewhere the brain requires another organ to convert ketone bodies to glucose, but it appears its the liver itself at cannot use ketone bodies:

[http://en.wikipedia.org/wiki/Ketone_bodies#Uses_in_the_heart...](http://en.wikipedia.org/wiki/Ketone_bodies#Uses_in_the_heart.2C_brain_and_muscle_.28but_not_the_liver.29)

<comment><USER6> Yeah, the liver has a separate metabolic pathway for converting non- carbohydrate organic compounds into glucose at a steady rate to regulate blood sugar and provide energy to the brain, it's called gluconeogenesis [http://en.wikipedia.org/wiki/Gluconeogenesis](http://en.wikipedia.org/wiki/Gluconeogenesis)

</comment></comment></comment></comment></comment><comment><USER7> Wait, what - a pill? Does HGH really absorb from the guts?

I thought the usual way to administer HGH is a subcutaneous injection.

<comment><USER8> You are correct. Orals are not as effective as injected and most orals are snake oil.

</comment></comment><comment><USER9> This reminds me to David Asprey: my coffee will give you unlimited energy ... Ohh by the way, I am on modafinil and HRT, but it's the coffee that is working the magic here.

It is very basic not to eat sugar .... Ohh by the way, I am taking some HGH pills every day

<comment><USER10> Don't knock it till you try it - the coffee has worked wonders for me. Coffee+Butter+Coconut Oil = code :)

<comment><USER11> I'm trying a bulletproof experiment after New Year's. Care to share your formula/method? The one time I tried Kerrygold in coffee, I didn't like the taste.

<comment><USER10> Ingredients:

1tbsp organic extra virgin coconut oil

2tbsp Strauss Family* organic grass fed butter (unsalted)

16oz Sightglass* coffee (from 4tbsp grounds)

*both brands local to the bay area.

blend!

drink!

code!

If you don't like the heavy butter taste adjust the coconut oil quantity up a little, or maybe brew the coffee a little stronger.

<comment><USER11> Thanks!

</comment></comment></comment></comment></comment><comment><USER12> "I'm hopeful that we'll get cancer cured in the next decade"

Not to say that I'm pro-cancer, but I feel like this is a little bit unreasonable. Cancer is a very complicated problem, and medical research takes a long time. Personally I think it sounds like Thiel is just trying to get swole.

<comment><USER13> I wish I could find where I first heard this quote (I think it may have been here on HN), but it was something like "Asking a scientist when we'll find a cure for cancer is like asking a mathematician when we'll find a solution for equations." I know he was speaking a bit off the cuff, but the idea of a "cure for cancer" misunderstands the problem domain so fundamentally as to be incoherent.

<comment><USER14> We're making fairly rapid advances on treating different cancers with the fairly blunt methods available today. Down the road nanomachines would seem to offer a fairly straightforward solution to most cancers. Obviously cells don't live forever but am I missing something that makes cancerous cells resistant to increasingly miniaturized tools?

<comment><USER15> Yes, you're missing a lot. Your response is basically science fiction. Take a look at these statistics [1] showing cancer mortality rates over the last few decades and you'll see that we are not, in fact, making rapid advances on treating cancer. Far from it. And I don't even know how to respond to your nanomachines comment. I'm a biochemist who's studied cancer for years, and I can't even begin to imagine how a nanomachine could be of value for treating cancer.

[1] [http://www.cancer.gov/statistics/find](http://www.cancer.gov/statistics/find)

<comment><USER5> > I'm a biochemist who's studied cancer for years, and I can't even begin to > imagine how a nanomachine could be of value for treating cancer.

Nanomachinery would possibly be able to identify and remove cancerous cells from the body more intelligently then the body's immune system (similar to how evolution has brought us far enough to where we can engineer biology faster than evolution could).

Problems are either software based, hardware based, or both. This would be both.

<comment><USER15> That's like saying "a transporter would allow you to instantly teleport an object from one place to another". You're describing something that has no basis in existing technology. Currently nanomachines are simple mechanical devices like gears or wheels. To "identify and remove cancerous cells from the body more intelligently than the body's immune system" would require technology that can't even be imagined right now. Nobody can forsee the distant future, but what you're describing has no basis in scientific reality, at present.

There are two reasons why cancer is so difficult to treat: (1) cancerous cells ARE your own cells that are behaving differently, so distinguishing cancerous cells from non-cancerous cells is very difficult. And (2) cancer cells are constantly evolving, so even when you do identify such unique features, the cancer mutates and changes this identifying feature. Decades of research has been devoted to identifying such "Achilles heels" of cancers that allow them to be uniquely and sustainably targeted by therapies and the number of successes can be counted on one hand. We already have technologies that allow you to identify unique features on cancer cells (e.g. monoclonal antibodies) and deliver chemotherapeutic drugs just to those cells (e.g. antibody-drug- conjugates) and they don't work too well.

Cancer is hard and nanomachine research is in its infancy. I can't predict the future, obviously, but I can guarantee you that people won't be using nanomachines to treat cancer for the forseeable several decades, if ever.

<comment><USER5> > Cancer is hard and nanomachine research is in its infancy. I can't predict > the future, obviously, but I can guarantee you that people won't be using > nanomachines to treat cancer for the forseeable several decades, if ever.

Want to make a Long Bet [1] on that? Years ago I would've never thought a private citizen would be delivering cargo to a space station with the goal of landing on Mars, but here we are. Reality can be unpredictable.

[1] [http://longbets.org/](http://longbets.org/)

<comment><USER16> The difference between your unforeseeable future vs. the parent's is you could see a government doing the same decades ago, which means the technology was available that many decades ago to a private individual of sufficient resources.

His unforeseeable future wouldn't be possible because no entity could do it with sufficient resources and will right now according to him.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> I enjoy Thiel's incredible optimism, but he does have a tendency to be a little too devout to a fixed set of controversial ideologies [1].

Jeff Bezos famously said that smart people often change their minds [2]. I would encourage Thiel to challenge many of his deeply held beliefs about the history and nature of scientific and technological progress, and empirically compare our current system with that of the past. Especially if he wants to see cancer cured (!!!!) in the next decade (!!!!).

Thiel and his colleagues have a unique opportunity to set mankind back on our path of scientific and technological discovery. But in order to do this, we have to thoroughly understand the environment and factors which nurture scientific progress. With NIH and NSF funding in freefall, and corporations cutting R&D spending across the board, I would argue we are moving in precisely the wrong direction. Crowdfunding won't cure Cancer, and neither will startups. These are very hard problems, that take a very long time to solve.

Round up some VCs and fund a dozen Janelia Farms for the next 20 years. Only then can we talk about human longevity as a long term goal.

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

2\. [https://signalvnoise.com/posts/3289-some-advice-from-jeff- be...](https://signalvnoise.com/posts/3289-some-advice-from-jeff-bezos)

</comment><comment><USER18> Well if I was going to take anything that could possibly extend my life then I'd take Selegiline[1]. It has a few reported side effect like reversible transvestic fetishism[2], but, if I were a billionaire, I'm sure I could handle it ;).

1\. [http://www.ncbi.nlm.nih.gov/pubmed/7997074](http://www.ncbi.nlm.nih.gov/pubmed/7997074)

2\. [http://www.ncbi.nlm.nih.gov/pubmed/12151912](http://www.ncbi.nlm.nih.gov/pubmed/12151912)

</comment><comment><USER19> Now this is something that needs disruption. Why can't I get a cheap hgh pill?

<comment><USER20> [http://www.reddit.com/r/darknetmarkets](http://www.reddit.com/r/darknetmarkets)

</comment></comment><comment><USER21> his ego is definitely on growth hormone :) Amazing times are coming when billionaires will be able to defeat aging and ultimately death. And with time such options will trickle down to regular people.

<comment><USER22> I dunno. He seems pretty modest for a billion-dollar-club VC.

</comment></comment><comment><USER23> Is Peter Thiel really gwern in disguise?

<comment><USER22> The loa known as "gwern" is the result of Peter's first attempt to upload his consciousness to the matrix. It will play you a mighty dub.

</comment></comment><comment><USER24> So am I, I just had some milk.

</comment><comment><USER25> This is after a cut, and it sounds like he thought he was speaking off the record. They're speaking softly, there are sounds from the production crew or something, etc.

</comment><comment><USER26> Where can I get it?

</comment><comment><USER27> A bit click-baity and not that HN worthy tbh.

</comment><comment><USER28> Not the brightest move. Cancer will not be cured in 10 years.

</comment><comment><USER29> Having recently read the Akallabeth [0] this upsets me somewhat.

0 - [http://en.wikipedia.org/wiki/Akallab%C3%AAth](http://en.wikipedia.org/wiki/Akallab%C3%AAth)

</comment><comment><USER30> Lol, shouldn't he look more swole?</comment>


App.js: Mobile webapps made easy - <AUTHOR> http://code.kik.com/app/2/index.html

<comment><USER2> Seems pretty solid! I tested on iPhone 4, which I use for my subjective performance testing when comparing libraries.

Transitions worked nicely, both meme and YouTube video thumbnail views were smooth. Compared to a possible native implementation the image search didn't work that smoothly during image loading, but it was still usable after all images were loaded. Also the list view for long lists with presumably dynamic loading (UITableView style) wasn't that smooth during scrolling.

All in all, kudos for the good work!

</comment><comment><USER3> If you're a Java aficionado GWT has a similar stack of widgets mGWT [http://mobilegwt.appspot.com/showcase/](http://mobilegwt.appspot.com/showcase/) which actually are tuned to produce optimal repaints/scrolls in WebKit/Chrome with minimal DOMs. Combine with gwt-phonegap to produce native deployable apps for AppStore and Play.

</comment><comment><USER4> So is it intended to be a lighter weight version of JQuery Mobile? [http://demos.jquerymobile.com/1.4.2/](http://demos.jquerymobile.com/1.4.2/)

</comment><comment><USER5> My personal take is that you should always develop for the platform you are targeting.

It is not so much about weather the UI is drawn so that it looks native and it is not about performance (although important). It is more about what you can and cannot do natively. For example, in iOS/Mac certain things are not easy to do because the UI components that you are extending are not designed to work in they way you want them to work. This may look like a limitation but I see it as an enabler because it forces applications to have more or less the same behaviour. This is what makes AppKit/Cocoa etc. a better platform for development on iOS/Mac.

<comment><USER6> I think most people want to target all platforms, or as many as possible.

</comment></comment><comment><USER7> I use [http://ionicframework.com](http://ionicframework.com) in this area because I like Angular and there are a lot of content on it all over the web.

Most of my friends use [http://www.idangero.us/framework7/](http://www.idangero.us/framework7/), which is also good and has many components. (Though I didn't really used it myself)

App.js doesn't look like it has enough components ATM.

</comment><comment><USER8> I am just amazed at all of the new cross platform toolkits and frameworks popping up nowadays. Seems to rival the number of new javascript libraries. The attempt to bring cross platform development to mobile is reaching a fever pitch. So many approaches, but there are still compromises or shortcomings from them all. One thing that I've noticed is that most of the newer frameworks are based on web tech and stacks. Which I guess is a good thing, or maybe not.

</comment><comment><USER9> If someone built one of these mobile webapp frameworks using famo.us, but exposed it to the developer as something much less alien vs actual famo.us... I would be so happy.

</comment><comment><USER10> From some quick testing of the demo on iOS:

If you pull a list down from the top or up from the bottom, the wrong thing scrolls. Not sure whether this is possible to work around.

iOS 7-style back gesture does not work.

In the input demo, pressing return on the Subject field submits the form. Demo bug?

Occasional popping when switching screens.

Nevertheless, seems pretty solid in general. I like it.

<comment><USER11> Scrolling is a big issue here. I haven't looked into the source carefully but I saw the same behavior of wrong thing getting scrolled. My experience tells me that it's because they use div's scroll or multiple iframes. HTML in mobile browser is terrible at handling multiple scroller because it doesn't know where people touch or intend to scroll. Only famo.us seems to fix this problem by re-writing the whole scrolling feature. However, they screwed it up on some other parts (lolz..) which we heard things might improve.

<comment><USER12> It's actually just using the browsers scrolling mechanism. Android 4+, iOS 5+ ship with touch-scrolling that you can enable on an element so it's as close to native scrolling as you can get.

Just add this CSS:

        overflow: scroll;
        -webkit-overflow-scrolling: touch;

<comment><USER11> Right. I have tried that with jQuery Mobile and the behavior was similar to what I saw in this framework. Basically for mobile, it's nearly impossible to have main page scrolling and swipe right to pop out the left menu which also has its own scrolling.

</comment></comment></comment></comment><comment><USER13> Offers similar functionality to [http://chocolatechip- ui.com/](http://chocolatechip-ui.com/)

<comment><USER14> i'm taking note of this website right now

it seems that there's really a lot of javascript framework/ui for mobile and i'm interested to find which one offers the best performance/ui ratio

<comment><USER6> I am trying to learn Javascript, coming from a Perl / Python / RDBMS background.

What a mess the JS landscape is. There are so many frameworks, and no clear reason to choose one over the other. Angular has a reputation as being one of the better ones, but it seems overly complex, the documentation is terrible, and the learning curve is steep. And its still one of the better of the ones that I have tried.

</comment></comment></comment><comment><USER15> I would be a bigger fan if there were some included phonegap utilities & tutorials.

Famo.us is making the same mistake for some reason. Aggressively targeting mobile, with half of the toolchain missing to actually shipping mobile apps.

Not that I can blame the OP, who is likely not a SF startup with millions in funding.

<comment><USER12> Like the others said, this is written by Kik Interactive ([http://kik.com/](http://kik.com/)) which is well-funded.

The idea is that Kik's browser has the PhoneGap-like utilities that you described built-in, while this is a library for building the UI of an application. [http://dev.kik.com/](http://dev.kik.com/)

</comment></comment><comment><USER16> "Cross Platform. Native transitions and more on Android 2.2+ & iOS 4.3+"

Cross Two Platform.

<comment><USER17> It would also look out of place on Android.

</comment></comment><comment> martin-adams The live demo doesn't work with a mouse on desktop Chrome on a Microsoft 8.1 Surface as it thinks it's a touch screen only. I'm experiencing more and more issues with this, one a large UK retailer's e-commerce web site hit this issue and the Ghost blogging platform.

</comment><comment><USER18> Not to be confused with AppJS[0], a (recently deprecated) SDK for building native desktop apps with Node.js.

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

<comment><USER15> And if you want an actively-maintained alternative, check out [https://github.com/rogerwang/node-webkit](https://github.com/rogerwang/node- webkit)

</comment></comment><comment><USER19> Looks nice but I'm just wondering what this offers above Mobile Angular.js?

<comment><USER20> I'm not a Javascript guy by any means but from what it looks like this is a library whereas Mobile Angular.js is a framework.

<comment><USER19> Sorry, should have specified - it looks to me that Angular mobile provides a similar theme out of the box plus the awesome Angular stuff on top of it.

What I'm saying is this is like a plain donut whereas a donut with sweet, sweet toppings already exists :D

<comment><USER21> What if you don't like Angular's over sweetened toppings?

</comment></comment></comment></comment><comment><USER22> Nice to see the effort for making mobile web apps more mainstream.

There is also [http://goratchet.com/components/](http://goratchet.com/components/)

<comment><USER23> The interesting thing is, Apple originally intended that this should be the goto way to get user generated applications on the iPhone.

But then, the jailbreak scene came up and somehow Apple changed their stance by creating the app store and thus the possibility to control what kind of native applications will run on the devices.

Of course this way has the advantage of not needing a paid developer account or need to have the app approved by Apple but then again, such a webapp is harder to monetize if that's what you are after than to simply write a native app and sell it in the app store.

</comment></comment><comment><USER24> Longer title tag, please. I just bookmarked the site and found "App.js" in my database with no other context :-( Should help with search bots, too, IIRC~

</comment><comment><USER25> Isn't this like [ratchet] [1]?

[1]: [http://goratchet.com](http://goratchet.com)

</comment><comment><USER26> Does anyone know how this compares to Sencha Touch?</comment>


A Busy Doctor's Right Hand, Ever Ready to Type - <AUTHOR> http://www.nytimes.com/2014/01/14/health/a-busy-doctors-right-hand-ever-ready-to-type.html

<comment><USER2> great</comment>


Two Arrested for Spying on Former Italian PMs Renzi, Monti, ECB president Draghi - <AUTHOR> http://webcache.googleusercontent.com/search?q=cache%3Ahttps%3A%2F%2Fftalphaville.ft.com%2F2017%2F01%2F10%2F2182125%2Fthe-arrested-pair-are-residents-of-london-but-are-domiciled-in-rome-and-are-well-known-in-the-world-of-high-finance%2F&ie=utf-8&oe=utf-8 <comment><AUTHOR> There's little in English, more on Italian news websites, eg:

[http://www.repubblica.it/cronaca/2017/01/10/news/cyberspiona...](http://www.repubblica.it/cronaca/2017/01/10/news/cyberspionaggio_polizia_arresti-155733437/?ref=HREA-1)</comment>


Zero to One, by Peter Thiel with Blake Masters - <AUTHOR> http://zerotoonebook.com/ <comment> loup-vaillant > _Progress comes from monopoly, not competition._

Okay, that was a surprise. I get the idea that one should work on new things, that merely trying to out-compete is counter-productive (competition is a zero-sum game after all).

On the other hand, some benefits may only come when there's enough players that compete with each other. Take Virtual Reality, for instance. There's the Occulus Rift, Now Sony is working on it, there was valve… at one point, there will be enough player to make a market for low-latency, low-persistence, high- frequency, ridiculous-resolution flat panels. The smartphone industry pushed in that direction of course, but the limit of what's useful for this industry is clearly not enough for VR. Anyway, with this new market, VR will improve as a whole. Without the competition that is currently forming, I think those miraculous flat panels wouldn't come out as fast as they will. That said, those folks are still working on something new…

\---

Now that I think of it, maybe he was talking about maximizing one's marginal impact? Like, let the Occulus people work on their Rift alone, and try and work on something _different_. Even if that slows the VR revolution down, we may now have _two_ revolutions. Hmm…

<comment><USER2> There are two forces at work there. First is that without being granted a monopoly by force, only really smart people manage to monopolize an industry (think Google).

 _The benefit monopolies offer is not just that they're good investments, but that they concentrate wealth in the hands of someone smart enough to monopolize something. Wealth tends towards entropy, so brief concentrations of it are a beautiful thing. And while markets are great at optimizing the last .1% increase in efficiently for a known process, they suck at paradigm shifts—unless there's someone really smart with enough money to singlehandedly shift that paradigm. Google's near monopoly on search has probably hastened the arrival of self-driving cars by a few years, saving numerous lives. Score one for monopolies! Even my least favorite monopoly, USG, has deployed money in interesting and otherwise infeasible projects, such as landing on the moon and defeating the USSR._ [1]

Second is integration and incentive structure.

 _One simple robust solution to the innovation problem would seem to be manic monopolists: one aggressively-profit-maximizing firm per industry. Such a firm would internalize the entire innovation problem within that industry, all the way from designers to suppliers to producers to customers – it would have full incentives to encourage all of those parties to put nearly the right amount and type of efforts into innovation._ [2]

[1] [http://oddblots.tumblr.com/post/85817835358/stoptheslowlane-...](http://oddblots.tumblr.com/post/85817835358/stoptheslowlane- is-short-bus-economics)

[2] [http://www.overcomingbias.com/2014/04/rah-manic- monopolists....](http://www.overcomingbias.com/2014/04/rah-manic- monopolists.html)

<comment><USER3> Yeah, very smart people are exactly who we want driving innovation. Just like how Thomas Edison and his monopolizing Edison Trust brought American electrical systems into the future by embracing AC power, instead of clinging to clearly inferior DC power for as long as possible.

</sarcasm>

If you expect monopolies to drive innovation, you're going to be disappointed. A monopoly doesn't promote paradigm shifts or destructive innovation. In fact, historically speaking, monopolies often take drastic steps to ruthlessly crush any such innovation.

In your second link, at least Robin acknowledges that, historically, there is no reason to expect monopolies to behave as described. Actually, the idea of a "manic monopolist" is fairly interesting. But, if a corporation already controls an industry, how do we incentivize it to take risks by promoting rapid innovation in that industry?

<comment><USER4> Yeah, I dont want smart people driving innovation. I want everyone to have the freedom to create and live their lives free and unhindered by the threat of violence, the encroachment of propaganda, or economic bullying- even if the bully is able to rationalize his actions.

This idea of giving all the smartest people the money is interesting- in the way that eugenics was interesting.

</comment></comment></comment></comment><comment><USER5> I would suggest he finishes his other book, "The Blueprint", first, since it is "pre-ordered" on Amazon for two years now... Talk about a slow launch.

<comment><USER6> This time he hired "Blake Masters" to actually write the book.

<comment><USER7> Blake is a real guy and a friend of mine. Remove the scare quotes please?

<comment><USER8> _Blake is a real guy_

Can confirm: I met him once, briefly, in San Francisco.

</comment></comment></comment></comment><comment><USER9> "ZERO TO ONE is about how to build companies that create new things.", but then as an example uses: "The next Bill Gates will not build an operating system. The next Larry Page or Sergey Brin won't make a search engine."

Maybe my history is not that good, but as far as I know Bill gates didn't build the first operating system, and when he bought 86-DOS, its success was mainly thanks to IBM. Same for Google, it wasn't the first search engine, it just improved on an existing concept.

<comment><USER10> The point is that the first mature dominant players in those markets were Microsoft and Google. That's not to say that the dominant player can't be challenged, it's just that the next 100 billion dollar company will start in a new market with no mature dominant player (e.g. Facebook on social networks).

<comment><USER11> Altavista was dominant when Google entered the fray. MySpace was dominant when FB took off.

Whenever there is space for innovation and the incumbent does not react, a new player appears.

Facebook is my next to be toppled over bet. There is a huge space for innovation and FB is not nimble and quick to react nor it is particularly innovative on its own. Acquisitions and the social network barrier to entry protect FB, but they don't hold forever.

<comment><USER12> At some point the incumbent becomes so large and diversified that it can't be destroyed by a single competitor. Think IBM. You may come in and beat the incumbent company in the market that originally led to its success, but the incumbent still lives on in many other markets. The only way it is killed is by being consistently less fficient than the average entrant in many markets (i.e. Goliath falls, but there is no David to point to).

Facebook may reach that point before to long, although I'd guess they're not there yet.

<comment><USER11> IBM was beaten. They failed to evaluate the importance of the micro computer. Further, they failed to see the threat of micro computer-born CPUs to their business. The fact that IBM had enough momentum and clarividence to pivot into consulting is not relevant for this discussion. Today's IBM is not at all the IBM from the seventies.

</comment></comment></comment></comment></comment><comment><USER13> >And the next Mark Zuckerberg won't create a social network.

Unless they are creating Twitter. And an article written before Facebook started would probably have said "The next Tom Anderson won't create a social network"

Yes, every successful business will need to find what their particular unique niche is, and it certainly helps to be the first major player in a whole new area, but the reality is that at this macro level "Every moment in business" doesn't happen "only once". Most markets have plenty of space for multiple innovators making relatively minor tweaks to existing industries.

For instance, you could easily present Steve Jobs being "the next Bill Gates", and he certainly did well out of a company creating OSs (and the hardware to run them on, but at least with Macs, and potentially with iPhones/iPads, the OS was almost certainly the more important part).

<comment><USER14> I think his point is that the next hugely successful billionaire will not be creating a competitor to something that is already hugely successful today.

That's not to say you can't make a comfortable living building a better mousetrap. It just means you won't be Gates or Zuckerberg.

Of course, you could easily make the argument that Gates (for example) merely built a better mousetrap. It's not like Microsoft invented the operating system. Or the personal computer. Or word processing. Microsoft, through strategy, lots of hard work, and a little luck, happened to be doing just the right thing at just the right time.

<comment><USER15> Wait, you mean like Elon Musk? The guy is not only competing against hugely successful incumbents, but he's doing it in parallel in two markets! Somewhat ironic given Musk and Thiel are cut from the same cloth.

Thiel's book might be a fun read. Take from it what you want, but it certainly isn't gospel.

<comment><USER16> Or Bezos in retailing. First he beat Barnes & Noble etc, then he beat Walmart and Target (and everyone else). All from a guy that hadn't spent a minute in retail previously.

Both Bezos and Musk took advantage of an exception to what Thiel is talking about: inflection points in technology sometimes provide massive competitive openings that are better viewed as blue ocean because they're so different from the establishment.

</comment></comment></comment></comment><comment><USER17> See also: [http://blakemasters.com/peter-thiels- cs183-startup](http://blakemasters.com/peter-thiels-cs183-startup) (notes from Peter Thiel's CS183)

<comment><USER18> I'm wondering if this book is mostly a massaging of those note? It would still be a good read and nice to have but not entirely new.

</comment></comment><comment><USER19> I think a number of people here may be misinterpreting what Thiel means by "monopoly". Here is the likely backbone of that chapter[0].

I personally believe each company should do _one thing_ , and do that _one thing_ better than anyone else in the world _possibly_ could. Companies should therefore be constantly perfecting that one thing to the degree that no competitor could possibly catch up. I may be wrong, but I hope that's the kind of monopoly Thiel is talking about.

[0] [http://blakemasters.com/post/21169325300/peter-thiels- cs183-...](http://blakemasters.com/post/21169325300/peter-thiels- cs183-startup-class-4-notes-essay)

<comment><USER20> I don't think that's really what that essay is about. Arguably, the point is the opposite of that. Read the part about Thiel interviewing for and not getting a Supreme Court clerkship. That process involves out-competing people: the pool of applicants looking to get into Stanford Law, the pool of classmates looking to get a circuit clerkship, the pool of circuit clerks looking to get a Supreme Court clerkship. Out of the 100,000 people who apply to law schools each year, 36 will get a Supreme Court clerkship 4-5 years later. Being in that 36 just requires doing the same thing everyone else is doing, but doing it better than the other 99,964 people.

The moral of the story is that Thiel became incredibly successful by doing something nobody else was doing. If 100,000 people were all working for 4-5 years trying to create PayPal, maybe Thiel's version wouldn't have been the best. But that doesn't matter, because those people were off applying to law school. That's what Thiel seems to mean by "monopoly." Go find an area where you can make money, where there aren't 100,000 people trying to do the same thing you're doing.

</comment></comment><comment><USER21> Peter Thiel's writings are often thought-provoking and insightful. They frequently think several steps deeper than the usual blog posts that we read on the topics... The CS183 notes bear that out.

I've pre-ordered the book. Looking forward to it.

</comment><comment><USER22> "Progress comes from monopoly, not competition."

Seems rich coming from the guy who founded Paypal, which was widely loathed and seen as pretty stagnant in the payments space after it achieved dominance over that market.

</comment><comment><USER23> Some of his ideas are elaborated in his public speaking, and the book sounds to be very interesting. I just hope he sticks to the release date and it doesn't get canceled like the previous one.

<comment><USER24> I can confirm the book will be released on Sept. 16 :)

</comment></comment><comment><USER25> Like if Microsoft was the first OS.

Like if Google was the first Search Engine.

Like if Facebook was the first Social Network.

...

<comment><USER26> Exactly...and then those are interesting in _how_ they became the dominant player. Did they offer something the predecessor didn't, etc. Why MS succeeded can be argued around various points re: digital (re: CP/M), the boom of compatibility issues with the 808x machines (back in the DOS days and the proliferation of white box machines (aka IBM compatibles)), and the failure of OS/2 (I'm sure it's more complex than this, but.... Google succeeded as it was (imo) largely faster and more complete than the akebono preliminary as well as the adoption/evolution of the goto.com advertising paradigm. As to how facebook beat out myspace? I haven't heard convincing arguments that are definitive; however, they appear to have placed more of a focus on social aspects than myspace did (and they were less "geocities-like").

</comment></comment><comment><USER27> I don't think that "there can be only one" Bill Gates for any given category. I don't even think he's saying that there won't be any new OS or Social Network billionaires.

I think he's drawing new types of businesses making new kinds of products for a new market vs businesses "competing in the __ space.

A good litmus test might be the words that were used early on to describe the company/product. Twitter used to be "micro-blogging" or "like SMS but everyone can see it".

MSFT may have had some early users who switched to DOS from Apple II Unix but most learned the words Operating System & DOS in the same instant. Investor's hadn't invested in an operating system company before. etc.

</comment><comment><USER28> "... competition destroys profits for ... society as a whole."

What is meant by "profits"?

"Progress comes from monopoly..."

What is meant by "progress"?

Does the Antitrust Division at the DOJ do Book Reviews?

I would enjoy reading their review of this one.

</comment><comment><USER29> I have recently been reading blake masters notes on the class and I find them extremely valuable. They are written so well I feel like I am reading a transcript of the real lecture. It feels like I am getting the source material even though they are a students notes.

I bet the book will be even better since it is revised by Peter himself. I can't wait to read it as well.

</comment><comment><USER30> > Progress comes from monopoly, not competition.

> ... competition destroys profits for individuals, companies, and society as > a whole.

Profits != progress.

</comment><comment><USER31> This blurb makes it sound like a repackaged Blue Ocean Strategy. Don't try to fight entrenched players in mature markets? This doesn't sound novel at all.

</comment><comment><USER32> Added to my wishlist. I'll wait for the reviews to come out. I like books, but so many business books have little actionable advice.

</comment><comment><USER33> Zuck creates a social network when we had so many social networks- but its almost like he's saying going after a 100% blue ocean... ?

</comment><comment><USER34> Everyone in the comments here are getting caught up in the examples of Gates, Zuck, etc. But the vast majority of people who are even interested in creating something new are creating an app that riffs off an existing concept and are looking for a (quick) exit. I see this book as an evolution of The Blueprint and the Founders Fund manifesto, where Thiel is calling on people to stop squandering creative energy and build something truly great.

<comment><USER35> _Everyone in the comments here are getting caught up in the examples_

Maybe that's because the examples appear to contradict the thesis of the book - that's not exactly a ringing endorsement.

 _I see this book as an evolution of The Blueprint and the Founders Fund manifesto, where Thiel is calling on people to stop squandering creative energy and build something truly great._

Perhaps people are pushed to "quick exits" (and quick bucks) because that's what's emphasized today? Maybe if people didn't have to worry about where their next paycheck was coming from, they'd have more time to "build something truly great."

But no, let's not question the wisdom that monopolies are the only way innovation occurs, ignoring the plenty of counterexamples (Internet Explorer, anyone?).

</comment></comment><comment><USER36> A perfect example of a site that has indication of further content below the fold.

</comment><comment><USER37> So, anyone want to reconcile this with his version of libertarianism?

</comment><comment><USER38> Can you not pre-order Kindle books, or am I missing something?</comment>


Backdoor Found in Utility for Linux, Unix Servers - <AUTHOR> https://threatpost.com/backdoor-found-in-utility-for-linux/147581/ <comment><AUTHOR> Statement from webmin here: [http://www.webmin.com/exploit.html](http://www.webmin.com/exploit.html)</comment>


Stand by for Weather Map - <AUTHOR> http://blog.thehenryford.org/2014/06/stand-by-for-weather-map/

<comment><USER2> There were a lot of early fax machines. If you want one, a Western Union DeskFax is available on eBay.

[http://www.ebay.com/itm/Vtg-WESTERN-UNION-Fax-Machine-Box- of...](http://www.ebay.com/itm/Vtg-WESTERN-UNION-Fax-Machine-Box-of-L-48-Fax- Paper-/251654877918)

That device is well understood, and interfaces to modern equipment have been built. You might have to replace some tubes and capacitors.

Anyone know how Jenkins handled sync? That was a huge problem with early systems.</comment>


An Interview Question That Prints Out Its Own Source Code (In Ruby) - <AUTHOR> http://www.skorks.com/2010/03/an-interview-question-that-prints-out-its-own-source-code-in-ruby/

<comment><USER2> Another "How would you move Mount Fuji?" interview question. If only people would realize they don't need someone to move Mount Fuji.

</comment><comment><USER3> Hint in Perl, Python, or Ruby: blank programs are valid.

<comment><USER4> Given how nitpicky the rules for quines are, this would be valid unless a non- zero-length source was mandatory.

</comment></comment><comment><USER5> Check out this "quine relay!" <http://d.hatena.ne.jp/ku-ma-me/20090916/p1>

The Ruby program outputs Python that outputs Perl that outputs Lua that outputs OCaml that outputs Haskell that outputs C that outputs Java that outputs Brainfuck that outputs Whitespace that outputs Unlambda that outputs the original Ruby program.

(I was unable to get it to work when I tested it, but I still find it quite impressive!)

</comment><comment><USER6> So here is a much more interesting problem. Can you code a program that runs a function on its own source code?

Hint: It is a generalization of a quine.

</comment><comment><USER7> I've heard of a quine but only confuse myself trying to think of a way to write one in Ruby that doesn't involve something like eval-ing strings. Reg Braithwaite -> FAIL.

That being said, something tickles the back of my head... Are quines combinatorial? Something about a program that prints its own source code makes me think of some of Raymond Smullyan's various problems in the field...

<comment><USER8> My first thought was to parse the AST, then print it back out. No string manipulation needed. (at least not fancy)

</comment></comment><comment><USER9> Dang, I would've failed that interview question. Fortunately, my day-to-day work doesn't involve writing quines as much as trying to configure the right versions of Ruby, Postgres, and Rails 3. Wait--I'm failing at that one, too... ;)

</comment><comment><USER10> Handy Bash function for testing your quine:

      function quine_test { diff <(ruby $1) <(cat $1); }

Usage:

      $ quine_test quine.rb

</comment><comment><USER11> Cool because I had never heard of a quine before (so I guess I would probably fail the interview question).

<comment><USER12> The better for you. I can't juggle but I don't think that will exclude me from any jobs worth having.</comment></comment>


Ask HN: Why no sense of humor? - <AUTHOR> Is it just me or is any humor on hacker news down voted right away? <comment><USER2> Take the case of Reddit. Programming reddit used to be the place where smart programmers used to hang around and have quality discussions about the subject they care about the most, but the simple fact that reddit supported other kinds of news/content in the form of subreddits made the site a place for a lot of funny, worthless and snarky comments. Now people are more interested in taking sides in worthless arguments (about Joel Spolsky?) than serious productive discussions.

Remember that I am not ranting about the quality of the users of reddit, but what I am trying to say is that reddit as a community has become bloated. Of course reddit does have a lot of brilliant hackers as users, but the place is not like what it used to be. I doubt that there can be serious (programming) discussions in reddit anymore. Reddit is becoming more of a Digg than anything else.

Meanwhile Hacker News is trying very hard to prevent the same thing happeneing to them. It is a low-traffic news site for programmers that has very high quality content and committed contributors. A few days ago the site was mentioned in some social websites (including reddit) and a lot of traffic came in, and guess what they did? Here is what Paul Graham suggested:

"We've had a huge spike in traffic lately, from roughly 24k daily uniques to 33k. This is a result of being mentioned on more mainstream sites. I hope this spike will subside, like past ones have. In the meantime I may temporarily hack a few things to make the site faster, like putting fewer results on threads pages.

You can help the spike subside by making HN look extra boring. For the next couple days it would be better to have posts about the innards of Erlang than women who create sites to get hired by Twitter."

That is a very bold step to take, and worth it if you take the quality of the content seriously.

It is not that the people using programming reddit and hacker news are different. Even if the same person visited both the sites, he will be more inclined to post funny remarks in reddit while he will give serious opinions in hacker news. Not that there is something bad in being humorous, but being too much funny is kinda annoying.

Taken from [http://www.diovo.com/2009/04/broken-windows-theory-online- co...](http://www.diovo.com/2009/04/broken-windows-theory-online-communities/)

<comment><USER3> And the spate of Erlang articles which followed pg's quoted post was one of the funniest occurrences on Hacker News, ever.

<comment><USER4> For about ten minutes. Then it became obnoxious that it covered the front page.

<comment><USER5> That's just because you don't have any sense of humor.

<comment><USER4> I see this a lot, particularly on here: when someone doesn't find something funny that another finds funny, they're accused of not having a sense of humor.

I have a sense of humor. It might be different than yours, but I have one. I also have a low tolerance for noise on HN. I don't come here for "teh funny." I have others places I go for that. I come here for interesting, hacker related items. I can find funny all over the internet. This is the only reliable place I know of to find good hacker news. I'd rather not spoil that.

<comment><USER5> Scott, chill, it was tic. I'm sure that you have a sense of humor, but you didn't get my joke, apparently. You see, the thread is asking why HNers have no sense of humor, and... ah, screw it, it loses it if you have to explain it.

The erlang articles were mostly very interesting, and seeing a HN meme flare up and go away just as quickly, especially one that is self-deprecating in poking fun at the stereotype of the HN reader doing everything pg says, was very fun. I'm sorry you didn't enjoy it.

The only kind of noise that I really hate on HN is the "hacker news sucks" crap. If you think it's too noisy, get better filters, or help out by flagging the articles that violate the TOS, up-voting the articles that are good, and ignoring the rest.

Complaining about HN in an HN comment is frankly just humorless.

<comment><USER6> That's just because you don't have any sense of humor.

I find complaining about HN (especially the "whaa to much noise") on HN highly ironic.

<comment><USER7> Like people continually whispering "shhh," creating more noise than there was in the first place?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Humor is anathema to good discussion on sites that use voting models and karma.

It would be a lot different if discussions were flat, or at least where comments weren't judged on a per-comment basis. The problem is that the most humor a voting site allows, the more the top answers get diluted. I was a hardcore Reddit user when it started going downhill; the shift happened after one or two puns/jokes were breakthrough huge successes. After that, everybody tried to get the same success.

I downvote comments that are humorous but don't add to the discussion. I also usually don't upvote _useful_ comments that are humorous. This community is valuable because when somebody posts they're rarely being sarcastic/ironic. You get a lot of people saying things they mean at face value. Humor's downside is that it adds uncertainty to conversations.

</comment><comment><USER9> There's a much higher standard here for humor than other sites. Things that are really, truly funny, especially while also being sublimely clever are often modded higher than all surrounding comments.

<comment><USER10> As a recent arrival who has been trying to figure out what the community standard is, I have been paying close attention to this question. In line with rms's comment, no, I don't think humour gets downvoted per se. Cheap shots definitely are, which covers a lot of sarcasm, as are quips with no additional content and general rudeness. What I would say is that comments which lack content get punished even more when attempting (either successfully or not) to get a laugh.

I certainly don't think there is anything wrong with having a forum where every line doesn't play to the peanut gallery.

<comment><USER11> I think you're on the right track. In my experience, funny is not downvoted for funny's sake. However, there's a strong correlation between funny comments and short/low quality/insubstantial comments, and the latter will get downvoted.

If you want to be funny, be interesting at the same time. If you can't, then save the joke for reddit.

<comment><USER12> I think there's a bias against funny and amusing comments, and I think it's appropriate. The internet is an inexhaustible source of mildly amusing, even fairly funny stuff. There's a limited amount of room on the HN front page, and it shouldn't be wasted on humor of the quality that can be found in vast quantities all over the internet.

</comment></comment></comment></comment><comment><USER13> You asked for it...

A salesman, a project manager, and a programmer are kidnapped by terrorists on the way to a customer demo. The company refuses to pay ransom so they are to be executed. The kidnappers grant each a last request.

The salesman said, "I have been working very hard on a Power Point presentation of our new release and I haven't had a chance to present it yet. It's only 143 slides and 2 hours long, and I'd like to present it before I'm killed."

The project manager said, "I have developed a new methodology for implementing our new release. I'd like to present 25 flip chart pages to describe it. I will only take one hour."

The programmer said, "Kill me first."

</comment><comment><USER14> I enjoy humor. I do not enjoy the 157th regurgitation of a joke, which is meant not to be funny but to remind me of the experience of that joke once being funny, particularly when that wastes space from my dedicated business/programming bandwidth. See: absolutely any reference to Monty Python, lolcats, the bastardized pieces of proto-humor commonly sometimes described as "memes", etc.

High voted jokes also breed more of themselves. (As do highly voted comments, on, e.g., sexually gratifying oneself. Oddly enough, people often think the creeping pornification is a substitute for humor, too. We're pretty harsh on those too, thank goodness.)

</comment><comment><USER15> Humor is not automatically downvoted. One-liners that add nothing to a discussion are.

Humor can be used to great effect in order to make a point--but, more often than not, it represents much less of an increase in signal and much more of an increase in noise.

</comment><comment><USER16> I've wondered about that as well -- and it is strange to me. Hackers are widely-known for their impish pranks. And even when humor is used in the service of a point, that comment is usually voted down.

I know we don't want the place to turn into Reddit or, worse, Digg, but a little humor actually improves my thought processes and analytical skills.

But every community has its culture. HN is no exception.

To further explore it, in my experience of 15 years in the tech industry or its outskirts, I think a small but vocal minority of tech types are humor- impaired, and that often has an over-large impact on any tech-oriented site.

But who knows? I'm just spouting off ideas.

</comment><comment><USER17> Humor is great, except for when it gets upvoted more than actually constructive comments.

For that, I go to reddit. When I feel even _more_ impish, I hit digg.

Basically, there's a place for humor and there's a place for constructive dialogue. You'd think the two would go hand in hand, but a voting system like HN proves that it's a tough thing to do.

<comment><USER8> _Basically, there's a place for humor and there's a place for constructive dialogue. You'd think the two would go hand in hand, but a voting system like HN proves that it's a tough thing to do._

Here's how it works. Give people a soapbox, a place for them to develop their own writing styles and personalities, and humor and pathos tend to develop. I see it in every blog that I read and like: every voice is different and unique because they're able to experiment and develop themselves, and then they get an audience.

On Hacker News, users are depersonalized. That is to say, Hacker News is about the community as a whole rather than as unalone or knightinblue. Our contributions are valued, but only as long as we're being a part of the community. Say you're having problems with an ex-wife. Say I've been learning how to play basketball. These things may be a big part of our lives, but they don't have a place in Hacker News. So we leave a part of ourselves at the door when we post here. In reward, we have a community that has thus far managed not to turn petty and immature, where you can discuss things with a lot of people without there being memorable characters and personalities distracting from the conversation.

In fact, the people whose names I _do_ know tend to be ones I wish I didn't know. Certain people stand out to be because they _do_ use HN in a way outside the norm. Some people I remember for being over-the-top sarcastic and scathing. Some people use Hacker News like a soapbox, an attention-getter space. I'm sure that in some ways, my own habit of writing lengthy posts stands out and irritates some people, because I'll often go into more detail than seems warranted with an initial post.

So the emphasis in what you said is _dialogue_. When an individual is speaking, personality becomes a big thing. But in a productive conversation, personality becomes a deterrent that distracts from the important details.

</comment></comment><comment><USER18> Are you kidding? Many of the comments I've made have been marginally witty, and shot me up into karma stardom.

</comment><comment><USER4> People are rarely as funny as they think they are.

</comment><comment><USER19> I gotta say... the mindset of many on here seems to be: quickly find a flaw that I can knock down. People on here are usually confrontational in their approach, e.g. humor gets attacked. The tone on here seems to be rather grumpy (but I'm more used to the academic world). I don't like fluff-talk, but I also dislike easy criticism and literal-mindedness. However, HN is currently the only game in town.

<comment><USER15> It may seem that way, but that has more to do with the fact that agreement is not inherently comment worthy, since it does not do anything to further the discussion (note that expansion of an existing argument is comment worthy, but significantly rarer). Instead, the first responses to something have to show disagreement in order to establish an alternative viewpoint, through which there can be discussion.

<comment><USER19> Exactly: expansion of an existing argument is comment-worthy, but significantly rarer.

I'm missing a coherent discussion, instead I'm often stuck in a game of block & attack. One young hacker wants to show the other young hacker that he is superior. Personally, I find this is just noise... I seek comprehension.

<comment><USER15> Coherent discussion IS a sequence of block and attack--thesis and antithesis-- ideally (although rarely in practice) ending in some kind of resolution (synthesis). Comprehension without disagreement does not necessitate discussion or further remark; the best sign that you've written something of value that others have comprehended is when a comment is voted up without replies (the upvotes indicate value, and the lack of reply indicates agreement). Any other system would result in the overwhelming additional noise of a cacophony of "I agree"s with possible small variations.

<comment><USER19> In practice there aren't any totally novel ideas. So, if you gotta start every discussion from scratch with block & attack it gets tedious. How would a jazz musician be able to jam with new guys if they don't agree on something? I guess if hackers were Jazz musicians, the audience would hear short staccato outbursts mixed with gaps of silence.

And then there is the difference between an elegant attack, which you can learn from, or the usual trying to misinterpret a statement in their favor, which is called framing.

<comment><USER15> Continuing your musical analogy, a "discussion" without disagreement would be like a musical piece in which every instrument played precisely the same notes and every singer sang precisely the same words at the same time. In such a circumstance, the presence of additional people is largely irrelevant.

A sequence of arguments going back and forth between two people, on the other hand, are essentially the back and forth of a duet playing separate themes (that, ideally, mix at the end). While certain sorts of arguments are non- or counter-productive (analogous to internally discordant themes), the possibility of such things occurring does not imply that this mode is not superior to single-view discourse.

The fact that discussions center on points of disagreement is not an accident, and does not imply that there is not agreement regarding most things. Disagreements are simply the portion of a topic around which someone believes that there is more information that an outside observer should consider when formulating their beliefs, whereas when there is agreement no further information is necessary, so there is no value in transmitting more signal.

</comment></comment></comment></comment></comment></comment><comment><USER20> The long answer involves a lot of talk about how it degrades the site.

The short answer is that since people, last I checked, were animals who joked, and computers were made for people, not the other way around, the site should support joking and flag/hide jokes appropriately depending on user preferences.

I'm okay with it either way. I don't think of the humorless nature of HN as being some huge asset. In fact, it makes the place stuffy and overly earnest. Dare I say artificially boring. But I understand the reasoning behind the community's standards. I just think like everything else there is a proper mix in life. Finding the right mix for a social site seems to be a critical factor.

By the way, humor doesn't completely go away. People still sneak it in here or there. You're just forced to follow it with something of value to the conversation. This eliminates the hit-and-run snarky one-liners found on so many other sites.

</comment><comment><USER21> You are spot on, there's little humour and Slashdot is way funnier.

I always upvote something that is funny: maybe here funny isn't smart, which is wrong, or, funny is smart, which can easily be the case, but smart people who aren't funny don't want to acknowledge that others are funny.

Maybe "humour" is upvoted but "funny" is not because it's weird and uncommunal. So humour is often not appreciated because it gets too easily percieved as funny amongst the ultra-seriousness.

Maybe being in serious concentration, which gains the upvotes, people forget about their funny side in both reading and writing.

<comment><USER4> Slashdot is filled with people _trying_ to be funny. To the point that it dominates a thread, and drowns out real discussion. I hope we can avoid that here.

<comment><USER21> Right, but there are some seriously funny comments.

<comment><USER4> And they are completely drowned out by the seriously _unfunny_ comments. As is actual discourse. That's one of the reasons I gave up on Slashdot.

<comment><USER21> Standard Slashdot has a mod-filter set high and you'll get both very smart and very funny comments. The aggregate intelligence is actually higher on Slashdot because there's more users, but it's hard to engage in that community properly without having to plow through the tripe.

If there was a mod-filter here, or an upvote/downvote categorizer like there is at Slashdot, things would change. The direct payoff of humour is pleasure, with insight being of a different quality. There's more variety at Slashdot, and people can be more of themselves, for better and worse, and the modding style and layout promotes that diversity. Here, people downmod anything that doesn't add value to the discussion (or strongly opposes one's point-of-view) because you have to look at it, but on Slashdot, participation has it's own inherent value because of the filter.

Furthermore, if people here were identified by their real names, can you imagine how straight-jacketed most would feel, not wanting to be perceived as weird or 'funny' at any point?

Just takin' a stab.

</comment></comment></comment></comment></comment><comment><USER22> Most, but not all. Most attempts at humor in online forums are lame, so this is what you'd expect to find on a forum where lame comments were frowned upon.

I'm not saying voters' judgement of what's funny is perfect, but it's not too far off. I occasionally see a comment that seems funny that got voted down, but these are greatly outnumbered by ones that weren't that funny.

</comment><comment><USER23> Personally, where humorous posts are concerned, I upvote those that also have content (regardless of whether it is actually funny), leave alone those that are funny without content, and downvote those that do not have content and aren't funny. Sometimes, though rarely, I also upvote posts not relevant to the topic but which I find hilariously funny/clever, because a good joke is a hack all by itself.

</comment><comment><USER24> "The most important thing is that the comments are kept useful by constant vigilance on the part of the community. Did anyone see the reddit t-shirt thread yesterday? That sort of thing needs to remain unthinkable here. Not just the sophomoric sexualization and laughter-excuses-any-misconduct, but the parts of Internet culture which aren't relevant to programming/business/etc. (I like lolcats, anime, and politics myself -- just not here.)" - Patio11, <http://news.ycombinator.com/item?id=555595>

</comment><comment><USER25> That's a tricky one isn't it? I think the same things that make for smart and creative give one a good sense of humor, but you have to actively self-censor yourself to make sure you're really limiting yourself to things you really find funny and not just 'hah hah'. Of course, tastes differ too.

</comment><comment><USER26> Well, it mostly is; But the humor that gets upvoted its VERY funny, so, im ok with that high threshold. I keep coming here because of the signal/noise ratio wich has not changed that much in my more than 562 days here, wich in internet time its a lot of time. So, this is a truly valuable place.

</comment><comment><USER27> If you find something that can fly and it has feathers, while everything else that can't fly does not have feathers, then you should give feathers slightly more plausibility as the causal reason for flight.

</comment><comment><USER28> I have noticed this as well, and not just the time I got downmodded for responding "XSLT" on a thread asking what folks thought were the most "tranformational" programming languages.

</comment><comment><USER29> It was at +5 before linking to it here <http://news.ycombinator.com/item?id=564827>

That is an example of humor that didn't get nuked to hell.

It's also, I humbly put forth, an example of making an counter argument, making a separate point and not being mind-numbingly boring about it.

HN, humor is not death. You can laugh a little and still have time to believe you're smarter and better than the rest of us.

</comment><comment><USER30> Because nobody here has one.

<comment><USER31> This probably wouldn't be downmodded so much if people were less defensive when they were reading comments.

<comment><USER17> Agreed. I see no reason to downvote that comment so strongly. People really need to lighten up.

<comment><USER32> Even in jest, it's a simple-minded reflexive insult. Downvotes are a legitimate way to say we want less of that.

<comment><USER33> Or to prove the poster's point.

It's not like your choice is either upvote or downvote, you can just leave it alone.

</comment></comment></comment></comment></comment><comment><USER34> Oh yeah? Your mom.

<comment><USER34> Yup, you were right, no sense of humor.

</comment></comment><comment><USER29> Hacker News is for entrepreneurs making money. It is _serious_ business, not a place for fun.</comment>


Introducing Panda Job Board - <AUTHOR> https://medium.com/@usepanda/introducing-panda-jobs-board-3a13964cf61a#.dnjzrm2xt <comment><USER2> [https://news.ycombinator.com/item?id=10703898](https://news.ycombinator.com/item?id=10703898)

</comment><comment><USER3> Major change: it lets you filter not just by location/job-type but also by perk. Very nice implementation.</comment>


IRS just declared war on Bitcoins - <AUTHOR> https://fee.org/articles/the-irs-just-declared-war-on-bitcoin-privacy/ <comment><USER2> Did you actually except to be able to exchange an unlimited amount of money without having to declare it on your tax returns?</comment>