San Francisco Hotels Are World's Priciest as Rates Surge - <AUTHOR> http://www.bloomberg.com/news/articles/2015-06-30/san-francisco-hotels-are-world-s-priciest-as-rates-surge# <comment><USER2> I wonder how the analysis was done. San Francisco has a very different "hotel" presence than other cities I've been in. Here are just a few unique things:

* SF is one of the few cities I've ever been in where you will see motels in populous city areas. Normally you'd think in such a crowded city having a huge parking lot on your property would be foolish, but it seems to be popular. Off the top of my head I can think of 2 motels in the Marina/Cow Hollow area and 2 more in Soma, both of which are neighborhoods with insanely high real estate prices.

* In the areas in/around the Tenderloin there are a huge number of "hotels" that are basically extended stay residences for people who can't afford any apartment in SF. They're a few hundred bucks a month and feature tiny, often dirty rooms with shared bathrooms and no kitchen. However they're all called "____ Hotel" so they'd appear in any blind analysis of the city.

<comment><USER3> Regarding motels, I imagine that's the a consequence of the same anti- development forces that have been driving up real estate prices and produce extremely valuable areas filled with low-rise buildings.

Having a huge parking lot on your property in the middle of SF has to be foolish. At the very least it _must_ be worth building a multi-level garage to save space. However, is it feasible to replace it with anything else? If you already have a parking lot, perhaps because it was totally sensible in 1932 or whenever it was originally built, what does it take to build something more valuable on that land today?

</comment></comment><comment><USER4> I'm really curious where these numbers come from. I've found NYC always way more expensive than SF. Similarly London is hugely expensive. I'm wondering it there's either a bias in the way I search and look (booking.com) or whether there's some other explanation like a few super expensive places raising the price.

As an example I just put in Oct 11, 2015.

SF:

         21 hotels $55-$110
         36 hotels $110-$160
         55 hotels $160-$220
        123 hotels $220+

NYC:

          4 hotels $55-$110
          7 hotels $110-$160
         35 hotels $160-$220
        367 hotels $220+

<comment><USER5> In London I can always find ok hotels for $150/night. In SF it's 300-350 minimum. All prices including taxes. (Why don't you just include them in the display price, americans?)

<comment><USER6> At least four reasons. Americans are used to the system they have, it doesn't cause any meaningful economic problems domestically (complaints come almost exclusively from foreigners). Businesses specifically want to show you the price they're charging you, as apart from the taxes they're forced to collect; that also enables businesses to charge a bit more in the rounding schemes (eg sell a blu-ray for $5 headline price, charge tax after; if they had to build tax into it, they'd lose ~6% on the pricing to use the rounding promotion approach). The US has 50 states with different tax schemes, that's a nightmare for labeling goods.

For example, usually a bag of chips at Target or Walmart or a convenience store will say eg $3.99 printed on the bag. Some stores will slap their own dominant label on there, others choose not to.

Vendors often stock the shelves at stores, especially for certain categories of products, and store types. The chip delivery guy will stock the convenience store, Walmart, etc.

Chip production (eg Doritos) and delivery is limited to just a few factories, but they distribute to every state. For convenience, for decades, the companies have typically pre-stamped prices on chip bags.

So why not do it with hotels? Because no other segment of the economy tends to do it, and for the other reason mentioned: it cuts into price rounding advertising methods (or you have to raise prices to the next rounding).

If you want taxes built into the pricing on consumer goods, either they have to stop price labeling before delivery, or customize for every state. At this point, nobody really wants to change, because the system works fine as is. Ie it's good enough, but not perfect.

<comment><USER5> Contrast: In Europe typically no items in a grocery store have their price printed onto the actual product. Or even have price tags. You look up the product price by the price sign placed adjacently. It includes (by law) a handy price comparison (in the format of currency per e.g. liter/kg/g/etc.)

I think your system sucks donkey ass. :)

<comment><USER7> Also in the U.S. almost all major groceries likewise use signs on the shelf to display price, and the cashier reads the bar code to retrieve it at checkout.

The actual reason is a lack of sufficient pressure to change this practice.

</comment></comment></comment></comment></comment><comment><USER8> And people wonder why Airbnb is taking off like it is. The hotel industry is a cartel.

I hope Airbnb stays A Good Thing™ for a long time. I fear with its high valuation that it will only last so long, before sweeping changes are made that make it no longer worth it.

For now, I'm going to ride the train to the end of the line.

DISCLAIMER: I am an Airbnb host, but not in Cali.

<comment><USER9> Then why are Airbnb rentals in SF more expensive that in other cities? Hint: they all charge what the market will bare.

</comment></comment><comment><USER10> I stay at these places when I'm in town.

[http://www.sfhostels.org/](http://www.sfhostels.org/)

<comment><USER11> I prefer [https://www.airbnb.com/](https://www.airbnb.com/) myself, it's sort of in between :P

<comment><USER12> Thanks, I mean, why would anyone build hotels and employ union workers when they can just convert housing to hotels?

</rant>

<comment><USER11> Exactly. Why pay for more capital and labor expenses to convert existing productive real estate into a generic, anodyne hotel experience with amenities like daily housekeeping service that I don't need? One that's probably located in the tourist-trap district? Instead, I can utilize existing capital more efficiently and enjoy myself in a real part of San Francisco designed for actual human beings, and spend the savings on something more relevant to my interests (like more frequent travel). Almost certainly this means more profits going to local businesses -- and to the homeowner as well, who is more likely to spend them locally than HotelCorp.

Granted, there are some contract issues if the host _rents_ the apartment instead of owning it, and there is a risk of some externalities (chronic noisy guests upsetting neighbors) which could be managed with light regulation... but surely the idea is a sound one which should be embraced and encouraged. Right?

And those would-be unionized hotel employees would be there to do useful work for fair pay, no? They're not charity cases and I should't feel bad or feel compelled to use their services if I don't need those services at all, right?

</counter-rant>

</comment></comment></comment></comment><comment><USER13> Is this before or after the fourteen percent hotel tax? that would be another bump of nearly sixty bucks on the average room price given.

<comment><USER12> Both cities have hotel taxes which should be included in the price of the room, AFAIK.

</comment></comment><comment><USER14> I wonder what the median prices are.

This smells like it might be the case that most hotels cost significantly less than the average but a few super ridiculously expensive ones jack up the average by a very large margin.

</comment><comment><USER15> How is it that Airbnb is hurting hotels again? SF is the hometown of Airbnb, and yet hotel prices are still sky high.

<comment><USER16> In all the moaning I've heard about Airbnb I have not actually heard anyone make the claim that they are hurting hotels. I'm sure actual hotel company executives have but most of the complaining I've heard has to do with lots of strangers coming through people's buildings and things like that.

</comment></comment><comment><USER17> It's not expensive, it's 'progressive'

<comment><USER18> Why build hotels for the rich when SF can have miles of abandoned warehouses for the destitute?

<comment><USER19> San Francisco is a union city. They do a lot of building. Too much in my opinion; San Francisco is a small city. I don't think there's a shortage of hotels in San Fancisco? Even in Bubbles(like SF is currently experiencing), I have seen high end hotels leave rooms sit empty. I worked at the Fairmont during one of these booms, and they didn't budge on prices--they just left rooms empty. The twins just didn't need the money? Now shelters for the homeless are another story. SF is one of those city's you can really end up homeless--really fast. Maybe faster than NY? Rents have skyrocketed in SF, and the Bay Area these last few years. I have never seen anything quite like this?

<comment><USER18> 90% of the city is zoned for 4 story buildings. Almost every development proposal gets shortened for whatever reason. Areas that lend well to being urban, dense hubs for high rise offices/hotels/residential buildings like Central SOMA are zoned for 4 story buildings. It makes no sense.</comment></comment></comment></comment>


Russia pushing to partner with NASA on lunar gateway - <AUTHOR> https://arstechnica.com/science/2018/01/russia-forms-lunar-strategy-team-works-on-orbital-station-design/ <comment><USER2> A lunar gateway makes zero sense for any purpose (exploring the moon, mining the moon, going to mars), it's only been proposed to give the horrifically overpriced SLS a mission.

Russia only wants to partner for national prestige. It's space program has been starved near to death.</comment>


Ask HN: Software Engineering or Computer Science? - <AUTHOR>

Hi all, I have a quick question. When hiring someone, is it more desirable that they carry a Software Engineering degree or a Computer Science degree, or are both equally desirable? <comment><USER2> It doesn't really matter, except that if they got a Software Engineering degree from a university that offers both, they're probably a soulless cretin. (The actual manner in which their education is judged is based on the quality of the university, and, if you even have the information, the sort of courses that they took.) When I see somebody that willfully decided to take boring software engineering courses, I tend to have prejudicial thoughts about them.

<comment><USER3> > It doesn't really matter, except that if they got a Software Engineering > degree from a university that offers both, they're probably a soulless > cretin.

Or you know they could have done a EE degree and decided after they had done enough courses that EE was not their thing and they would probably do Software Engineering so as to graduate with some degree that made use of the requirements that they had already completed and was at least related to what they wanted to do in real life.

<comment><USER2> > EE was not their thing

Like I said, soulless cretin.

</comment></comment></comment><comment><USER4> That's really hard to give a decent answer to. The answer really depends on the people involved in filtering the applications.

Can you mirror what the job advert lists it's looking for?

A bit more outlandishly, could you identify a person working in or near the position you're after, then google their CV to see what they listed?

For me personally (not that it should be used to base your decision at all) i've never distinguished between either.

Just for contrast someone i used to work with (an electronic and software engineering graduate) detested the idea of anyone without an engineer's charter (himself included until recently) referring to themselves or their education with the word "engineer". More than once he gave graduates a dressing down for using the E word... life's too short for that IMO.</comment>


Changed new UI looks promising - <AUTHOR> http://www.godaddy.com

<comment><USER2> About damned time they did something. Still ugly and looks like a sitebuilder template, but at least they've made it to 2006 at last.</comment>


Bring Back The Show with Ze Frank - <AUTHOR> http://www.kickstarter.com/projects/zefrank/a-show-with-ze-frank

<comment><USER2> Be sure to read the rewards for pledges</comment>


Increased blood flow in areas of the brain in women - <AUTHOR> https://www.eurekalert.org/pub_releases/2017-08/ip-whm080717.php <comment><USER2> I wonder how they accounted for volumetric differences-- brains have structural differences between genders, with male brains usually 8-13% larger overall, but it's a lot more complicated than that, with volumes and neural densities varying across many different regions: [http://www.sciencedirect.com/science/article/pii/S0149763413...](http://www.sciencedirect.com/science/article/pii/S0149763413003011)

This would trivially seem to affect blood flow, since blood vessels for different sized regions would behave differently.

</comment><comment><USER3> "The study also found increased blood flow in limbic areas of the brains of women, which may also partially explain why women are more vulnerable to anxiety, depression, insomnia, and eating disorders." That is the claim James Damore made in his argument.

<comment><USER4> And you willingly ommited the other part of that statement:

"The pre-frontal cortex, which is the location for higher executive functions such as focus and impulse control, was one region in which women showed greater activity"

because it kinda contradicts that whole premise doesn't it?

</comment></comment><comment><USER5> More precisely: two brains.

<comment><USER6> Not really, no. Brains develop along with experiences, so two identical brains that go through different lives will develop differently. Someone who lives in solitary confinement for 10 years will have dramatically different brain activity than someone who doesn't, for example.

So, sex differences in brain activity could be genetic, could be cultural. No real way to tell without putting babies in experimentally controlled developmental trajectories, with double blind caretakers who are selected for androgyny.

And as for the "well, but this is still evidence there are two brains, regardless of cause" argument: Not necessarily. There are lots of axes on which we can slice populations into two statistically significant groups. In order to show that there are two sex brains, you'd have to show that the sex differences are more significant than other partitions.

Plea to other users: Please don't downvote or flag my parent poster. They are politely citing a commonly believed theory about sex that merits discussion.

</comment></comment><comment><USER7> This would be considered sexist harassment in some circles.

update: LMAO - it's been flagged and killed. It's almost like the left ignores science when convenient just like the right does.

<comment><USER8> We've turned off the flags, but if there's to be a glimmer of a hope for a reasonable discussion we need commenters to leave out the partisan flamebait.

</comment></comment><comment><USER9> I wonder what would be the comments if the title would swap men and women. Definitly this would top HN

</comment><comment><USER10> The article is a bit different than the title, but still interesting.

<comment><USER11> Yes, the article title manages to be both clickbait and flamebait, and to leave it as is would not only violate the HN guidelines, (which specifically ask for such titles to be changed: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)), it would also do considerable damage to HN. Emotions are running particularly high about such material right now.</comment></comment>


Nebula: Simple and Flexible Apps with (msl) Data - <AUTHOR> https://mimix.io/nebula/ <comment><AUTHOR> OP here. Mimix is a software system we're developing at my company which is the successor to Vannevar Bush's Memex system, Doug Engelbart's NLS, and Ted Nelson's Xanadu.

Recently, we completed our Nebula deployment system which makes it possible to deploy apps and data in the ways we describe in the Mimix Whitepaper.

You're feedback is invited and welcomed!

Thanks in advance.</comment>


Ask HN: An app has access to my Google account, but access can't be revoked - <AUTHOR> I know that one OAuth app has access to my Google account, because Google does not ask me to grant permissions to that app when pressing the app's log-in button. I am unable to find it in the list of apps with access to my Google account [1] though.
The app performs login using https://accounts.google.com/o/oauth2/auth with scopes 'openid email profile'.
I asked a few peers. For most of them the app does not appear in the list of authorized apps, for a few of them it does. After they revoked access and tried to log into the app again Google asked for permission and properly listed the app in the list of authorized apps again.
What can I do to revoke the app's access to my Google account?
[1] https://myaccount.google.com/permissions <comment><AUTHOR> I was able to solve the issue and revoke the access:

1\. I modified the URL to add the `[https://www.googleapis.com/auth/plus.login`](https://www.googleapis.com/auth/plus.login`) scope.

2\. This caused Google to re-ask me for approval, because I did not yet acknowledge the scope.

3\. Afterwards the app appeared in my list of authorized apps.

4\. I revoked access there.

5\. I confirmed that access was revoked, when I tried to login back into the app Google asked me for approval.</comment>


Add HN-style "about" field to user profiles [on reddit] - <AUTHOR> http://www.reddit.com/r/ideasfortheadmins/comments/1bo8o9/add_hnstyle_about_field_to_user_profiles/

<comment><AUTHOR> Notice that I have separate it from anti-spam changes.</comment>


The unlawful imprisonment of my mind - <AUTHOR> https://medium.com/i-m-h-o/399c21224f8b

<comment><USER2> A different sort of patent than what she is referring to, but I was somewhat aghast to wander across this patent today: [http://www.google.com/patents/US8140608](http://www.google.com/patents/US8140608)

Title: "Pipelined integer division using floating-point reciprocal"

Now, I know, you aren't supposed to judge a patent by it's title. Maybe they've really come up with something novel and non-obvious to a 'person skilled in the art'.

Let's check. ABSTRACT:

      One embodiment of the present invention sets forth a
      technique for performing fast integer division using
      commonly available arithmetic operations. The technique
      may be implemented in a two-stage process using a single-
      precision floating point reciprocal in conjunction with
      integer addition and multiplication. Furthermore, the
      technique may be fully pipelined on many conventional
      processors for performance that is comparable to the best
      available high-performance alternatives.

Hmm, that sounds pretty obvious. It also sounds a lot like fairly basic arithmetic. But it's the claims that matter, not the abstract.

Here's claim 1 in its entirety:

      1. A method for performing integer division, the method comprising:
      receiving an integer dividend and an integer divisor;
      computing, via one or more processors, a first partial
      quotient using a set of significant bits from the dividend;
      computing a first partial remainder;
      adjusting the first partial quotient to generate an adjusted first partial quotient;
      computing a second partial quotient based on the first partial remainder;
      computing a second partial remainder;
      adjusting the second partial quotient to generate an   adjusted second partial quotient; and
      computing a quotient by adding the adjusted first partial quotient to the adjusted second partial quotient.

Hmm, that sounds a lot like they've just patented some fairly basic math. Who are these patent trolls?

      Owner name: NVIDIA CORPORATION, CALIFORNIA

Oh. Well, I hope at least they make good use of their temporary monopoly for the progress of science and the arts.

</comment><comment><USER3> "Occupy and others, you were right. And I was wrong. It was the protesters who were more sophisticated, knowledgeable and aware than I was."

No, they weren't! After dismissing them first, the author comes around and ends up giving the protesters too much credit in my view. I read the protesters' arguments exposed back then and I couldn't make much sense out of those. Yes, things may be wrong as they are and some change is perceived as necessary to avoid the collapse of social order, and for that I also agree that a critical mass of people is needed, which means that the change proponents are in need for as much adherents as they can get, but to crown fools is dangerous.

<comment><AUTHOR> Up-voting you. But I'm not sure if we give them enough credit. It is hard to work against the system; insanely hard to do something on this scale.

I feel their simple arguments suffice to show how unfair the current system is. And at that/this point, it wasn't even necessary to propose solutions. Step one is to tell the world that there is something wrong. In recent memory, they have been one of the most prominently heard voices and that's a success.

<comment><USER3> Thanks for up-vote, although I expected down-votes for going against what I presumed to be the feeling of the dominant audience. I don't argue that the system is unfair, I just have my fears that in order to get results some very bad mistakes could be committed. In the communist doctrine, in order to get mass support, some populist policies were adopted, like giving free credit to simple people, and (as a consequence) putting them forward, no matter if they were competent or not. So my fear comes from a reality that me along with two older generations had to experience. It's a experience that Americans lack and that obviously makes them prone to repeat bad history. When complimenting someone in political matters, think that your praise may have consequences as it can serve as basis for power claim. When it's about power, the receiving subjects should be (in my book) very, very deserving. Sorry for stretching the limited discussed context to something more.</comment></comment></comment>


Ask HN: For testing landing pages, what's your favorite service – and why? - <AUTHOR> <comment><USER2> I use Pingdom's speed test. I like that it doesn't require creating an account and gives some useful tips</comment>


Ask HN: Is there an easy way to search your own favorites on HN? - <AUTHOR> <comment><USER2> Only a few weeks ago I created a quick command-line app [0] [1] to download my own favorites and upvotes data.

It emits a decently modeled JSON array of Story objects for the named account.

There's no README (yet) because I only made it for my own purposes, and didn't expect anyone else to want to use it!

It is go gettable with:

        go get jaytaylor.com/hn-utils

Here is the current usage:

        hn-utils -u sharemywin

Once you have the data, a search is only a grep away.

It was a bit surprising to discover HN doesn't offer a proper firebase API for user favorites data, though knowing dang et. al, there's likely a well thought out reason. Or perhaps simply hasn't yet bubbled to the top of the priorities queue.

Also added an overview + data for you here:

[https://gist.github.com/jaytaylor/953c9e3f55038d6cda224689d5...](https://gist.github.com/jaytaylor/953c9e3f55038d6cda224689d5cfba73)

Hope this helps!

Cheers,

Jay

[0] [https://jaytaylor.com/hn-utils](https://jaytaylor.com/hn-utils)

[1] [https://github.com/jaytaylor/hn-utils](https://github.com/jaytaylor/hn- utils)

<comment><AUTHOR> Thanks I'll check it out. I've started favoriting alot of things and don't have time to read everything all the way through so I'm trying to manage the process better.</comment></comment>


Why the Sharing Economy Treats Provider Training as Mission Critical - <AUTHOR> https://medium.com/swlh/why-the-sharing-economy-treats-provider-training-as-mission-critical-95e236844828 <comment><USER2> I was thinking about this the other day. For companies training is a risk because the employee can leave and take the investment with them. With platforms you'll lose your reputation.</comment>


Bjarne Stroustrup – The Essence of C++ [video] - <AUTHOR> http://channel9.msdn.com/Events/GoingNative/2013/Opening-Keynote-Bjarne-Stroustrup <comment><USER2> If you've ever wondered what's the deal with C++ and why it's being used in 2013, you might wanna watch this. Stroustrup isn't a very flashy speaker, but he says some incredibly insightful things.

C++'s C heritage makes it hard to master and also causes countless misconceptions. Even if you never want to use C++, it's worth looking into some of the unique concepts that, sadly, didn't catch on in other languages so far. (My personal favourites are const correctness and RAII.)

Do watch the talk, the first few minutes might already be mind blowing for anyone who thought C and C++ are basically the same language.

<comment><USER3> There are also some things that are powerful but I'm not quite sure if I really like them. For instance, he promotes the use of handles instead of pointers. He goes through these variants:

      Gadget* p = new Gadget(n); // not exception safe
      shared_ptr<Gadget> p{new Gadget(n)}; //exception safe
      unique_ptr<Gadget> p{new Gadget(n)}; //exception safe and less wasteful than shared_ptr if local
      Gadget g{n}; //his preferred solution

My problem with his preferred solution is that I cannot know that Gadget is really a handle to a shared Gadget and not a big fat Gadget value on the stack. The only way of knowing that is to look at the implementation or the documentation.

So if g is returned from a function or passed to a function by value, I don't know whether or not a deep copy is made. If I manipulate that Gadget, am I manipulating a shared object affecting others or is this my private copy?

Qt uses that pattern throughout, and because it is used for everything in Qt, you know that you're dealing with handles. But the C++ standard library doesn't do it that way. Almost none of the classes in the standard library are handles.

If I see a pointer, shared or otherwise, I know I'm not dealing with a deep copy. I know someone somewhere else might point to the same object.

<comment><USER2> > My problem with his preferred solution is that I cannot know that Gadget is > really a handle to a shared Gadget and not a big fat Gadget value on the > stack. The only way of knowing that is to look at the implementation or the > documentation.

I'd say you do not _need_ to know. If Gadget contains tons of data, it's wiser for it to just put that on the heap, internally. Like std::vector does. As long as Gadget handles (or forbids) copying, assigment etc. (rule of three), that's fine.

If you do have a huge performance issue because you're using a class that, unwisely, puts tons of data on the stack, you can use a unique_ptr instead. Kind of an edge case in my experience though.

<comment><USER3> I disagree. You have to be absolutely certain at all times whether you're holding on to a reference to a shared data structure or you have your own copy, unless the object is immutable. This is not just a performance thing.

<comment><USER2> You mean that it's not clear if copying the handle will copy the data or just create another reference? At least in the STL that's kinda clear: vector will copy its elements (if they are pointers, it'll copy the pointers. if they are values it'll copy all the data), shared_ptr will copy the handle pointing to the same shared object, unique_ptr is not copyable and so on.

But agreed, it's opaque when working with third party code. Gotta figure out the conventions.

<comment><USER3> _> You mean that it's not clear if copying the handle will copy the data or just create another reference?_

Exactly. In the STL, if it looks like a value copy it is a value copy, but the handle pattern that Stroustrup prefers gives you no clue whatsoever as to what's going to happen. You have to figure it out one class at a time.

</comment></comment></comment></comment></comment></comment><comment><USER4> I think I watched all the talks from Going Native 2012, and I highly recommend them [1]. I expect 2013's will be just as good, though I won't have time to watch any for a while. Here are the others: [http://channel9.msdn.com/Events/GoingNative/2013?sort=sequen...](http://channel9.msdn.com/Events/GoingNative/2013?sort=sequential&direction=desc&term=&d=1&d=2&d=3&Media=true#theSessions)

[1] [http://channel9.msdn.com/Events/GoingNative/GoingNative-2012...](http://channel9.msdn.com/Events/GoingNative/GoingNative-2012?sort=sequential&direction=desc&term=&d=1&d=2&Media=true#theSessions)

</comment><comment><USER5> As somebody who attended this conference, and hadn't had much exposure to C++11 features outside of 'auto', my personal biggest takeaway from almost every talk was this: _Stop passing your sink variables as const refs._

That is to say if you have a constructor:

      MyClass::MyClass(const std::string& s) : m_s(s) {}

That you call like:

      std::string s = "Some string";
      MyClass c(s);

You're hamstringing the compiler into _always_ copying that string instead of being able to use the new move semantics, because it can't mess with the guts of a const reference. Instead, do the previously unspeakable evil of passing by value and then moving, e.g.

      MyClass::MyClass(std::string s) : m_s(std::move(s)) {}

This lets the compiler know that if string has a move constructor, and is an rvalue, it can just move the guts into place instead of performing the copy, since the variable is 'sunk' into the new location. Huge wins all around.

<comment><USER6> Is the std::move call really necessary? It's a little sad if the compiler can't see that s is already an rvalue.

<comment><USER7> Once things have a name and you can take their address they are no longer an rvalue. It would require a much more sophisticated type system to do this automatically (when you pass a reference to another function, does it capture it?). It would also be non-obvious when you were moving. Think of Java style escape analysis vs C++ stack allocation (implicit vs explicit). There is one case where the compiler will do this though, when you return a stack allocated value from a function, it is implicitly moved.

<comment><USER8> The argument here is that in the body of the constructor the developer probably doesn't use s, so a trivial analysis of the function can say "oh, it doesn't matter if I destroy s, so in the one place where it is used I'll just move it". It doesn't then matter if it is obvious it happens or not, because the semantics of the program wouldn't be maintained (and honestly, I'd argue it is never quite obvious when what happens in different contexts given the large number of rules involved: you kind of just have to have some trust).

<comment><USER7> There are a number of considerations because the compiler can't prove it in general without augmenting the type system or doing whole-program analysis.

Do you allow, but not require, the compiler to do this substitution whenever it can prove a value is never used again? This is unreliable across build options and compilers so it would be unwise to depend on it. There is an opportunity here for a tool that could identify places where you could insert move, perhaps even a -W option for the trivial cases such as above, but I am not convinced the language should allow the compiler to do this.

Do you make it mandatory and add more special cases for the compiler to have to implement? This would require the compiler to track references to make sure they don't get passed to some other function. It would need someone to codify the special cases in the standard and this might be very difficult. It would also be fragile, there would be cases where implicit move used to kick in but some added function call inhibits it even though a move is still the right thing to do.

<comment><USER8> You seem to be assuming that optimizations are only of value if they can be depended on happening consistently as a defined property of the language on every single platform for which there exists a compiler: in practice, compilers perform numerous optimizations (such as static branch prediction) that only work probabilistically even for the case of a specific version of a specific compiler on a specific operating system; I know of very few people (maybe you are one of them, however) who consider this to be a detriment. For a more obvious comparison: yes, I could sit around constructing object pools in my Java program to avoid heap allocations and their associated garbage collection penalty, but if rudimentary escape analysis manages to pick up a lot of the value, even if "fragile" or nondeterministic, I might not need to spend the time anymore to worry about that kind of detail in my software as the cost benefit analysis shows that the toolchain is now a more efficient usage of resources towards that issue (I could be spending my energy working on algorithm design, for example, instead of object pools). As long as the semantics of the language support the optimization, and as it doesn't seem to be difficult to implement, it would be useful to have the compiler perform this optimization for the developer, and one would expect such an optimization to either already be there or be "in the works".

<comment><USER7> This is a very different kind of optimization than the other things you are talking about. This is something that is operating at a high level and potentially has implications that might not be obvious. You are changing the type of something and effecting the function overloads which are resolved. I think its important for what functions you are calling to be deterministic. My previous post was just touching on what possible value can be gained from allowing this and my conclusion is that it would be very little.

Also, your example of escape analysis is precisely because Java doesn't allow you to express what you are wanting to do, whereas C++ does allow you to express moves.

edit: I would compare this to C++'s copy elision, but that has a very high value and is much less intrusive.

<comment><USER6> I guess considering a user defined move constructor could do something arbitrarily stupid you have to be consistent.

<comment><USER7> Also, any function can be overloaded on rvalue references.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I liked this snippet about pointer misuse:

      void f(int n, int x)
      {
        Gadget* p = new Gadget(n);  // look I'm a java programmer! :)
        // ...
        if(x<100) throw std::runtime_error("Weird!");  // leak
        if(x<200) return;                              // leak
        // ...
        delete p;  // and I want my garbage collector! :(
      }

<comment><USER10> I rather prefer Java:

        void f(int n, int x) {
            Gadget p = new Gadget(n);
            // ...
            if (x < 100) throw new Exception("Weird!); // no leak
            if (x < 200) return;
            // ...
        }

Yes, good night's sleep tonight after writing that...

<comment><USER11> Java:

        void f(int n, int x) {
            Reader fr = new FileReader("foo.txt");
            // ...
            if (x < 100) throw new Exception("Weird!); // resource leak
            if (x < 200) return;                       // resource leak
            // ...
        }

A garbage collector that gives a false sense of security is much worse than no garbage collector at all.

<comment><USER10> try/finally in Java / using in C# are designed for that scenario.

<comment><USER11> And try/finally assigns the cleanup responsibility to the caller, not the callee, which just adds boilerplate and mental burden. C++ does not need a finally block due to RAII. The using block (and "try-with-resource" in Java 7) is a poor man's RAII emulation.

Anyway, what if you need to share non-memory resources? Suddenly you cannot depend on the garbage collector, you cannot use try/finally, you cannot use using or try-with-resource - you need to handle the situation just like in C++, except you're given fewer tools to do it - and a poorer understanding of the situation if you've learned that you don't need to do manual resource management due to the garbage collector.

<comment><USER12> True, but 90% of resources is memory. Java makes 90% of resources much easier to handle and 10% only little harder (like always use the try-catch-finally or try-with-resources).

</comment></comment></comment></comment></comment></comment><comment><USER13> I look at Java code and it horrifies me. Java is great if your resource is memory. It turns into a horrible unsafe mess the moment your resources are not memory.

      //C++ RAII goodness.
      void foo()
      {
      	conn.open();
      	file.open();
      	printer.activate();
      	//do stuff
      }

      //Java's lack of RAII is disturbing
      void foo()
      {
      	try{
      		conn.open();
      		file.open();
      		printer.activate();
      		//do stuff
      	}
      	catch(Exception e) { }
      	finally{
      		try {
      			conn.close();
      		}
      		catch(Exception ee) {}
      		finally{
      			try {
      				file.close();
      			}
      			catch(Exception eee) {}
      			finally {
      				try{
      					printer.close();
      				}
      				catch(Exceptoin eeee) {}
      			}
      		}
      	}
      }

<comment><USER12> You can write bad code in any language. No experienced Java coder would write a code like this. Java has ARM blocks for dealing with deterministic resource cleanup.

<comment><USER14> using/ARM/etc. make classes which own non-memory resources a lot less awkward to deal with, but one of the big wins of RAII is that the caller doesn't have to know or care that you have things which require special cleanup.

<comment><USER12> Agreed, however it is very easy to catch a forgotten close() automatically (IDEs do that), and, at least in my experience, most non-memory resources are used locally and not shared, so they are pretty easy.

On the other side, some programming techniques are hard or downright impossible without GC - e.g. heavy functional programming with immutable persistent structures.

</comment></comment></comment></comment><comment><USER15> I posted some of the others while they were live : [https://news.ycombinator.com/item?id=6336789](https://news.ycombinator.com/item?id=6336789) [https://news.ycombinator.com/item?id=6336778](https://news.ycombinator.com/item?id=6336778)

Hopefully we can have an interesting discussions on those topics now that at least 1 news about them has reached the main page.

</comment><comment><USER16> really interesting to see classes as ressource manager above all, instead of concept incarnation. I was almost convinced to go back to C++ until the slide with auto range and all, combining new features of C++, at which point i remembered why i didn't want ro have a look at C++ code again.

but hey, i'm not a system programmer so i can afford it :)

<comment><USER2> RAII ("classes as resource manager") is one of the nice concepts in C++. My favourite is certainly const correctness.

And then there's tons of things that creep me out a bit. Being a multi paradigm language sounds good on paper, but it seems to cause a lot of accidental complexity. The best way to stay sane is probably to pick a certain subset of C++ for your project and stick to that, that's what I tend to do.

Then again, that's not uncommon in simpler languages either. "JavaScript, The Good Parts", lint and all that. Code accessibility matters IMO.

<comment><USER12> C++ const-correctness is weaker than immutability in, say Haskell or Scala.

<comment><USER2> Can't say anything about Haskell, but what Scala has is less flexible then const correctness in C++ IIRC. You can't have an immutable reference to a otherwise mutable object and then call non-mutating functions on it. It's either fully immutable or fully mutable. CMIIW by all means.

</comment></comment></comment></comment><comment><USER17> Am I the only one who is too lazy to write concepts? The process seems too involved and represent a case of diminishing returns. Large OOP projects are infamous for having classes that are impossible to mock, this will only make the problem worse.

</comment><comment><USER18> Nice, thanks for posting</comment>


Iowa, Pigs, Microchips, and Founding Silicon Valley - <AUTHOR> http://joshldavis.com/2016/06/20/iowa-pigs-microchips-and-founding-silicon-valley/ <comment><USER2> It's a fun story. I would venture to guess that each of the 'traitorous 8' had their moments that would have changed the course of their lives and of Silicon Valley. Least of which is Andy Grove, whose dogged pursuit of process repeatability is what enabled Fairchild to mass produce their circuits.</comment>


Ask HN: After almost dying couple of times I want to revolutionize healthcare - <AUTHOR>

Hey HN, First of all I wanted to thank you for inspiring a pivot based on this last post of mine that hit the FP on HN: http://news.ycombinator.com/item?id=2312566 and thank you for the kind words. I was working on a social app like most of us do, and realized that social apps are a waste of time, there is nothing new or world changing about them. Facebook has kind of solved social already I think 600M friends can prove that. The world needs entrepreneurs to solve real big problems. Since I went through such extensive health issues all by the age of 25, just to name a few: 2 aneurysms, 2 brain surgeries, endocarditis, mitral valve regurgitation, coma, needed to learn how to walk again, and living in the hospital for a while, I decided there is serious change that needs to be done in the healthcare space, coming from someone who not only wants to make money but understands a lot of the problems from within (which there are a lot).
I have a clear picture of what I want to do and its super exciting, I started designing/coding it, but would like to find a co-founder to help me solve such a serious problem.
Email me at: firstname.lastname@example.com if you are interested.
Please be serious, I don't want to talk I want to do. <comment><USER2> IBM is doing some things with watson around expert systems for disease diagnosis that are pretty interesting. Basically doctors are not very good expert systems as they dont know the real probabilities and can't factor in all the variables (or forget to ask).

Surgeons given software that forms a presurgery checklist have a significant improvement in not screwing things up

Same with pharmacies and detecting side effects between drugs people are taking. etc

I would be interested in hearing what you want to do

</comment><comment><USER2> Also people have been trying to do electronic medical records for ages. I worked on an electronic patient system in high school in the mid 80's (on macs!)

Some guys I know sold a startup for around 10M that did analytics for hospitals on metrics around physician effectiveness. I think they had only worked on it for a year or two.

</comment><comment><USER3> [http://www.theonion.com/articles/quicklube-shop-masters- elec...](http://www.theonion.com/articles/quicklube-shop-masters-electronic- record-keeping-s,19736/)

</comment><comment><USER4> Hi, please get in contact, I may be able to help or put you in touch with people who can firstname.lastname@example.com

</comment><comment><USER5> Are you aware of <http://massivehealth.com/>?

</comment><comment><USER6> I can't imagine how you can revolutionize healthcare by coding.

<comment><USER7> Every time I have to deal with the health care system, I feel like I'm going back in time. Doctors that can't even communicate by email. Redundant record keeping. So much lost information. So much lost data. So much waste. Every time I have a problem with my insurance, I have to call a 800 number and sort things out with a human being paid money to do what software could do.</comment></comment>


The Atomic Tank? (2018) - <AUTHOR> https://mydailykona.blogspot.com/2018/01/the-atomic-tank.html <comment><USER2> I spent a month earlier this year writing up the history of nuclear power development in the USA [1]. If you like this it might be right up your alley. Things that actually were built include a truck-mounted nuclear reactor (ML-1), nuclear reactors in space (SNAP-10A), a nuclear-powered merchant ship (NS Savannah), an ice-base powered by a nuclear reactor under Greenland (Camp Century), dozens of highly exotic power reactor prototypes, and (of course) the modern nuclear power plants.

[1] [https://whatisnuclear.com/reactor_history.html](https://whatisnuclear.com/reactor_history.html)

I didn't cover tanks but did touch on nuclear-powered aircraft, which we spent about $1B (1950s) dollars on before ICBM progress obsoleted the concept (for urgent military needs at least). The work led to the molten salt reactor concept, which is much loved today in the internet nuclear circles with civilian power production in mind.

<comment><USER3> > "[...] before ICBM progress obsoleted the concept."

I'm afraid that anti-ICBM defenses and the availability of reliable auto-pilot technology made the concept of a nuclear powered planes relevant again: [https://en.wikipedia.org/wiki/9M730_Burevestnik](https://en.wikipedia.org/wiki/9M730_Burevestnik)

<comment><USER4> First of all that's a very important article people should be aware of: around the ABM treaty, nuclear _powered_ cruise missiles, and maybe some deaths developing that tech. This is just last year, Putin driven.

Second of all, it's not clear why it needs to be nuclear powered. Our 1970's subsonic cruise missiles are terrain-following for 2500km at 30m AGL. You can throw them from trucks or ships or planes and go well into someone's territory. A fair assumption is that everyones' are better now in all axes. The point is you don't need the price/risk of unlimited range, unless your goal is to terrorize and poison everything on the way to your target.

<comment><USER2> We had some nuclear scramjets in the Project Pluto era. I think one nice thing about them in the military sense is that they can go REALLY fast for a pretty long time.

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

<comment><USER5> They were doomed. The issue was heat. At supersonic speeds air friction heats the missile. Without fuel being burnt there is no way to _dump_ the heat off the missile. Regardless of heat from the engine, after a few hours air friction would see the entire thing glowing red, the "thermal thicket".

</comment></comment></comment></comment></comment><comment><USER6> The good old days were probably better known as the crazy old days. Think about the technological jump that came from WW2, suddenly all aspects of society are impacted by what had been developed in relatively short order.

So the next generation is presented with all these new concepts and technologies with no world war to get in the way of exploiting them. Yes a lot of the ideas were war related but so much also went into civilian use that transformed the world.

</comment><comment><USER7> It talks about a V-8 engine and an electric generator. Is "electric generator" a different way of saying "nuclear reactor"?

Edit: I missed the paragraph about later considerations for other systems to power the tank...

The NB-36H was an interesting plane. [https://en.m.wikipedia.org/wiki/Convair_B-36_Peacemaker#Expe...](https://en.m.wikipedia.org/wiki/Convair_B-36_Peacemaker#Experiments)

</comment><comment><USER8> All I can think is "top heavy" and "going to tip over"

10 tons for the chassis, 15 tons for the huge turret.

</comment><comment><USER9> "U.S. Army Gulf War Veteran, former Ford Autoworker and presently working in the aviation field as a Chemtrail Technician"

Cracked me up

</comment><comment><USER10> Like something out of _If This Goes On—_

</comment><comment><USER11> A truly stupid idea. As if tanks need long range or long time autonomy. That's where nuclear energy is useful. A tank is a disposable unit. It can be easily destroyed and it doesn't carry lots of troops or vehicles.

</comment><comment><USER12> I imagine if someone were to design a new tank today, the crew would be placed in the hull, with the turret remote controlled. And an array of sensors, including cameras, to provide visibility for the crew.

<comment><USER13> > the crew would be placed in the hull, with the turret remote controlled

Already done: the T-14 mentioned by nradov, and also the Remote Weapon Station, used on lots of platforms [0]. Historically, the Swedish Stridsvagn 103 [1] was fully turretless. Conversely, if you like turrets, then how about the T-35, which has five [2]

[0] [https://en.wikipedia.org/wiki/Remote_controlled_weapon_stati...](https://en.wikipedia.org/wiki/Remote_controlled_weapon_station)

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

[2] [https://en.wikipedia.org/wiki/T-35](https://en.wikipedia.org/wiki/T-35)

</comment></comment><comment><USER14> What's stopping remote controlled unmanned tanks?

Tanks are a huge bullseye target on the battlefield and everyone inside seems pretty vulnerable from anything but small arms fire.

<comment><USER15> > Tanks are a huge bullseye target on the battlefield and everyone inside > seems pretty vulnerable from anything but small arms fire.

Tanks operate supported by infantry, and tanks really do not like infantry pointing anti-tank weapons at them. You may get one surprise shot at a tank, but unless you're truly suicidal, you're probably not going to stick around for a second.

<comment><USER16> Tanks were really vulnerable in Syria against Kornet-like [1] weapons, I think only the Russians providing T-90s to the Syrian Army helped made things a little better for them, but by that point the Government-supported army had already lost dozens (probably more than 100 even) of tanks.

Also judging by what happened in Syria, tanks are not that efficient in densily built urban environments. The Syrian Army tanks had almost free reign in the Damascus neighborhood called Jobar but with not that much showing for it. Similar thing happened in East Aleppo, but at a smaller scale. What helped tip the balance in favor of Assad's army were the Russian air bombardments (a quick search for "Syria cluster bombs" will help clear things up).

[1] [https://wikipedia.org/wiki/9M133_Kornet](https://wikipedia.org/wiki/9M133_Kornet)

</comment></comment></comment><comment><USER17> Inspiration for [http://www.sjgames.com/ogre/](http://www.sjgames.com/ogre/) ?

</comment><comment><USER18> There's also the Object 279 tank, which wasn't nuclear powered but was designed for the nuclear age</comment>


Applying conversational design it to all types of interfaces - <AUTHOR> https://blog.prototypr.io/conversational-design-applying-it-to-all-types-of-interfaces-60b2b7beebd4 <comment><USER2> Please only apply "conversational design" to the few places where it's appropriate. I recently tested an app that had a study section. But instead of presenting the requisite knowledge the conventional way (text, maybe a video), they went all cute and "conversational" and put it in fake-messenger speech- bubbles...

App: "Would you like to learn about <...>?"

Me (exasperatedly typing): "yes"

App: "Bla bla 1"

Pause, "typing" animation...

App: "Bla bla 2"

Pause, "typing" animation...

App: "Would you like to learn more?"

...

Instead of just showing me the information so that I could quickly scan it, they forced me to type "yes" or "continue" every so often, and then, infuriatingly, fake "typed" the answers out slower than one reads, so that one had to wait for the stupid app.

I've deleted it.

<comment><USER3> What's so peculiar about bad interfaces like that you've described is how it's so utterly obviously not up to the job. It's like looking at certain websites and saying "I can't read this". My energy supplier prints bills with some info in _very_ light grey on white - I literally can't read the text, it's so obviously inadequate, but every day another thousand below-par websites/GUIs/whatever are churned out by people who not only don't understand UIs/websites, they can't detect the most fundamental, evident, basic flaws right in front of them.

<comment><USER2> And, in many cases, it's even extra work to make it worse than the simple default...

<comment><USER3> Heck yes. Don't just _display the information_ , let's instead _un-fade into visibility_ so the users have to wait... Good point.

NB. these stupidities are a lot harder to do without jscript, which is another reason I'm against js.

</comment></comment></comment></comment><comment><USER3> I'm probably being over negative or misunderstanding the intent, but this article is vague, blathery and its ideas offputting and likely counterproductive. It seems to be pushing the idea of interfaces too far with:

> but we don't typically spend much, if any, time considering what kind of > experience we want the system to have

Yes, as the following sentence says, that is weird.

> How does a system react to users? Is the system friendly? Is it witty? How > well does the system know how to converse with humans, or more specifically, > to you as an individual?

If you have an interface like that, you'd better be very precise about what it's interfacing to (a virtual PA, maybe, a spreadsheet, never).

> You might want to perform what's called an escalation in order to make the > user more excited about achieving their daily goals

Oh please no.

Overall I can't recommend reading it (YMMV though).

<comment><USER4> Agreed. In fact, it annoyed me so much I've written two comments.

UX (and HCI before the rebrand) is of vital importance. It's a critical bridge between rigid software models and humans, and for addressing the diversity in accessibility needs. Articles like this are frustrating because they seem so divorced from the real important questions of UX.

</comment></comment><comment><USER4> Quote:

> What this article is focussed upon is the idea that behind every good > interface, regardless of the type, is a good conversation

Maybe some UX is better done conversationally for some people (my personal preference is 'none' but there should be space for diversity). But _all_?

I don't want my computer to be 'a friend', I want it to be a _tool_ that enables me to talk to my friends with the minimal fuss. The more it draws attention to itself, and away from the task I'm trying to achieve, the less it fulfills its job as a tool. And, like a hand-tool, implicating unnecessary language and getting in the way of muscle memory could well _disrupt_ the efficiency and thought flow.

</comment><comment><USER5> This article needs a huge [CITATION NEEDED] disclaimer.

</comment><comment><USER6> Conversational design is basically command line, right?

<comment><USER3> No. That's not what the article is discussing.</comment></comment>


Theo de Raadt: "[heartbleed] does not affect SSH at all" - <AUTHOR> http://undeadly.org/cgi?action=article&sid=20140408063423

<comment><USER2> Well, duh.

OpenSSH links to OpenSSL libraries, but only for the cryptographic primitives. SSH is a different protocol. It doesn't need TLS for anything.

It's also a simpler protocol, with less baggage and interoperability requirements.

<comment><USER3> Huh. That suggests a strategy for a viable OpenSSL replacement: create a new protocol implementation that also links to the OpenSSL libraries only for the cryptographic primitives.

<comment><USER2> As someone who has actually had no choice but to write code that uses OpenSSL libraries: if you're going to reimplement a proper TLS stack, you might as well actually spend time to design the API properly. (And use some less insane crypto library instead.)

OpenSSL is used because it has a lot of inertia, and because it still has had _a lot_ of testing. Any new library would need to have an imperial buttload of extremely aggressive tests with near-complete coverage from the start to be even considered an option. Even then the uphill battle to unseat OpenSSL will be long and arduous. Being simply superior and easier to use is not enough. You have to convince an industry, worth tens or hundreds of billions, to actually see big enough a benefit to even consider your implementation as a viable option.

So in addition to economical realities you would still have a massive hurdle ahead: getting crypto right is hard. Really, _really_ hard.

Sure enough, there are alternatives to OpenSSL. But unfortunately it's like having to choose between varieties of cancer or STD's. You don't like the any of the choices, and in fact, you would prefer not to be in a position to have to make the choice in the first place.

<comment><USER3> How many Metric Buttloads in an Imperial Buttload?

<comment><USER2> Roughly 1/e * pi.</comment></comment></comment></comment></comment>


US State Department Travel Advisory: Do Not Travel to China Due to Coronavirus - <AUTHOR> https://travel.state.gov/content/travel/en/traveladvisories/traveladvisories/china-travel-advisory.html <comment><USER2> I mean, this whole situation may turn out to be no big deal, relatively speaking, but at what point does everyone agree this is a really serious situation? Because it keeps ticking the boxes.

The economic consequences will probably turn out to be a bigger issue than the health ones.

Either way, this is escalating. :|</comment>


"We've observed a new particle": leaked video reveals Higgs confirmation - <AUTHOR> http://arstechnica.com/science/2012/07/weve-observed-a-new-particle-leaked-video-reveals-higgs-confirmation/ <comment><USER2> Here's the actual story containing the video: [http://blogs.telegraph.co.uk/news/tomchiversscience/10016887...](http://blogs.telegraph.co.uk/news/tomchiversscience/100168877/something- like-the-higgs-boson-has-been-found-probably/)

According to the telegraph: _"Cern say that this is one of several videos they have made, one for each of the possible outcomes..."_.</comment>


NEW UNICORNS: The 42 startups that grew to be worth billions in 2015 - t-3-k http://uk.businessinsider.com/new-billion-dollar-startup-unicorns-in-2015-2015-12 <comment><AUTHOR> I'd love to see the term sheets of all those companies valued at _exactly_ a billion dollars. I'm guessing they all accepted some hilariously terrible terms to join the unicorn club.</comment>


Ask HN: job postings for non-YC funded startups? - old-gregg

I wanted to post a job here for NYC-based Rubyists but I am not sure if PG approves these kind of postings since they certainly fall into commercial territory.
Yet, if I were looking for a job the first place I would check would certainly be HN because it's fun to be around people like myslef, but right now YC-funded companies aren't offering anything interesting. Given the current economic conditions I doubt that such posting would create significant competition for YC-funded companies.
So... would it be appropriate to try to hire folks around here? <comment><AUTHOR> Jobs pop up here from time to time. The closest thing to a rule seems to be that they fall into the Hacker News ethos. If it reads like it's from a HR- droid it's likely to get killed. If it uses the word ninja, it's likely to be killed and your pets are likely to turn up with broken limbs. If it's geared towards this audience, it's likely to be tolerated.

<comment><USER2> ... and, no offense intended to pg (who has done a great job building this community!), but if HN became the kind of place with a monopoly on job postings... it will lose its spot as my favorite / most useful website. Seriously, that kind of control would be a sign of the beginning of the end...

</comment></comment><comment><USER3> It's better to ask for forgiveness than ask for permission... right?

</comment><comment><USER4> _All the jobs listed here are at startups that were at some point funded by Y Combinator. Some are now established companies. Others may be only a few weeks old._

That's at the top of the jobs page. You should really email pg prior to doing this.</comment>


Unfollowing Everybody (2018) - <AUTHOR> https://anildash.com/2018/07/13/unfollowing-everybody/ <comment><USER2> I unfollowed everybody until my Facebook feed was empty. I still clicked compulsively for a while to look at my feed, but now I haven't logged in in 6-12 months except to ask for somebody's phone number

</comment><comment><USER3> Looking over that follow list, I'd unfollow everyone too.

</comment><comment><USER4> Wow, he refuses to retweet people just because they were born with a pe nis. What a self righteous, sexist prick!

</comment><comment><USER5> Anytime I come across someone I follow deciding to unfollow everyone, I unfollow them in return. I was following anil until he did that, so I unfollowed him too. There's so much noise/data that there's no one person that I must hear from in twitter verse. None.

</comment><comment><USER6> People are beginning to police who other people follow on Twitter so it's not a bad idea.</comment>


License Plate Surveillance Company Attacks Nonprofits for Filing FOIA Requests - <AUTHOR> https://motherboard.vice.com/en_us/article/3kjp85/vigilant-solutions-eff-muckrock-foia-requests <comment><USER2> My favorite part is when they claim license plates are not identifying...no, that's just why when the police are looking for someone, they'll release the license plate info. Sure, it's indirect, but not very when you have access to the license database.</comment>


HN bug: Why the old topics on page 2? - <AUTHOR>

WTF?  Some of these seem way too old to be on the second page.  DB corruption?
42.		The Blueseed Project - Opening Silicon Valley To The World (blueseed.co)
	56 points by vabmit 1 day ago | flag | 30 comments
44.		Ask HN: What is your .emacs file like? 	9 points by tootlol 1 day ago | flag | 6 comments
45.		Ask HN: How do you manage the sales "funnel"? 	10 points by cshipley 6 days ago | flag | 6 comments
46.		Ask HN: What do you do on the weekends? 	56 points by mburney 16 days ago | flag | comments
47.		Ask HN: Input for a project. Do you like dogs? 	5 points by cjwake 7 days ago | flag | 16 comments
48.		Ask HN: What documentaries are worth watching? 	149 points by chunky1994 36 days ago | flag | comments
49.		Ask HN: Is this a new trend to access a page quickly via Google "+1"? 	5 points by hansy 8 days ago | flag | 3 comments
50.		Ask HN: What's the Google+ stack? 	52 points by irahul 31 days ago | flag | 18 comments
51.		Show HN: gotypecast.com - be interviewed by anyone 	10 points by illdave 19 days ago | flag | 4 comments
52.	* 	Ask HN: programming tools for a 12 year old 	8 points by joe_bleau 18 days ago | 16 comments
53.		Ask HN: Any Christian software engineers here? 	12 points by timmorgan 23 days ago | flag | comments
54.		Ask HN: OK, my project is complete, now how do I promote it? 	7 points by meric 30 days ago | flag | 6 comments
55.		Google+ really is a Facebook killer. Here are few simple reasons why. 	7 points by oldstrangers 31 days ago | flag | 11 comments
56.		What do you do to improve productivity, performance, & quality of life? 	9 points by optimus 26 days ago | flag | 6 comments
57.		What software do you use to create ebooks? 	11 points by rcavezza 60 days ago | flag | comments
58.		Mixpanel - Internships. A story. 	92 points by suhail 209 days ago | flag | 22 comments
59.		Ask HN: What ethical issues do you/we face? 	4 points by hella 56 days ago | flag | 2 comments
60.		The Biggest Rip-off In History 	10 points by surplusunit 33 days ago | flag | comments <comment><USER2> Sorry, fixed.

A live and a dead job posting were contending for the same position in the ranked list of stories, a possibility I never considered. I changed the way jobs are ranked, and things will now gradually return to normal.</comment>


New jQuery.tagInput demo - <AUTHOR> http://bugsvoice.com/applications/bugsVoice/site/test/tagInputDemo.jsp

<comment><USER2> At least in chrome it highlights the line when I click too quickly (i.e. double-click). Other than that, looks nice.</comment>


Why German bread is the best in the world - <AUTHOR> https://edition.cnn.com/travel/article/germany-best-bread/index.html <comment><USER2> Opinion: like most of their other cuisine, German bread trades subtlety for robustness.

</comment><comment><USER3> I have a feeling the French would have a thing or two to say about that.</comment>


Touch Pianist – Tap in Rhythm and Perform Your Favourite Music - <AUTHOR> http://touchpianist.com/ <comment><USER2> This made me shed a tear.

I played the piano for years but due to a physical disability I can no longer play like I used to. Pressing the keys, maintaining rhythm and hearing the music come out is the closest feeling I got to what is now a forgotten memory.

Thank you Mr. Batuhan Bozkurt, for taking me back a few years to all those fun hours I spent on the piano. Please add more pieces (Liszt!) and keep up the good work (incorporating the pedal into this somehow would be really nice)!

<comment><USER3> Thank you too, I'll be adding a bunch of Liszt soon.

<comment><USER4> For feature requests, I'd love to be able just to watch them being played automagically one after the other on my iOS device (on the website or app), or computer via the website.

Sometimes I just want to lay there with headphones on and listens to good piano music.

Really enjoyed playing with this, actually still enjoying :)

</comment></comment></comment><comment><USER5> Very cool, well done! I just showed it to my wife and 3 year old and both spent 45 minutes playing with it.

Some suggestions:

\- the ads on iPad are really obtrusive. Please remove them. I'd gladly pay for the app or the individual packages. ( I deleted the app within 5 minutes)

\- a "buy everything" option would be nice

\- I think a two handed mode would be really great: perhaps you could consider generating two timelines with separate even handlers so that you can play multiple rhythms at the same time. Would be a nice "advanced mode".

\- eventually , an option to include scoring would be nice. You could compare the actual rhythm offset with the"ideal" rhythm to train user rhythm. The current "sandbox" mode really should stay, though, since I really enjoyed watching my kid playing with it :-)

Other than that, great work!

<comment><USER6> Yes, a two handed mode + scoring would be great. That would make it a fun program to practice rhythm. There are similar music training software such as Earmaster but they're not really engaging.

</comment></comment><comment><USER7> Why is the iOS app free? After playing with the in-browser demo for just a minute that would've been an extremely easy $2 to part with!

EDIT - oh, it's got ads in it. Removed. Sorry, if you ship your software stuffed with some 3rd party crap that most certainly nobody wants and then offer to disable that part for money, then it's an instant No. Please make a proper paid version with none of this nonsense and I will gladly pay for it.

<comment><USER8> You can wish for a perfect world all you want, but any developer who wants to earn money with an iOS app knows that the basic version has to be free. If you like the app, pay the in-app purchase and be happy... It's pretty unfair to punish the developer for the realities of mobile app markets. [http://www.marco.org/2013/09/28/underscore-price- dynamics](http://www.marco.org/2013/09/28/underscore-price-dynamics)

<comment><USER7> I don't demand that he abandons his ways. I'm asking for another version that is paid and cruft-free.

<comment><USER9> You do realize that Apple discourages multiple versions of the same app since releasing in-app purchases, right? It clutters up the App Store having paid and free versions of apps. I wish they would just release a proper app demoing system...

<comment><USER7> Any specifics on how they discourage this? Geniune question. There's plenty of high-ranking apps with both paid and free-ad-supported versions, e.g. Cut The Rope.

<comment><USER9> Here is a discussion on the topic between a few developers with Apple's reason for rejection, from a few years ago. [http://iphonedevsdk.com/forum/business- legal-app-store/93228...](http://iphonedevsdk.com/forum/business-legal-app- store/93228-paid-version-on-app-store-free-version-rejected-for-duplicate- content.html)

I believe Cut The Rope pre-dated the push for keeping apps singular with IAP to unlock additional content.

</comment></comment></comment></comment></comment></comment><comment><USER10> Mandatory link if you don't know this: [https://www.youtube.com/user/smalin/](https://www.youtube.com/user/smalin/)

<comment><USER11> Seconded. The videos in that channel are a great help in seeing polyphony and how complex music can be behind-the-scene.

<comment><USER12> _Seeing_ polyphony is an oxymoron; yet a so true one. It's a pity that our sense of hearing is not as strong.

 _(same goes with pretty much all of them though)_

<comment><USER13> I don't mean to nitpick but your hearing has strengths and your eyesight has strengths.

For instance, your eyesight is terrible at telling you a furniture truck is coming around the corner.

If you were good at separating the individual elements of music without much effort, perhaps music wouldn't be nearly as appealing. Who knows?

<comment><USER12> Your example is wrong, I think: My eyesight can't tell me about the truck around the corner and I only know it when I hear it but that doesn't mean that I can see it next time. In comparison, when you "see" the polyphony you are one step closer to "hearing" it the next time.

</comment></comment></comment></comment></comment><comment><USER14> Was telling someone else about it and realised it's a slightly unfortunate name when saying it aloud.

</comment><comment><USER15> This is a really terrific app. In many ways is nicer than siting back and listening to music, as it makes you think more about the flow and melody of a piece. I enjoyed this very much.

<comment><USER16> It would be good paired with a movement sensor, like kinect, so you could do mock conducting.

</comment></comment><comment><USER17> There is a similar game on iOS called Magic Piano [1] - it seems to have licensed many popular and older songs and you can play them on iPad with an almost identical UI, for a freemium cost.

[1] [https://itunes.apple.com/au/app/magic-piano-by- smule/id42125...](https://itunes.apple.com/au/app/magic-piano-by- smule/id421254504?mt=8)

<comment><USER18> How much would the melody of any given song played on piano need to be modified before it would no longer be legally considered a cover?

</comment></comment><comment><USER19> I couldn't believe that the Waldstein Sonata (first movement) was an option! I've listened to that piece I don't know how many times by so many different pianists (favorites are Wilhelm Kempff and John O'Conor) but I'm not a pianist and could never dream of climbing that mountain. And I tried it and of course made a dire mess of it but it was still SO MUCH FUN!

</comment><comment><USER20> At the risk of being the naysayer, I'm not sure it teaches you how to play the piano so much as it teaches you about musical rhythm and timing and note relativity and would help develop the ability to play by ear. It doesn't really distinguish between clefs or hand placement, and did the relative placement thing worked better when things were closer together anyway.

<comment><USER21> Agreed. Not to mention the name is a little unfortunate. Say the name too quickly, and you'll probably end up in a database somewhere... :\

<comment><USER22> LOL at that last part.

</comment></comment></comment><comment><USER23> "Chrome highly recommended"

Brings me back to the 90s. "This page is optimized for Internet Explorer 5.5".

<comment><USER24> _Chrome highly recommended_

No thank you, I prefer Firefox.

<comment><USER25> I started by trying it out on Firefox (nightly), but after a few minutes, my laptop's fan started ramping up as the CPU usage climbed and then the sound became all distorted until it was unplayable. :/ I was playing the first Rachmaninov piece when it happened.

</comment></comment></comment><comment><USER26> I love things like this that convey some sense of what it feels like to be a musician. A game like _Space Channel 5_ is another example; the gameplay is extremely simplistic and would be boringly repetitive if the game didn't make you feel like the star of a musical.

</comment><comment><USER27> A fun, easy-to-use implementation of the conductor program (see [http://www.musanim.com/tapper/](http://www.musanim.com/tapper/) for an historical overview of this idea). Not a professional-grade tool, but a good introduction. I played through all the fugues in the first book of Bach's Well-Tempered Clavier --- I ALMOST know them well enough to do this perfectly (except, of course, for the ornaments; I almost never guessed those right). The one thing that surprised me: after playing for a while, my fingertips felt really bruised (this is on an iPad); I've played the piano for 54 years, and I've never had this sensation playing a real keyboard instrument.

</comment><comment><USER28> .) Love it.

.) I can imagine teaching playing piano changed to use something like this simply because it provides such a pleasant and so rewarding experience of accomplishment in contrast to what the "usual" way of learning the instrument tends to be. Who would drop lessons if this was the experience?

.) I see it as a very strong, supportive set of crutches. Currently only guiding the tempo of play but which could easily be extended to support other parts of play: reading notation, mapping to keys on the instrument, left/right hand coordination etc. etc.

.) Over time "the crutches" could become less and less supportive and in the end I could play my beloved "Chopin Nocturne Op.9 No.2" without them and later start even interpreting it...

<comment><USER29> That teaching aid you describe already exists: [https://www.synthesiagame.com/](https://www.synthesiagame.com/). It's like Guitar Hero for piano. You can give it any MIDI file to play.

</comment></comment><comment><USER30> To the naysayers: playing notes at the right time is way harder and more important than playing the _right_ notes. Rhythmic confidence is key.

<comment><USER31> Indeed, on a piano, the notes are fixed (you cannot play any note between two notes), so the only "interpretation" a performer can add to an existing piece of music is a change in the timing of the notes, and the loudness (attack) of the notes.

Of course, on other types of instrument, this may not hold.

<comment><USER32> There's also duration (legato vs staccato) and "smearing" notes to achieve that 'in between' sound. Very common in jazz, rock and blues, but not unheard of in classical.

<comment><USER31> Duration is part of the timing, I guess. What do you mean by "smearing" exactly?

<comment><USER33> I think the GP means 'sluring'

[http://en.wikipedia.org/wiki/Slur_%28music%29](http://en.wikipedia.org/wiki/Slur_%28music%29)

</comment></comment></comment></comment></comment><comment><USER34> this is wonderful! would there be a way to save the output? would be interesting to see how others interpret a piece. really also wishing that we could track keyboard velocity as well:p

<comment><USER35> I have Audio Hijack Pro on my Mac and set it to save the system audio while I was playing. I guess any hijacking app on your OS should do the same.

</comment></comment><comment><USER36> Excellent work! I'd love to integrate this into my product Soundslice (soundslice.com), which is web-based notation/music education software.

</comment><comment><USER37> Great idea. As an occasional pianist, this would be fantastic right at the start of trying to learn a new piece, where I don't have a feel for the sound of it yet. I could have the sheet music up and "play" the correct rhythm while hearing the notes.

Once I mastered the piece I would never play it on here again though, for fear that it would interfere with muscle memory of the actual keys.

</comment><comment><USER38> Does anyone know this for ableton?

I'm searching for that for quite some time to humanize metric beats / midi tracks.

maybe I need to fiddle something together....

</comment><comment><USER39> As interesting as it is, I don't really see a educational use for this. It's fun and all to tap along, but in the end it's nothing better than something like DDR or Rock Band. Nothing wrong with a fun app, but I doubt it's educational uses. (this coming from a lifelong pianist)

<comment><USER40> If looking to turn this into something more educational, there could be a view of the proper piano score. You would have to follow the rhythm as written, and for each rhythmic value you got wrong, there would be some form of repercussion. It would still be very similar to Rock Band, but I think there would be more merit to reading the rhythm of written notes rather than just dots on a screen.

That being said, it is still an enjoyable app!

<comment><USER41> You could also associate a key (as in, letters, or even symbols for the programmer crowd) with each note,

would be a nice touch-type learning software

</comment></comment></comment><comment><USER42> Very cool Idea! I was playing around with this. If you want autoplay (at least on desktop) c/p content of [http://pastebin.com/0n14HS11](http://pastebin.com/0n14HS11) in console. (tested on chrome)

</comment><comment><USER43> Objectively flawless experience

Thanks for making the world a better place, all the way

Without anything wrong with it

And it being perfect

</comment><comment><USER44> At the end of each piece there was this "Applause!" at the end - it would be cool if it were to be converted into a button which actually plays an applause when clicked (I thought it was a button when I first saw it).

</comment><comment><USER45> I think this could be an excellent tool to learn some piano pieces with the addition of a step-backwards button, so you could practice small chunks or certain chords over and over and really analyze them.

<comment><USER29> Synthesia lets you step backwards to play a part again, with the left and right arrow keys: [https://www.synthesiagame.com/](https://www.synthesiagame.com/). You can also use the up and down arrow keys to change the speed at which you play them.

</comment></comment><comment><USER46> Select Eric Satie's Gymnopedies and just hit the keys as fast as possible at a regular tempo. It sounds like a free-wheeling jazz version (think John Coltrane)! :-)

</comment><comment><USER47> I need this computer now [http://imgur.com/sLF40FF](http://imgur.com/sLF40FF)

</comment><comment><USER48> beautifuuuul

I'd love to get more insights on how to properly play, some sort of music notation tips or best figured bass, I understand the spacing means tempo, but adding such info could help those of us who can read music

Also, I'd like to play with many fingers multiple notes! It feels natural to press all once you know there a chord coming.

Finally, thanks for such great piece of art!!

<comment><USER29> I agree that you should be able to play a chord by pressing multiple keys at once. I tried that, and was confused when suddenly the music jumped ahead by a few notes, because the page interpreted each key in the chord as another press.

</comment></comment><comment><USER49> I'd love to be able to upload my own MIDIs.

<comment><USER27> Touch Pianist is one of the latest implementations of an idea that's been around for a long time: technologically-assisted musical performance; here's an historical overview on the subject: The Conductor Program — computer- mediated musical performance ([http://www.musanim.com/tapper/](http://www.musanim.com/tapper/)). Aaron Andrew Hunt is about to release a professional-grade version of this which will let you use your own MIDI files.

</comment></comment><comment><USER50> This is absolutely stunning. I bet elementary school music teachers would love this as a teaching tool.

Another thought for you - I wonder if you could plug into a music website like noteflight.com? If you could, then people could search among many thousands of pieces to play. Just a thought! Keep it up - it's a beautiful project. Thank you for sharing.

In peace, Mike

</comment><comment><USER51> This is awesome. Super easy to get started. I would love to see the ability to see the notation somewhere as I'm playing and the ability to rewind a bit. I could definitely see me using this to scout out a piece.

This really made my day. What a great way to blow off some steam.

</comment><comment><USER52> Never made it to the third movement of the Moonlight Sonata this quickly ... albeit a bit unevenly.

</comment><comment><USER53> Cool, I like it.

BTW, cool music visualization: [https://www.youtube.com/watch?v=ipzR9bhei_o](https://www.youtube.com/watch?v=ipzR9bhei_o) (you can't play there, but it helps o perceive music better)

</comment><comment><USER54> When I read the title, I thought it could learn your random tap rhythm and search through a piano db and find the best match, or even better, slow & smooth morph into another rhythm according to your tap

It turned out to be different, still cool though.

</comment><comment><USER55> Very cool. On a somewhat related note (pun not intended):

I have created an app to learn the music staff notation. Web version: [http://www.adhyet.com/flamingnotes](http://www.adhyet.com/flamingnotes)

</comment><comment><USER56> Pretty impressive app. But mainly, this is demonstrating to me how hard it is to sound like Vladimir Horowitz while using a mouse.

</comment><comment><USER57> Very cool.

Does anyone else experience an optical illusion where it appears their screen is moving when they finish a song/leave the page?

<comment><USER58> same here. very dizzy after staring at it for 30 minutes (it's super fun).

Drive-by suggestions -- 1. make the background image fixed so only the notes are moving, 2. make the notes circles smaller, and the notes bursting animation a bit slower, might help reduce the dizziness.

</comment></comment><comment><USER59> This is educational from the perspective that it really teaches you 'rhythm'. This is beautiful piece of web app :)

</comment><comment><USER60> This is insanely fun :) Wow. I totally can see how this can help us learn to play. Can't wait to show this to my kids.

</comment><comment><USER61> Hey it's one button guitar hero!

</comment><comment><USER62> Doesn't work on Chrome 43, MacOS X 10.6 iMac8,1 -- graphics are completely corrupted.

<comment><USER62> turning off WebGL fixed it...

<comment><USER63> Funny since it "highly recommends chrome only" on the page

(seems to work perfectly fine in firefox tho..)

</comment></comment></comment><comment><USER64> Would be amazing to have the note to indicate timing length appear along with the dots.

</comment><comment><USER65> Even for a rhythm trainer it is disappointing because you're forced to tap at a set interval, not what the notes are actually saying. And forget double- tapping when there are two notes on a single interval -- that just plays two intervals!

Thumbs down from a lifelong DDRer and casual pianist.

Though idank's comment is nice to see!

<comment><USER66> > Even for a rhythm trainer it is disappointing because you're forced to tap > at a set interval, not what the notes are actually saying.

As far as I can tell, you're wrong. You're supposed to tap at the same rhythm as the distance between the notes conveys.

Mozart's _Piano Sonata No. 16 - Allegro_ makes it very obvious. Satie's _Gymnopédie No. 1_ makes it obvious too since you have to hold the key.

</comment></comment><comment><USER67> I can't find a way to share it... Is that only my dumb me?

</comment><comment><USER68> What's the name of the piece (played on touch device)?

<comment><USER69> There's a bunch of pieces. The tutorial is Beethoven's Moonlight Sonata.

</comment></comment><comment><USER70> Where did you get the piano score for the Tocatta?

</comment><comment><USER71> is it happening to anyone else that mouse click makes the music louder?</comment>