Spotify CEO Responds to Taylor Swift - <AUTHOR> http://www.spotifyartists.com/2-billion-and-counting/ <comment><USER2> I understand that this guy is trying to protect his business, but he falls into some arguments that, in my opinion, are the true problem with music. Artists create works that do not have, by itself, be paid for. Why? I can label myself artist and claim money from people? How does that work? The people have to judge if the artist deserves to be paid. In the modern world, the artist has many ways of collect income from his or her works, Spotify, crowdfunding, broadcast live events, and so on. But what this guy calls piracy is not harming artists, it harms an obsolete industry that only views a way to collect income. They sell records and collect money. This has nothing to do with the artist. Spotify, by itself, only perpetuates this way of operate, with its fixed prices and tight contracts with the major labels.

<comment><USER3> Agreed, the part where he says, "... Piracy doesn't pay artists a penny – nothing, zilch, zero." \- I involuntarily muttered, "Bullshit." out loud.

He should probably listen to Neil Gaiman's story on how piracy can, indeed, make artists money:

[http://www.youtube.com/watch?v=0Qkyt1wXNlI](http://www.youtube.com/watch?v=0Qkyt1wXNlI)

</comment></comment><comment><USER4> This was a good response, though I don't really agree with a couple of statements.

1\. I think that the analogy between spotify and radio is too flawed to be useful

"If a song has been listened to 500 thousand times on Spotify, that's the same as it having been played one time on a U.S. radio station with a moderate sized audience of 500 thousand people. Which would pay the recording artist precisely … nothing at all. But the equivalent of that one play and its 500 thousand listens on Spotify would pay out between three and four thousand dollars."

Huge difference between a play on spotify and a play on radio. Radio you take what you get. If you think "hey, I'd like to listen to that new Taylor Swift song", you can scan through the channels and I suppose you may eventually, after 30 minutes of scanning, come up with it. No guarantees, though. If you want to listen to that song exactly when and where you want, you can't get it from the radio. So I don't think this is a reasonable comparison. Spotify doesn't replace radio plays, it replaces purchased or pirated music.

2\. I think that Mr Ek relies too much on the piracy argument

Yes, it's better to be paid something than nothing. But I'm not 100% sure this is a good reason for a recording artist to agree to legal terms that result in poor royalties. Taylor Swift's agent (I think it was the agent) described it this way - a fan pays $15 for the album, and her friend says "why did you pay for that? you could have just gotten it off <pirate site>." Contrast that with "why did you pay for that? you could have gotten it legally for free off <legitimate site>." There's a difference in kind here.

<comment><USER5> >Taylor Swift's agent (I think it was the agent) described it this way - a fan pays $15 for the album, and her friend says "why did you pay for that? you could have just gotten it off <pirate site>." Contrast that with "why did you pay for that? you could have gotten it legally for free off <legitimate site>."

That's not how it works for many. I have friends who pay for Spotify and download (illegally) any content not available on the service. Ultimately, this move will not only harm her discoverability but will also harm her reputation by withholding her music (from fans) for greater profit.

</comment></comment><comment><USER6> Honestly, I think Taylor Swift was really smart to pull her music from Spotify. She made her music basically a "must-have" for a lot of people, and she forced them to pay the full price for the album. She's going to make a lot more money from this than she would from Spotify payments. Good for her; I think she earned it.

I think this might be the way that more artists start to go: use Spotify while you're gaining an audience, so people can find you and listen to your stuff at no extra cost to them. Then, when (and if) you've become "indispensable", pull your catalog (or at least new release) and sell it separately.

I think Spotify should embrace this model by having a "paid catalog" for your music library, so you don't have to leave the Spotify app to play music from the artists who chose to go the "paid album" route. As it is, I would have to open the Amazon Music app to play Taylor's album, which is an unnecessary bit of extra friction.

I'm happy to pay for good music occasionally, even on top of the $10/month I already give Spotify.

</comment><comment><USER7> "To say nothing of the fans who will just turn back to pirate services like Grooveshark."

Grooveshark made the first move in that space. IMO all credit goes to them. They created the business model where Spotify now thrives. The only difference I see between the two of them is Spotify raising $500M vs almost non-existant funding to Grooveshark, who knows what made one triumph and the other fail, perhaps just sucking the right cocks.

Also Daniel could have, more accurately, said "To say nothing of the fans who will just turn back to pirate services like uTorrent."; a company that was once headed by him and whose only purpose of existence is to enable piracy.</comment>


Ask HN: What heuristic made a big difference to your life? - rex-mundi <comment><AUTHOR> Unhappiness with my own life causes increased interest in politics and decreased interest in technology, math, philosophy, literature ...

I use it as a warning signal.

<comment><USER2> I would not put philosophy in that list though. I've noticed those arguing about politics often add philosophers' quotes or ideas in their own vague arguments.

</comment></comment><comment><USER3> Not an (admissible) heuristic per se. But I've begun asking people: Are you living the dream?

Not only is it a fantastic conversation starter. But I am truly shocked how few people get to live it! Maybe 1% if being generous.

It's a proxy for a more meaningful encounter than what "How are you?" can elicit. And opens a space to share the most intimate threads from their personal history. As well as reinforcing my own belief in staying true to one's vision ;)

<comment><USER4> The dream has a habit of changing once you find it. Its a Changeling!

</comment></comment><comment><USER5> Going to sound corny but the things that made the most difference to my life...

* Getting a good nights sleep.

* Becoming "minimalist by divorce" in 2003.

* Finally understanding true wealth is having enough.

* Learning how to ram down expenses while maximizing my Real Hourly Wage.

* Going for a 40 minute walk every day.

* Realizing for me happiness is strongly correlated with level of personal freedom (not the fake freedom you hear about in the "land of the free"). Read "How I Found Freedom in an Unfree World" by Harry Browne for more details.

* Learning to stop mulling on negative thoughts and either throwing them out forever or turning them into a positive action plan.

* Learning from "mistakes". For example, what I learned about money after going broke in 2006 resulted in financial freedom today.

* Traveling is like holding up a giant mirror on your lifestyle and beliefs. A fish in water doesn't notice water until it's yanked out of it.

* After being homeless I learnt to be more empathetic. People with no empathy have not yet suffered.

* Most people want love but don't give love freely first. If you want to be loved, love.

* Appreciate the little things. Until you can do this you will always be agitated.

* Understanding the Money Road is a dead end.

* I've driven a Cobra with a V12 Jag engine, a heavily customized Datsun 240Z, and a 1969 MGB GT, but the most fun I ever had was in my first car, a Singer Chamois, which I got for £30 from my Grandfather. Why? She was my first love and a temperamental bitch!

* If it's not fun and there are few other advantages to it, stop doing it!

</comment><comment><USER6> Make things as simple as possible, but no simpler.

This pushed me towards minimizing and downsizing all aspects of life. I operate on a closed list of objects, habits and metrics.

I work less, spend less, achieve more and everything is much more enjoyable.

<comment> rex-mundi Interesting. Have you had situations where you had difficulty with this initially but it paid off. I'm asking as I am maximizer by default so I have trouble with this even though it's important

<comment><USER5> Sorry for butting in here, but I'm a minimalist and wanted to throw in my two cents. There were a few things that were difficult. One was getting housing right. It took some effort but we now have a place with more than enough space, highly energy efficient, and five minutes walk from work for her (and less for me - I work from home). Getting rid of my car took some re- adjustment. Both really worth it though. Most of the other adjustments were almost trivial. Rather than making things harder they make things MUCH easier. For example when I travel I only carry a single carry on bag. Managing finances are much easier too.

One of the hardest things is not so much doing it (which can take some juggling) but other people's reactions. I remember when I didn't have a TV (I lived for about ten years without one - partner bought one eventually though). People were literally shocked. They would literally stand there mouth agape. "How can you live without a TV" was a question I got very used to. The trouble is people take it as a personal affront. They can get quite shirty about it. Getting rid of the car caused brains to explode! :o)

</comment></comment></comment><comment><USER7> If someone does something once, they will do it twice. This has never failed me on the big things. People are mostly static

</comment><comment><USER4> Job hunt:

Old way of thinking. Search jobs. Most jobs pay 100k. Most paying 120k are beyond my experience level so I'm worth 100k.

New way: Jobs pay on some kind of probability distribution. Might be a normal one but who cares. If I apply for enough jobs I can earn with some probability that I control a much higher amount for the same level of work.

<comment><USER8> yep there was a post here a couple of weeks ago about a guy who applied for 200 or so jobs over 6 weeks, every 2 weeks he increased his pay demanded by $20k ended up going from asking for $60k to $140k or something incredible.

<comment><USER9> Tried searching for that post but can't seem to find it. Do you remember what it was called?

<comment><USER8> Sorry I've just tried to search for it again too, think @AustenAllred may have tweeted it?

<comment><USER8> (went through 3 weeks of his tweets couldn't find it)

</comment></comment></comment></comment></comment><comment><USER10> To have any kind of meaningful and successful career today, you need to be either really good with numbers (in some way) or really good with people. If you have both, you can go a really long way. If you decide to focus on one, you need at least a base level of skills in the other.

</comment><comment><USER11> Cool question!

Reality is always complex and I have no easy heuristics, but a few basic principles that have bigger consequential insights or uses to me.

\---

listen to your gut, it thinks faster than your consciousness:

\- but only act upon it, once you understood the reason. (I love how with math problems you often know you have valid the pathway to the answer, but don't have it in your grips just yet until a few seconds later)

\---

I assume everything has a cause or is (pseudo-) random. This leads to a few conclusions:

\- no free will in a strict sense (I still have agency and can choose to do what I think is right)

\- no bad people (I don't have to talk to assholes, but there should never be revenge, only protection of society)

\- if someone is in emotional pain about something silly, the pain is still real and to be taken serious (that doesn't mean that they shouldn't be desensitized a bit)

\---

Before you do anything, assess the situation:

\- I'm very emotional and very analytical, but before I haven't figured out the situation the emotions take the back seat.

\- If something can't be changed anymore I might be sad, but have no reason to panic in to any action, where there is no reasonable one to act upon. (As you someone was talking about politics: I don't give much about local politics anymore, only want to understand the "why" of global politics. (local politics is quite approachable however, one can make changes there if one really wants to))

\---

Sadness is alright and should not be suppressed:

\- it also doesn't exclude comedy or bitter-sweet romance

\---

There is always a meta-level you haven't reached yet. (And usually it's worth to get there. But as in Plato's Cave, usually it's not revealed without new insight. You can go and hunt for that insight though. So if you can, try to take a step back.)

</comment><comment><USER12> To trust the doctor and never do private research on internet before or after the diagnosis, and don't take the before research too seriously. Also don't compare conditions with others who had been through similar thing. Related to that, never research the contents and side effects of medications as every single one of them seems to have everything from nausea to death.

In 2015 my father had an unfortunate series of events and was hospitalized four times, including a botched surgery and its repair. I did all the mentioned things the first time and was constantly apprehensive about everything. It suddenly occurred to me one night that I was being a wise ass layman and its better to stop it. In 2018 my mother had two hernia repair surgeries. I have been to hospital quite a lot recently and the enlightenment made life easy for the rest of the visits. The unfortunate mistake I did, in hindsight, was that I did all the things with my younger sister, and have taught her so well that I am unable to get her to quit it. I lecture her at every possible occasion and the progress has been geological.

</comment><comment><USER13> When I struggle with a piece of work - I fallback on keeping a count on number of iterations to my approach/attempts. Where first iteration starts with basic premise of problem and gradually work my way up. This process somehow tricks to make progress methodically.

</comment><comment><USER8> Show a minimum level of initiative and you will impress everyone.

Especially works with social situations - its incredible how much I've gotten out of local music just by always being on the front foot.

</comment><comment><USER14> What do you want to have in 10 years time. Every day. Go get.

<comment><USER15> Reminded of Debbie Millman's brilliant 10 Year Remarkable Life Exercise > [https://mindfulambition.net/vision-setting-debbie-millman- re...](https://mindfulambition.net/vision-setting-debbie-millman-remarkable- life-exercise/)

<comment><USER14> Yup. She's rather more studious than I but ring, ring, ring.... Be careful what they wished for (because it might just come true…)

</comment></comment></comment><comment><USER16> Always have a plan B. Even with the best of research and planning, plan A may fail.

The attitude towards risk taking is taking risks where you can afford to fail to live another day.

</comment><comment><USER17> The 80:20 rule and Pareto distribution vs. Normal distribution.

"Don't be a dick."

</comment><comment><USER18> And this too shall pass.</comment>


Microsoft Rolling Out Windows 8 for Tablets - <AUTHOR> http://allthingsd.com/20110601/up-next-at-d9-microsoft-windows-president-steven-sinofsky-live-at-d9/

<comment><AUTHOR> So says the rumor mill anyway.</comment>


Is this really a PG-quote? - <AUTHOR>

  ""Having users is like optimization: the wise
    course is to delay it."
      -- Paul Graham"
 is that really a PG quote? a guy had it as a signature on the erlang mailing list.
isnt customer sgood to get early for feedback? why should one delay launching? or am i misintepreting? <comment><USER2> It's best to read the quote in context.

<http://paulgraham.com/popular.html></comment>


Corosim – historical estimates and model predictions for Covid-19 in Finland - <AUTHOR> https://corosim.fi/ <comment><AUTHOR> This is a pro bono project that we built on top of Epidemic Calculator. We thought Epidemic Calculator was awesome as a visualization and modelling tool, but it was missing real data and the ability to do "real" scenarios of an ongoing epidemic. So we brought historical estimates into it (and a bunch of other stuff).

<comment><USER2> I think you should put "this is just a toy" in bold text on top.

The real work is in doing a good job of fitting the model parameters, but you leave this, the most crucial work, as comments in the source on some other page? : /

<comment><AUTHOR> What? This is not "just a toy". And we did not leave out the work of choosing parameter values - we made a large effort to select reasonable default values for all the parameters. Also, what are you referring to with this "comments in the source on some other page"? Which page? Which comments?

<comment><USER2> > [...] our historical estimates are simple "back of the napkin" type > calculations. We refer to the source code for details on historical > estimates.

The exact parameter values _together with their uncertainties_ makes a serious model.

Providing a set of differential equations with 11 mysteriously chosen values makes it little more than a toy.

<comment><AUTHOR> > > [...] our historical estimates are simple "back of the napkin" type > calculations. We refer to the source code for details on historical > estimates.

> Providing a set of differential equations with 11 mysteriously chosen values > makes it little more than a toy.

I'm guessing you think that historical estimates were created with the model, by running the model with super secret 11 parameters? This is not the case. Historical estimates were not created with the model. Historical estimates were created with simple "back of the napkin" type calculations, like it says in the text you quoted, and the calculations are linked right next to that text.

Also, what exactly is mysterious about the chosen parameter values? For example, if you click the question mark tooltip near R0 parameter, you will get a detailed description about how we calculate the default value for it. What is mysterious about it?

</comment></comment></comment></comment></comment><comment><USER3> Can you say more about your development process? the model building and the GUI building.. components, your decisions.. etc

<comment><AUTHOR> The model in Corosim is almost entirely the same as Goh's model in Epidemic Calculator. We made a lot of changes to the GUI, mostly motivated by a desire to answer practical questions related to the epidemic we have (as opposed to theoretical questions related to a theoretical epidemic). Have you checked the text under "Differences between Epidemic Calculator and Corosim"?

I'd be happy to answer any questions you have if you want to narrow down the scope a little bit. Like, maybe you are wondering why x axis zoom was changed, or maybe you are wondering why we removed "severe at home" state from the model? Or maybe you looked at the code and you want to discuss the extensive refactoring that we did?</comment></comment>


You Shouldn't Be Using BCrypt and Scrypt - <AUTHOR> https://blog.benpri.me/blog/2019/01/13/why-you-shouldnt-be-using-bcrypt-and-scrypt/ <comment><USER2> I was in the authors camp for a long time till I understood:

> All we need is an 8 character PIN and we've already exceeded our example > "slow hashing algorithm" from earlier.

That solution is worse. People don't eat this.

For password manager master passwords I actually enjoy key stretching.

<comment><USER3> This is exactly why scrypt and similar PBKDFs don't work.

What they're saying is that a 4-digit PIN with a T=1000 work factor provides the same difficulty as a 7-digit PIN with T=1, and less difficulty than an 8-digit PIN with T=1.

But that's just for illustration. An 8-digit PIN is trivial to crack, whether using scrypt or not. So if something like an 8-digit PIN is too complex to expect most people to remember, then the game is over.

PBKDFs can't save you from weak passwords because weak passwords are just _too_ _weak_ , especially when you take cloud computing into consideration-- people don't build FPGAs to crack your password, they pay or steal distributed computing power in a way that makes it trivial to overcome any symmetric work factor budget you could possibly tolerate.

Exactly as you admit, if you can expect and depend on passwords to be sufficiently long such that a linear work factor hurdle imposes a substantial, additional burden, they're either already long enough or you can expect them to be even longer; users would unlikely to be entering such passwords from memory.

Similarly, if you can assume they're using unique passwords rather than reusing the same password (which effectively makes your efforts futile), they're likely not remembering them.

The window where PBKDFs could possibly have any real value is extremely narrow, niche, and ephemeral; and pretty much non-existent for applications where it's typically relied upon, particularly on the web. Neither iPhone nor Android rely on PBKDFs for password security, even though they may use them for appearances; they rely on time-based or counter-based lock-out mechanisms and store secrets on unhackable, physically impenetrable ICs.

Other than _avoiding_ passwords, the last unequivocally responsible strategy as an authenticator and keeper of secrets using general purpose software is to salt your password database, which goes much further than PBKDFs in raising the cost of whole-database dictionary attacks and analysis (e.g. identifying reused passwords), hopefully forcing targeted, per account attacks. But once you're in the realm of targeted attacks, linear cost functions aren't buying you anything substantive. What they're costing you, far beyond some misspent CPU cycles, is denial and delay.

No cryptographer nor knowledgable security engineer would suggest linear cost factor increases as mitigations to patch over exploits in TLS, for example. "Oh, CBC can leak headers; just run 10,000 more iterations of AES or throttle your network throughput to minimize injection rates." "You were using 768-bit RSA, which is now considered crackable? Just switch to 1024-bit RSA."[1] Nobody says these things!

Yet for some reason many of the same engineers who readily admit the insufficiency of such mitigations buy into the notion that identical mitigations somehow add meaningful security to password databases? (Few if any of those people would be professional cryptographers, mind you. I know NIST requires them, but NIST also required mandatory password rotations before backtracking. PBKDFs are widely considered harmless, so even if you've changed your mind why stir the pot?)

The only reason I can think for why so many people buy into the delusion is because it's too difficult to fathom moving away from passwords altogether. And perhaps they're right--maybe we can't yet move past simple, memorized passwords. Certainly it wasn't realistic when PBKDFs with cost functions became popular. But just because the only palatable remedy is snake oil doesn't make the snake oil legitimate.

[1] People have said that it's okay to stay with 1024-bit RSA for awhile, but nobody advised moving to 1024-bit from 768-bit, which provides a work factor increase analogous to the aggressive PBKDFs. They said to move to 2048-bit or 3072-bit RSA, which provides work factor increases far beyond the most aggressively parameterized PBKDFs (and possible beyond what they're even capable of using 64-bit input parameters), even though there presently exist technical hurdles, like practical resident data set sizes, between factoring 768-bit RSA and 1024-bit RSA similar to those hurdles touted by PBKDFs like scrypt and argon.</comment></comment>


The way you design web content is about to change - <AUTHOR> http://www.newfangled.com/the_way_you_design_web_content_is_about_to_change <comment><USER2> Love the approach of this article, but the design itself is problematic.

The absurdly large fixed header takes up 20% of the page. Fixed headers, in particular large ones, are the herpes of page design. You're forced to always see it even when trying to look at other parts of the page body.

edit: the author of the article sent a thoughtful and kind reply to a snotty message I sent with the above thoughts. newfangled must be a top-notch company.</comment>


Www.tailcall.org: HN Meetup group in Bangalore - <AUTHOR>

It could help with discussing ideas, finding co-founders, or just to have fun.
We can add members slowly, so that we can set the right tone. Important to have a high s/n ratio, and at the same time it isn't fun to reject anyone either. Let me know what you think.
Head over to www.tailcall.org. <comment><AUTHOR> clickable: <http://www.tailcall.org></comment>


Why Gogle's Chrome OS Sucks - <AUTHOR> http://mdmstudios.wordpress.com/2011/03/02/operating-system-developers-my-computer-is-not-a-browser/

<comment><USER2> Are you actually running ChromeOS, or are you just saying why you don't feel like it? Because while it's browser-oriented, it's not anti-local. That's just had a lower priority, but there's still native client development and an SDK toolchain specifically for that purpose: [http://blog.chromium.org/2011/02/native-client-getting- ready...](http://blog.chromium.org/2011/02/native-client-getting-ready-for- takeoff.html)

</comment><comment><USER3> A well articulated explanation of why I'm not so enthused about doing everything through a browser's interface to the internet.</comment>


Ask HN: Build a curriculum to meet current US govt threat against crypto - <AUTHOR>

If I were starting an undergraduate program today with the goal of training to meet the current attacks on crypto with nothing but a basic understanding of the math and programming challenges involved in cryptography, where would I start? Help me build an electronic  privacy protection curriculum? <comment><USER2> [http://cryptopals.com](http://cryptopals.com) \- This is probably the best place to start.

For general application and network security (not specifically crypto), we (the company I work for) are trying to make this a great resource for self- education:

[https://github.com/paragonie/awesome- appsec](https://github.com/paragonie/awesome-appsec)</comment>


V.S. Naipaul, Poet of the Displaced - <AUTHOR> https://www.nybooks.com/daily/2018/08/13/v-s-naipaul-poet-of-the-displaced/ <comment><USER2> Trashing a Nobel Laureate after he just passed away is a below-the-belt low blow. Shame on the writer Ian Buruma.</comment>


Ask HN: Will you buy Lighttable when it's released? - <AUTHOR>

This is assuming you didn't already claim a copy during the kickstarter. I am a vim user, and lightroom seems more IDE like than I'm used to, but it also seems like the best IDE-like environment I've seen. I'm interested how much of HN is actually interested enough to buy it. <comment><USER2> As with any release of something new, we would probably at least need to wait for it to stabilize and for useful community add-ons to be created before we could be as productive as we are with our other tools. I won't even look at it until I hear about it as much as I have heard of Sublime text 2 (as a useful tool as opposed to a hyped up Kickstarter project.)

</comment><comment><USER3> I'll check out a free trial to see if its a serious replacement for my IntelliJ IDEA based dev setup.

Making a video is one thing, delivering on the product is another. But I do support their concept and wish them my best.

</comment><comment><USER4> I was under the impression it was going to remain open source unless terms have changed. On their Kickstarter page under FAQ, that seems to be the case still.

That said, its too early to tell.

</comment><comment><USER5> I don't think anything can pull me away from Vim. Some of it looks nice, but I don't think it would be much use to me. I'll have to wait until I actually get my hands on it though.

</comment><comment><USER6> I backed it on Kickstarter, but there's no way to say until I get my hands on a copy. I'm actually pretty happy with sublime text 2 just now.

</comment><comment><USER7> Depends, if they can offer the same amount of features and plugins than SublimeText2 then yes.

</comment><comment><USER8> Light Table. I bought Lightroom years ago. :-)

<comment><AUTHOR> fixed, thanks :)

</comment></comment><comment><USER9> simply no</comment>


Here is the hacker movies' stuntman - <AUTHOR> http://hackertyper.net/?utm=hackernews_tarikozket

<comment><USER2> Yay! Creator of hackertyper here! Nice to see that people still like it :) lately it's been used in numerous videos, even one with Key & Peele [http://www.youtube.com/watch?v=IHQr0HCIN2w](http://www.youtube.com/watch?v=IHQr0HCIN2w) @ 0:34 and more amateur projects like [http://www.youtube.com/watch?v=5n7sPScQM_s](http://www.youtube.com/watch?v=5n7sPScQM_s)

It is always amazing to see the creativity of people!

<comment><USER3> Didn't this use to have loads of options to change the colours / speed / source code used / etc? Or was that a different project?

</comment></comment><comment><USER4> Stared at the blinking cursor waiting for _something_ to happen and then started typing. Refreshingly amusing!

</comment><comment><USER5> If you press capslock 3 times it comes up with "ACCESS DENIED", if you press alt 3 times you get "ACCESS GRANTED"

</comment><comment><USER6> How come the special '?utm=hackernews_tarikozket' got added at the end of the URL?

<comment><USER7> Probably because it's been posted a few times before and the querystring is to make the url look different so it can be posted....again:

[https://www.hnsearch.com/search#request/all&q=hackertyper.ne...](https://www.hnsearch.com/search#request/all&q=hackertyper.net)

</comment></comment><comment><USER8> /?utm=hackernews_tarikozket

<comment><AUTHOR> [http://theandrewmiller.com/wp- content/uploads/2013/10/enhanc...](http://theandrewmiller.com/wp- content/uploads/2013/10/enhanced-buzz-14954-1296670473-11.jpg)

:) speechless...

</comment></comment><comment><USER9> Very cool!</comment>


Ask HN: Consulting – how to approach a client best - <AUTHOR> I run a software development + software process consultancy. I met a developer at a tech event  and he made the impression that the company he works for could use my help with software architecture and processes.<p>What do you think is the best way to approach that company without coming out of the blue and without making that guy a whistleblower? <comment><USER2> In my experience the impressions of priorities as seen by developers and their management can differ greatly and that could mean that no decision maker sees the need for your services. The fact that you described the developer as a "whistleblower" suggests that his views are not aligned with those of the management.

In a similar situation I would research the company, identify who's who in the management hierarchy and explore whether I have any contacts or leads that could open the door. Failing that I would cold call the CIO, CTO or similar, introduce myself and my services and point blank ask whether they would be interested in having an in-depth chat about how I might help. The typical hot buttons are: speed up development; reduce downtime, support, etc.

You do have an elevator pitch? Have a clear message about your USP? If not, then you could polish those areas first, they will focus your sales messaging / marketing in the future.

<comment><AUTHOR> Thanks, concise and precise. I believe you are right. The elevator pitch is still missing - so that's a very good point.

BTW. I briefly browsed the mgmt LinkedIn profiles and seems they might not be interested as they all graduated from the same uni so potentially not looking for "outsider" views.</comment></comment>


Gusto (formerly ZenPayroll) Is Valued at $1B in New Funding Round - <AUTHOR> http://www.buzzfeed.com/williamalden/gusto-is-valued-at-1-billion-in-new-funding-round <comment><USER2>
        "We didn't really need the capital, per se."

Why exchange equity for capital if it's not necessary?

<comment><USER3> It derisks the company at low cost because you're raising money on great terms. It's almost always a good idea to have extra cash in the bank, especially when that cash comes.

I once heard a quote along the lines of "the company that wins the space is the last one to raise funding before the funding market turns south."

<comment><USER4> And if you gave even 1x prefs on that vanity raise, then you've turned your "okay not great" outcomes into bad outcomes.

Rule of thumb: if somebody raises at exactly or just over s billion, they did it because it feeds their ego and every other excuse is just an excuse.

<comment><USER3> Where did I mention vanity as a part of the raise? You missed all of the points I made and then attacked a strawman.

When you raise on _your_ terms, as these guys probably did, you get (1) a great valuation (i.e. cheap money) and (2) great terms (i.e. 1x or better liq pref).

</comment></comment></comment></comment><comment><USER5> I hope Gusto/ZenPayroll uses it to hire some customer services reps or whip up some of that advanced machine learning I always hear about now. To fix a payroll mistake they once magically sucked money out of my account, without any notification. An email or a message in their portal would have been nice.

I am no longer part of the Gusto/ZenPayroll ecosystem, but at the time I found annoying their cute messages about how I could buy 500,000 gumballs with my paycheck if I really wanted to, plus how I should tweet about how much I love my gumball money via ZenPayroll. My paycheck and social media should not mix!

</comment><comment><USER6> Strange name.

Gusto is a polysemic Spanish word: taste, flavour, pleasure.

I guess they were thinking in "pleasure", but for Spanish speakers, it just sounds weird.

</comment><comment><USER7> Awesome. Gusto is great, use them for my startup [https://commando.io](https://commando.io). However, I am not a fan of the brand and name change of Gusto. My 2 cents.

</comment><comment><USER8> It seems like everything is 'valued as $1bn' these days.

<comment><USER9> Everything that gets covered in the news.

</comment></comment><comment><USER10> Series Panda ftw. Congrats to the team!</comment>


Ask HN: Embedded or lightweight full-text/fuzzy-text search engine database? - <AUTHOR>

I am looking for a search engine that can search 50,000 documents on an Intranet.  Very low activity.  Just need it to be lightweight, but it would be awesome if it was embedded.
I need googlish full-text search features like fuzzy text search, "did you mean" and maybe autofill search suggestions based on popular queries.
Is there anything like that out there? <comment><USER2> I can't find it now but I recently read a Stanford paper where they use Wikipedia relationships to do "query expansion," which seems to be along the lines of what you're looking for. I've heard neural nets called overkill but Wikipedia relationships + neural net should yield a pretty interesting product and would allow you to suggest options for queries you've never seen before.

<comment><AUTHOR> That sounds really interesting! I'd be interested in the link if you find it. I need my stuff to run behind the firewall, in the going out to wikipedia, will that compromise the privacy of the searches?

</comment></comment><comment><USER3> Have you looked into Solr/Lucene? They're run by the apache foundation -- Lucene is the actual engine, and Solr is kind of a wrapper around it. Pretty easy to setup, will parse numerous input document formats. solr.apache.org i believe.

<comment><AUTHOR> I interested in this one, but I'm just not sure if it has features like fuzzy text search, do you know if it has all the google-like features I listed in the description?</comment></comment>


Paper.li is on the decline. Why? - <AUTHOR> http://asserttrue.blogspot.com/2015/03/the-curation-jungle.html

<comment><USER2> I think paper.Li's growth was driven by "one weird trick", those messages saying how you had been featured. Like all spam my tactics you run into declining effectiveness, it is like why Zynga is declining.</comment>


Cockpit mounted camera in model F-16 - <AUTHOR> http://www.autoblog.com/2011/08/31/r-c-f16-jet-with-swiveling-pilots-view-blows-our-tiny-little-mi/

<comment> DanI-S I can imagine that in 30 years' time you'll be able to purchase time on drones by the hour, and stage your own robotic exploration of the Antarctic from the comfort of your living room.

<comment><USER2> At least for me, that would ring hollow. Without the risk to your life, where is the thrill?

<comment><USER3> You don't do things because you're interested, only when it risks your life?

<comment><USER2> The Antarctic in the middle of a blizzard is pretty damn exciting if you're living it; pretty damn boring if you're watching it on a 7" screen, because it looks like White, and that's about it.

There are many things worth doing that aren't a risk to your life, but as I see it the Antarctic is not one of them.

</comment></comment></comment></comment><comment><USER4> Not available in my country? Did they put some background music in? Sigh ...

<comment><USER5> Appropriately, it's the music from _Top Gun_. <https://www.youtube.com/watch?v=V8rZWw9HE7o>

</comment></comment><comment><USER6> A little unclear on what the engine is. Doesn't seem to be an actual jet engine, though. This is an RC with a jet engine (two, actually, since it's an F-14): <http://www.youtube.com/watch?v=1IXQVh5IbHc>

<comment><USER7> Electric Ducted Fan - EDF. Lots more details from the builder:

<http://www.rcgroups.com/forums/showthread.php?t=1111348>

</comment></comment><comment><USER8> This also cool... RC Plane flyover at the US Space Center/Space Camp <http://www.youtube.com/watch?v=zDpL8aQlCDA></comment>


Every CRS Report - <AUTHOR> https://www.everycrsreport.com/ <comment><USER2> If you haven't read them, CRS reports can be very useful: In-depth research, succinctly and clearly written up, on a wide variety of topics. If you need to learn about a topic in public policy, even one related to IT, they are an excellent starting place.

> Congress's think tank

I wouldn't call them that. Think tanks create innovative new policy ideas. CRS's job seems to be to present the known facts and options on an issue.

<comment><USER3> Nonpartisan too which is nice.

</comment></comment><comment><USER4> Nice! I'm glad to see work being done in this area.

From the About page:

> Now, in partnership with a Republican and Democratic member of Congress, we > are making these reports available to everyone for free online.

How fragile is this relationship? What can be done to ensure openness like this can continue and be increased?

> We also show how much a report has changed over time (whenever CRS publishes > an update), provide RSS feeds

Cool. I see there are different versions available. Are there currently diff visualizations?

<comment><USER5> Hey! The best thing to do is tell your members of Congress to support the Equal Access to CRS Reports Act. In the House of Representatives it's HR 4702 and in the Senate it's S 2639. The more they hear from you, the more likely they'll be to publish the reports themselves. (You could also ask them to provide the reports to EveryCRSReport.com... the more the merrier).

We didn't build diff visualizations for the site. Not because I didn't want to-- it was in the specs -- but because we didn't have the funds for all the bells and whistles. The code is on GitHub if you want to hack on it and build a new module. Or donations will go to maintaining the site and expanding functionality.

</comment></comment><comment><USER4> Just referenced in the 538 blogging of the debate! Congrats, Joshua Tauberer!

[http://fivethirtyeight.com/live-blog/third-presidential- deba...](http://fivethirtyeight.com/live-blog/third-presidential-debate- election-2016/?#livepress-update-11611241)

</comment><comment><USER6> In a similar vein, GAO reports are usually very well researched and written up:

[http://www.gao.gov/browse/topic](http://www.gao.gov/browse/topic)

</comment><comment><USER7> That is awesome! I hope this was an output of the Digital Service, this is the kind of thing that really helps citizens understand their government.

<comment><USER5> Alas, no. This is a civil society effort.

</comment></comment><comment><USER8> CRS... Can't Remember Shit / Congressional Research Service

Tomayto / Tomahto</comment>


Show HN: Write thank you letter to your favor project - <AUTHOR> https://www.thankyouopensource.com/why/ <comment><USER2> I love the idea, but the repository search is actually pretty hard to use. It should be able to find quickly `org/repo` or `user/repo`. Moreover, the layout kinda breaks on mobile. Is this website open-source? Some people could (possibly) contribute.

However, I think tweets and blog posts are two serious competitors. How does thankyouopensource.com differentiate from those?</comment>


What Is Behind the CLI Making a Comeback? - <AUTHOR> https://apievangelist.com/2019/11/05/what-is-behind-the-cli-making-a-comeback/ <comment><USER2> Faster, generally easier, cheaper (in terms of start-up time).

I have no problem with choosing between GUI or CLI interfaces, but I find myself doing far more work via the CLI than with GUI.

My desktop is comprised of several (usually 6) virtual desktops with both graphical apps and CLIs (xterms of various sizes) liberally placed thereon.

As such, there is no obvious incentive to use a GUI and no obvious incentive to use a CLI. I believe I tend to use the right tool for the right job. So it is natural to start up a GUI app when images are required.

When it doesn't matter whether a particular image is supplied, I generally use a CLI. Because I don't need to 'fire up' yet another standalone program, it's 'cheaper', both in effort and also in start-up time, to simply use the nearest xterm.

In effect, one xterm can take the place of maybe half-a-dozen different apps, as well as being more convenient for me.

Jobs which need to repeated more than once a week can be stored as CLI scripts which can be invoked with a single word or, better again, called by 'cron' automatically. Try doing that with a GUI.

</comment><comment><USER3> > I remember when I was first on-boarding with AWS S3 and EC2 back in 2006 > they only had an API and CLI, no GUI dashboard. CLI seemed to be on equal > footing with API in those days, but as the popularity of web APIs grew, the > CLI didn't seem to keep up.

What limitations did he find with the CLI?

Have been using CLI regularly at work for 10+ years and CLI is always there so I don't understand the comeback.</comment>


Ask HN: Great resources to learn english language online - <AUTHOR> Hi guys, do you know some great (in your opinion) resources to learn English language online? <comment><USER2> I know you expect something else, like Babbel (which is awesome btw).

But i have most of my english experience from watching South Park and later more complex series (IMO south park has a rather simple sentence structure and clear vocals) plus reading basically everything online in english.

</comment><comment><USER3> A program called "tell me more" which can be found online (even at the pirate bay) is better than the famous "Rosetta Stone".

There probably are good channels on YouTube. But I am not aware of them.

</comment><comment><USER4> Good for beginners [https://simple.m.wikipedia.org](https://simple.m.wikipedia.org)</comment>


Ask HN: How Much Spam is Acceptable? - A Spam Report Card - <AUTHOR>

After seeing an announcement on Digg today about how they are working on their homepage spam problem (among other problems) I started thinking that perhaps Digg and I have different opinions of what is an "acceptable" amount of spam. (Link: http://about.digg.com/blog/yea-we-know-about-top-news-spam-and-some-good-news-too)
Then I realized that I still love twitter despite the large amounts of spam that exists there and tried to think of a social network or tool that didn't have it's users' experience negatively affected by spam significantly. After contemplating this for a while I thought I might make a list and grade the different social networks/tools that I use on a regular basis and see how others might grade them as well.
twitter: D+ Facebook: A- Reddit: A Digg: D- Skype: B+
outlook: B- Gmail: C+ <comment><USER2> Facebook beat Gmail? Every time I log into Facebook I see spam on the right side of it.

<comment><AUTHOR> Touché. I didn't figure the ads into my assessment.</comment></comment>


Quantitative analysis of issues found by afl in mandoc - <AUTHOR> http://undeadly.org/cgi?action=article&sid=20150619071929

<comment><USER2> > abuse of assert() for input validation

Does anyone know what he's talking about?

<comment><USER3> assert() is a macro that will print an error message and abort the program if its argument doesn't evaluate to true.

assert() is usually used in debug builds to verify internal invariants of the code: "if this is false, something has gone horribly, terribly wrong; we've gone crazy and we should abort to avoid further hurting ourselves or others". It shouldn't be used to verify that user input is well-formed, since this happens under normal circumstances.

<comment><USER4> Furthermore, assert is specifically intended to catch internal logic bugs which would still be present even after user input validation. i.e. logic bugs which are invariant upon user input

</comment></comment></comment><comment><USER5> The 7 most-severe bugs were specifically related to reading/writing the wrong place in memory. These are impossible bugs to have in managed-memory environments.

It is absolute madness to use C or C++ in a security-critical system.

<comment><USER6> Except for maybe the kernel, libc, the browser, drivers, widely used server software, emulator suites, the window system, the office suite you have to use, the runtime libraries for the high level languages you use, and so on. </s>

(Hmm, perhaps I'm making your point for you? ...)

One thing I have noticed though is that replacing manual with automatic memory management often doesn't help as much as one might think. The bugs just tend to shift to other areas (e.g. memory corruption -> command execution, XSS or XXE etc).

I think this is because with a more forgiving language, developers tend to naturally create more complex systems. Like how car drivers go faster when they feel safer in their car.</comment></comment>


Minneapolis's White Lie - <AUTHOR> http://www.theatlantic.com/business/archive/2015/02/minneapoliss-white-lie/385702/?single_page=true

<comment><USER2> Lots of words, but not one spent naming a specific thing Minneapolis is doing to marginalize non-white residents.</comment>


Funding Your Startup With Hackathon Winnings - <AUTHOR> http://www.getvue.co/blog/technology/funding-your-startup-with-hackathon-winnings/

<comment><USER2> Love hearing this! I co-founded the first MHacks and after going to 10+ hackathons, I think this will become a trend. Hackathons are held in nearly every major city and every college now. More prize winnings, more hackers to meet potential cofounders and you're ripe to see just a few more startups.

<comment><USER3> I hope the hackathon winnings become more transparent (not yours)...I hear many complaints from folks who have put a lot of effort to only see the "prize" or not the "prizes".

Brain - What are you thoughts on when to take the investment vs cash?

</comment></comment><comment><USER4> looking forward to applying some of this at my first hackathon. do you usually come in with an idea, or wait until after getting there to think of something?

<comment><USER5> It's totally up to you. Some hackathons are themed, so a lot of times you'll want to hear presentations from various API sponsors first and then decide how to integrate. Conversely, in the case of [http://ramen.is](http://ramen.is), we had planned out the idea for quite a while before going into the LAUNCH hackathon last November.</comment></comment>


P2P file-sharing for private use is legal in Portugal, court rules - <AUTHOR> http://www.zdnet.com/p2p-file-sharing-for-private-use-is-legal-in-portugal-court-rules-7000004895/ <comment><USER2> From the last line in the article:

"An ACAPOR representative was quoted in the article as saying he did not understand how one can share a file and still keep it for private use. ACAPOR will apparently try to have the judgement overturned."

Perhaps an 'old media' scenario would help. One line of reasoning here would be that I read a book and remember the story (thus a copy of the story is stored in my mind), and then I share that book with friends...</comment>


Nations Mull the Ways to Regulate Bitcoin - <AUTHOR> http://dealbook.nytimes.com/2014/02/26/japan-studies-regulation-of-bitcoin-after-mt-gox-goes-dark/?nl=business&emc=edit_dlbkam_20140227

<comment><USER2> Exchanges can be decentralized. It's technically possible and likely the future of cryptocurrencies. The market doesn't need a centralized MtGox to function. BTC does't need to be stored in exchanges, only transferred. Therefore, vast sums can't be stolen. Only hypothetically BTC hitting a specific node at one time could be stolen. Not the whole batch.

Wallet services on the other hand, need some level of centralization, they have to provide trust and security. People are not good enough at information security to protect their own wallets. Storing BTC on your PC is equivalent to storing money under your bed. Except the thing stealing it is mostly automated malware not people breaking into your house.

Regulation for BTC has been primarily targeted at money _transfer_ businesses and exchanges. Insurance is well oriented towards protecting money _storage_ businesses. Insurance can exist and function for the latter outside of government regulation.

<comment><USER3> > Exchanges can be decentralized. It's technically possible and likely the > future of cryptocurrencies.

Would you mind explaining how? I can't see how it's possible to do the money side of the transfer in a decentralised way

<comment><USER2> Vendor model, decentralized exchanges serve as the transfer, mediation, and escrow point. Vendors and consumers take care of sending/receiving fiat currency. Ala localbitcoin except decentralized.

Then there is no single point of failure. It then becomes regulation vs (hundreds of)thousands of individuals and small operations. Compared to regulation of a few mega-exchanges. This would result in a critical increase in the complexity of the regulatory environment.

Assuming the government gets serious about it, enforcement of the regulation will become a media side-show similar to the war on drugs. Taking down a few prominent individuals, parading them in the news, but barely hurting market supply/demand.

<comment><USER4> Why would consumers worry about whether there is a single point of failure in the Bitcoin economy? What they do worry is whether they will be able to take their money out when they want it, and that means fewer, larger, and supposedly more trustworthy exchanges.

<comment><USER2> > Why would consumers worry about whether there is a single point of failure > in the Bitcoin economy?

Consumers will worry when it becomes either illegal or prohibitively expensive to operate centralized Bitcoin exchanges, which is the likely outcome. That will quickly lead to a oligopoly of 2-3 exchanges dominating the market, just like every heavily-regulated market where it's too expensive for small shops to compete legally. Then you'll have a Paypal type experience where money/BTC is constantly withheld and all transactions are under surveillance. Defeating many of the benefits of Bitcoin (privacy and fluidity).

> What they do worry is whether they will be able to take their money out when > they want it

Consumers don't need to worry about taking money out of decentralized exchanges. Since exchanges don't hold their money. That's the whole point:

a) Disconnecting the massive BTC wallets storage on exchange servers, instead they are strictly for facilitating transactions (escrow is built into the BTC protocol)

b) P2P distributed hosting of exchange servers so operating "trustless" exchanges can't become outlawed

<comment><USER4> You do realize that what cryptolibertarians and regular consumers value is drastically different, right?

<comment><USER2> For now :)

The things I mentioned are the inherent value in BTC.

If you want regulated centralized exchanges then you might as well just keep your fiat currency and PayPal.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Decentralized systems see regulation as "damage" and route around it.

</comment><comment><USER6> a super computing cluster spewing nop trades will kill it t scale.</comment>


Starting a business as a college student - <AUTHOR> http://www.trich.me/blog/?p=45 i liked it <comment><AUTHOR> Don't know how everyone else feels. The author is being facetious. But coming from a student, I liked the post.</comment>


Best way for an individual to sell a server? - <AUTHOR>

I was given a couple of old servers Dell Poweredge 2850 & R510 that were being tossed in a move.  So I'm pondering whether to use them or sell them.
First question is, how or where would you sell them, craigslist/ebay/???  Would you sell them whole or piece by piece, drives separately from rack?  I haven't looked too closely at the hardware, but it looks typical of midrange systems.
On the other hand, I just moved to SF and set up a static ip for my dsl and would love to play with a home network/nas/server.  I'm thinking of installing CentOS.  The only prob is that my internet isn't a business class line, so they limit the bandwidth and data that you can use (sonic.net).
Would love to hear thoughts and comments about either option.  Thanks. <comment><USER2> Have you turned one on in your house/apt? Do that before you make the decision to sell/keep them. They are REALLY loud, and hard to stifle. Craigslist is where I would put them up on though, or a local hackerspace mailing list.

<comment><AUTHOR> Thanks for the advice. I haven't turned them on, but the dell marketing stuff says that the R510 is pretty quiet. I know how loud they can get though.</comment></comment>


But I was helping the compiler - <AUTHOR> https://pankajraghav.com/2020/08/16/RVO.html <comment><USER2> Two important points:

\- For std::array of uint8_t – an in-place container of a plain-old-data type – the move constructor and the copy constructor, if not optimized away, will do the exact same thing! Both boil down to copying the bytes from the old object to the new object. So there is never any benefit to calling std::move on such an object. This is different from out-of-line containers like std::vector, where the std::vector object itself consists only of a pointer and some lengths. In that case, the move constructor just copies the pointer and length values themselves and nulls them out in the original object, without copying the underlying data. But the copy constructor has to allocate a whole new heap buffer, copy the underlying data, and initialize the new vector object with _that_ pointer.

\- The godbolt links are building without optimization enabled (without -O settings)! GCC apparently still performs (non-mandatory) NRVO in this case, probably because that optimization is implemented on the frontend rather than the backend, and the frontend tends to care less about -O settings. But GCC does not perform the usual suite of backend optimizations, including inlining and memcpy elimination. If optimizations were enabled, GCC might be able to optimize both versions into the same thing, depending on what actually happens in "// Do some computation". It doesn't make sense to make performance comparisons with optimization disabled, unless you're trying to improve the performance of debug builds themselves.

<comment><USER3> Am I right to say that using std::move is even a logical mistake here?

The purpose of move is to "steal" the underlying memory, but if you do that, you leave the gfx variable from the class without backing. So basically you would need to reallocate it after every call to get_display_pixels. So the code only works because the author uses array, which is statically allocated and there is nothing to steal. It would break were they to switch to vector.

Either the author doesn't understand what the purpose of move is, or if this is really their intent, it's a terrible design, since get_display_pixels looks like an idempotent getter function, but it's not.

<comment><USER4> > So the code only works because the author uses array, which is statically > allocated and there is nothing to steal. It would break were they to switch > to vector.

No, because get_display_pixels returns by value and not by reference. So the move constructor will move from a newly constructed value, _not_ the instance gfx variable.

If get_display_pixels returned by mutable reference and the author used std::vector, yes, the code might break.

Nit: array is not statically allocated; it's stack/automatically allocated.

<comment><USER5> It would not break, but it's still a logical fallacy to std::move something returned by value, no? Or is there a valid use case here?

I strictly use std::move in case of explicit transfer of ownership, and not to try to outsmart the compiler to 'optimize' something. As the article shows the compiler is smart enough to do all this by itself, it doesn't need to be told to try to elide copies. But maybe I'm missing some valid use case where it would make sense to add the std::move in these kinds of situations?

<comment><USER4> You're right, there's not really a point in std::move-ing something returned by value because the something is already a rvalue.

</comment></comment></comment></comment></comment><comment><USER4> 1) It's useless to reason about the performance of generated assembly unless you use -O{1,2,3}. Another commenter says that they're surprised std::move isn't inlined; that's because -O{1,2,3} isn't passed.

2) If you care that much about performance, you can avoid all copies by returning by reference in this case.

3) The author seems to misunderstand std::move — in this case, std::move can _only_ pessimize performance and never optimize because the move constructor of std::array is the exact same as the copy constructor.

For example, move constructors help performance for std::vector because the move constructor will copy the backing buffer's pointer instead of copying the entire backing buffer itself.

Since std::array<T> is a thin wrapper around T[], the entire array is stored on the stack, and there is no possible optimization that a move could make — stack values _must_ be copied (or otherwise initialized) in move constructors. In fact, since std::array is an aggregate type, there isn't even a user- defined move constructor (or copy constructor)! [https://github.com/gcc- mirror/gcc/blob/master/libstdc%2B%2B-...](https://github.com/gcc- mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/array#L112)

<comment><USER6> Do you have a quick explanation or resource that explains why [1] is true?

Just curious as I've wanted to get better at being able to understanding assembly output by gcc/clang but don't think I've come across this advice explicitly before.

<comment><USER4> I should maybe rephrase [1] to: if you're deciding between two different ways of writing the same function for performance reasons, you should use the optimized assembly output to decide (or the same compiler flags as what you use in production). There can be big differences between the unoptimized and optimized code: [https://godbolt.org/z/fszhjj](https://godbolt.org/z/fszhjj).

Unoptimized assembly IS useful if you just want to learn or understand assembly itself.

</comment></comment></comment><comment><USER7> This is the thing that always drives me nuts about C++: the compiler always trying to second-guess me, or me having to second-guess it. If I had wanted to spend time thinking about compiler internals I would have made that choice decades ago (after I actually did work on compilers a bit along with everything else). If I want low-level control to achieve best performance or efficiency, I'll just use C and be careful to avoid its deficiencies. Been there, done that, I'm actually pretty good at it. Then I'll link that with code written in a language that lets me express higher-level intent at a decent level of abstraction, which is impossible with the $#@! compiler in my face all the time.

<comment><USER3> On the other hand, it's basically impossible to write in C something as fast as Eigen, because it's exactly the compiler that gets into your face which can optimize away the intermediate layers of abstractions, in a way that would require 10 times the amount of code in C.

<comment><USER8> Which also means that is basically impossible to read some eigen code and mentally visualize the compiled asm. Though there are certainly situations where that doesn't matter, it can be quite annoying.

<comment><USER9> It just takes some practice.

</comment></comment></comment></comment><comment><USER10> Why does adding the std::move() change the generated code though? It changes the prvalue to an xvalue, but std::move is equivalent to a static_cast, and shouldn't both the prvalue and the xvalue versions end up calling the same std::array move constructor?

Edit: I just took a look at the actual godbolt links. And it looks like the std::move version actually puts a call to std::move in the generated assembly. I'm kind of surprised this is actually a literal function call, I would have assumed std::move would be always inlined.

<comment><USER11> The version without std::move does not call a constructor because of copy elision. The get_display_pixels function constructs the disp_pixels object in place.

In the version with std::move, it first copy-elides the function call into a temporary, then move-constructs the disp_pixels object from the temporary. ie as if

        auto tmp = emulator.get_display_pixels();
        const auto disp_pixels = std::move(tmp); // move constructor called here
        // lifetime of tmp ends

So the version with std::move is invoking an extra move-constructor and destructor call.

<comment><USER12> But shouldn't those extra calls be optimized away to nothing, if they don't have any real side-effects? That's what I would naively assume.

<comment><USER11> I expect so, yes.

</comment></comment></comment></comment><comment><USER13> Depending on what is in the body of the function, I usually prefer to see an output iterator taken as a function parameter, instead of functions returning whole collections. In the article's style the caller is forced to deal with std::array even if that's not suitable at the call site. With an output iterator and a template function the caller gets to pick whatever suits the purpose best. Not having to think about how the output was allocated and deleted is just a bonus of this style.

</comment><comment><USER14> Never use std::move on an rvalue. That is always wrong, and shows a misunderstanding of std::move.

std::move doesn't move. It should maybe have been called std::lvalue_to_rvalue.

<comment><USER14> … and I meant to add: Which makes it clear that you should neverer pass an rvalue into std::lvalue_to_rvalue.

</comment></comment><comment><USER15> You don't need a copy here. A const reference to the internal array is all you need, and it's faster.

</comment><comment><USER16> In addition to the significant issues pointed out by comex and tylerhou, NRVO is not in play here as `gfx` is not a non-volatile object with automatic storage duration.

</comment><comment><USER17> You really don't need to read assembly for any but the most rare cases. What you need is a profiler to give you the hotspots and you need to stop prematurely optimizing on a line-by-line basis. Just stop it. Optimize O(n) performance (but also don't go wild, unless there is a business reason), keep your fingers off micro-optimizations, unless so indicated by the profiler and only if there is a business reason as well...

<comment><USER18> Totally agreed. Getting comfortable with a profiler is a superpower.

FWIW, this is also one of Rob Pike's rules of programming:

> Rule 1. You can't tell where a program is going to spend its time. > Bottlenecks occur in surprising places, so don't try to second guess and put > in a speed hack until you've proven that's where the bottleneck is.

It's implicit, but the "proven" part implies use of a profiler.

<comment><USER19> This is a matter of experience. If I have a tight loop looping millions of times but I have a heap allocation inside, I can be 99% sure this would be slow, without looking at the profiler and if there is an easy way to avoid it without obfuscating the code (e.g simply taking it out of the loop, or using the stack instead of the heap), I'd just do it. Profiling is a waste of time in such cases.

Also, bottlenecks happen in surprising places, and allowing slow/bad code just because the profiler doesn't scream about it _on the development machine_ is a recipe for surprising performance issues in the future. The slow code might become a problem when a user has slightly different task for the program.

<comment><USER18> I agree with you, too, that experience helps.

But I think the aphorism covers the case you're describing too.

It's possible that your loop is slow, but if you're working on a program of sufficient size and complexity, you simply _won't know_ if it's _the_ bottleneck without using a profiler.

The purpose of the statement is to save you the trouble of 10xing performance of a function, so that it takes .1% of all execution time, instead of 1%. Do sufficiently complex programs, and without a profiler, you won't really know if a loop is taking 1%, 10%, or 80%.</comment></comment></comment></comment>


Apple threatens to cutoff all Epic iOS and Mac developer accounts [pdf] - <AUTHOR> https://cdn2.unrealengine.com/epic-v-apple-8-17-20-768927327.pdf <comment><USER2> I bet Epic would cut off all accounts of a company who actively flaunts the fact they're avoiding the royalty fees associated with using the Unreal Engine.

Epic is simply hoping their bad faith practices go unnoticed after their Fortnite fanatics start doing their thing.

<comment><USER3> You can create and distribute a game without using Unreal Engine or the Epic Store. You can't distribute a game on macOS and iOS without Apple's approval. False equivalence.

<comment><USER2> But why isn't it as simply as telling either party to not use the other's services if they don't like the terms of said service?

I guess I'm not convinced that the App Store that Apple built for a some phones constitutes as a public service that every person on earth has the right to develop for.

<comment> m-p-3 Easy, just start your entire vertically integrated mobile ecosystem. /s</comment></comment></comment></comment>


Here's How I deal with users who steal my Bitcoins - <AUTHOR> http://blog.ice-dice.com/post/65390305396/heres-how-i-fight-with-users-who-steal

<comment><USER2> I just tried it, and it works, they give you free bitcoins, but it's nearly impossible to withdraw them.

They give you 0.005, but you have to bet the total of 1.5 to withdraw what you have.

So basically you have to stay alive after 300 bets of what they give you, which is nearly impossible.

It's a pretty safe "giveaway" on their side, and it achieves the goal of attracting gambling addicts.</comment>


Dual-Boot Ubuntu 15.04/14.10 and Windows 10/8/8.1 Step by Step Tutorial - <AUTHOR> http://www.linuxandubuntu.com/home/dual-boot-ubuntu-15-04-14-10-and-windows-10-8-1-8-step-by-step-tutorial-with-screenshots

<comment><USER2> Dual booting is great if you're working on a low resource machine but I think now a days if you're running something like an i5 with ~8 gigs of ram and an SSD you might as well just use VMWare with unity mode.

The main issue with dual booting IMO is that 2% of the time when you need to use a Windows app you need to break your entire work flow and reboot to use it.

Often times you want to use that Windows app while you're still developing in Linux so it's a huge bummer.

Unity mode allows you to run both operating systems together in a way that makes it feel like you're running both Linux and Windows as a single OS. Complete with being able to pin Linux apps to your taskbar, dual monitor support, share drives/clipboard, etc..</comment>


iOS 7.1 Real-time Design Reactions - <AUTHOR> http://www.polarb.com/publishers/results/poll_sets/2042

<comment><USER2> I would think you'd get a ton of bias by having the options labeled (particularly using words like 'old' and 'new') and always having the options in the same order, 7.1 on the right.

<comment><USER3> That said, de-biasing it by making it randomly switch sides would likely cause confusion. "Old" vs. "New" could probably be reworded pretty easily though to be more neutral yet still descriptive.

<comment><USER4> Confusion about what? If your goal is to know which design people prefer (independently of generation), there is a necessary amount of confusion required with regard to which is new and which is old.

Even if you were to remove the labels, users familiar with the platform will still be biased. There is something called the mere-exposure effect, which dictates that the mere exposure to a thing will cause preference toward said thing. Because of this aspect of human preference, the deck is naturally stacked against "new" things.

</comment></comment></comment><comment><USER5> One thing that concerns me from a 'normal user' point of view is that the new Buy Album button appears right next to the price for the individual song.

For some users it may appear like you are choosing 'buy album' for $1.29

[http://cdn.iphonehacks.com/wp- content/uploads/2014/02/itunes...](http://cdn.iphonehacks.com/wp- content/uploads/2014/02/itunes-radio-buy-album-ios-7-1-beta-5.jpg)

</comment><comment><USER6> The only iOS 7.1 option that seems to be losing is the call screen. Of course the old one _looks_ better with the full-screen photo, but how many people have good enough photos of their contacts to make that consistently look good in everyday use?

<comment><USER3> It's not just the photo. It's the vastly increased hit area for answering.

I have photos for all the people I'm close to.

<comment><USER7> I can't imagine their motivation for reducing the size of buttons like that. Other than the smaller buttons, 7.1 actually looks pretty good.

<comment><USER8> Accidentally answering a call is embarrassing.

<comment><USER9> Androids 'drag from A to B' is a godsend in this regard.

<comment><USER8> Having to use two hands to answer a call is annoying.

<comment><USER9> Where's this two-hands requirement coming from?

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Hi,

I'm an engineer building Polar Polls. This is an example of one of our realtime poll results dashboards.

We've built some cool tools for building beautiful, photo polls and the ability to embed them anywhere on the web.

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

<comment><USER11> I understand that you want me to know that people are voting right now, but the yellow flashes are _incredibly_ distracting and made trying to view all the poll results very difficult.

<comment><USER12> I agree. I was looking at the site trying to figure out what was going on and the yellow flashes just kept grabbing my attention.

</comment></comment></comment><comment><USER13> "Dramatically increase participation and time spent on your sites or apps with Polar."

With pinchzoom disabled, I just want to leave this site. -1

</comment><comment><USER14> Why are there questions asking if people prefer having [feature] or not having [feature]? And more importantly, why are people voting for the latter one?

</comment><comment><USER15> Which proves that history repeats itself. Apple goes overboard with its initial design and pulls back in places with subsequent point releases. Everyone in 5 years forgets that their phone was allegedly unusable!!! for a matter of months.

<comment><USER3> Sorry, it's hardly been unusable.

I've had almost zero issues with iOS 7.0 - most of my gripes are my dislike of the new icons and bad discoverability (e.g.: casting a song to airplay /bluetooth speaker), but none of that made the phone unusable. The control center by itself makes iOS7 better than iOS6.

<comment><USER16> I just wish the forest that is Settings was searchable. One example being to find all the similar "Use Mobile Data" toggles.

It's odd that it isn't searchable since OS X's analogous System Preferences has had its cool search with the fading light graphic for many years.

<comment><USER3> I hear ya - this is one area where Spotlight on Mac OSX Tiger (10.4 - almost a decade ago) really innovated - I could tell my folks to "use the magnifying glass on the top right corner and type 'mouse'". The same on XP could be a nightmare depending on how it was setup. Apple definitely should have kept the settings in the search in iOS.

Right now it's sad I have to search google on how to find some of the settings on the iPhone.

<comment><USER16> The menu-searching (Cmd-?) with the auto-reveal and floaty arrow was similarly brilliant. I still use it to this day.

</comment></comment></comment></comment></comment><comment><USER17> The flashing is distracting. Quite irritating actually

<comment><USER18> I like it. It makes the page seem 'alive', though I guess they should add a toggle button to turn it off for those who have trouble with it.

</comment></comment><comment><USER19> The tiny avatar is terrible. I want to quickly see who is calling. Facial recognition is the absolute best way for that to happen.

<comment><USER20> On top of that it looked beautiful.</comment></comment>


OpenDNS has released the top 1M domains on the Internet - <AUTHOR> https://blog.opendns.com/2016/12/14/cisco-umbrella-1-million/ <comment><USER2> It's not really a surprise that google.com is more popular than aggregating all queries for the entire .org TLD; I'm sure we'll get more interesting analyses out of this.</comment>


The story of a pivot - <AUTHOR> http://blog.foundd.com/post/109674959438/a-new-foundd-or-the-story-of-a-pivot

<comment><USER2> I used the app when it was first launched and as the post suggests, whilst it was an interesting way to find new movies, that focus alone wasn't enough to get me engaged as the days went on. I just ended up selecting the movies I was gonna watch depending on their streaming availability on other platforms. Nowadays however, with the way they pivoted towards focusing on how a person felt about the movie they watched, it became an entirely different experience that I couldn't find on other places. Im genuinely interested in seeing how my friends reacted to a movie, more than just knowing whether they deemed it was a 4 star movie. When I see that they were shocked by a movie or utterly bored, it sways my movie selecting experience towards this new logic which I find very appealing. To founders of other startups, I would suggest that the moral of the story is to "listen" to your users and be ready to shift the focus or logic of your product towards something unexpected that might have seemed secondary at first.

</comment><comment><USER3> Great app! Good luck Lasse & team :)</comment>


Friendster: The Trials and Errors of a Silicon Valley Visionary - <AUTHOR> http://www.esquire.com/lifestyle/a33496/friendster-jonathan-abrams

<comment><USER2> Decided to take a look at his new app and at least on Android there's a game with that same name. Even if he introduced first on IOS why wouldn't you trademark the name? Might that be a clue why he hasn't found success?</comment>


Apple iPhone 6 Plus Bent By Teenagers At Apple Store - <AUTHOR> http://metro.co.uk/2014/09/29/teenagers-film-themselves-bendin-iphone-6-plus-devices-at-apple-store-4885728/

<comment><AUTHOR> Here is the link to the actual video: [http://www.youtube.com/watch?v=O9U-NmsgCO8](http://www.youtube.com/watch?v=O9U-NmsgCO8)</comment>


How reddit became reddit - the biggest smallest community online - <AUTHOR> http://alexisohanian.com/how-reddit-became-reddit-the-smallest-biggest <comment><USER2> Reddit surrendered almost complete control to the community. It led to some pretty amazing emergent behavior, but it had a very high price. Today the site is far more 4chan and much less Reddit circa 2006.

I think Reddit is kind of a brilliant failure. It's huge and impressive now, but so much more shallow and flawed than it could have been.

<comment><AUTHOR> Taken in aggregate, I agree.

But take a look at this reddit, for instance: <http://www.reddit.com/r/askscience/>

There are deep ends to this very big pool that is reddit. Plenty of kiddy- sections, too, where the water is warm and attention spans are short.

e.g., Free endorphins! <http://aww.reddit.com>

<comment><USER3> The trouble is that it feels like the shallow parts are growing much, much faster than the deep ends. There's pockets of good stuff, but you have to look harder for it. If you like the shallow sections too, then it's a great pool to play in. But if you came for the deep ends, it's kind of a pain to swim with all kids in the shallow end splashing everywhere.

Maybe I'm just bitter.

<comment><USER4> /r/programming has become more like a generic technology link dump. The few programming-related links it does get tend to be either about functional- programming-language-of-the-month or a pointless JavaScript demo.

<comment> mkr-hn <http://www.reddit.com/r/programming/top/?t=week>

Maybe it's the sort you're using. Reddit link discussions can go on for weeks and months. You can hop in with a top of the week sort and read a good discussion, and still find active threads.

A lot of the complaints I see about reddit feel like the complaints people have jumping into Linux from Windows.

Linux isn't Windows, and reddit isn't Hacker News. Learn how to operate it, and you'll find out why people like it.

ETA: <http://i.imgur.com/UWdeU.png>

</comment></comment></comment></comment></comment><comment><USER5> The site continues to be useful to many people primarily because of subreddits.

I still remember when subreddits were first introduced. All the users were certain this was a bad idea and that reddit should have implemented tagging instead. Now nobody mentions tagging. And most people don't remember reddit without subreddits.

And PG got impatient and created HN because this feature wasn't available fast enough. :P

<comment><USER6> The subreddit problem is why I started reading HN instead of proggit.

Anyone is allowed to squat on a subreddit and censor it to their whims. What is the result of this? You get moderators (who's name I will not mention for obvious reasons) who flood the subreddit with Haskell blog posts and bypass the Reddit spam filter. I remember seeing 4-5 Haskell stories every single day on reddit with low votes for many months.

When you try to submit your own story, you will likely get caught in Reddit's "shadow ban" spam filter where it looks like it was submitted but it never shows up in the "new" section. When you contact one of these "moderators", half of them won't respond and someone will fix it 24 hours later where it will appear on page 5, dooming it to never appear on the front page. The other mods then complain you were wasting their time because they checked it after 24 hours.

I did a little experiment where I submitted a Haskell related story. It was "shadow banned" for a mere 10 minutes (probably after one of the mods fished it out of the spam filter). Then I tried submitting other programming related news from HN, most of which never appeared. That was when I stopped participating in Reddit.

You might also be interested to know that Reddit censored the Athiesm subreddit off the front of the page so they didn't exactly grow organically.

[http://www.reddit.com/r/atheism/comments/9efxf/an_explanatio...](http://www.reddit.com/r/atheism/comments/9efxf/an_explanation_of_why_the_atheism_reddit_does_not/)

<comment><USER7> Did you even read the link you put in your comment? reddit did not "censor" anything. We simply fixed the the algorithm that was accidentally ranking that reddit too high. It was never popular enough to be in the top 10.

<comment><USER6> _We simply fixed the the algorithm that was accidentally ranking that reddit too high._

At the time you censored the atheism subreddit, it had just about as many subscribers as the other top 10 subreddits at the time. You decided to arbitrarily change the algorithm until it seemed right to you.

 _"we added the ability to prevent certain reddits from appearing in the top ten"_

<comment><USER7> The number of subscribers is not the metric we used. We use a metric we call "activity". The behavior described in that blog post simply pointed out a bug in the activity metric.

Also, to be pedantic, it is not possible for reddit to censor anyone. Governments censor things, private entities do not.

<comment><USER6> To be pedantic, censorship is not limited to the government. Being private does not let you avoid the label of censorship.

And yes I know the metric is called "activity". It is just too suspicious that you let it rank well all these years and let it disappear from the front page just because a far smaller subreddit (by subscriber) was on the front page.

</comment></comment></comment></comment></comment></comment><comment><USER8> Is that floating Posterous bar[1] on the bottom of the page new? Geocities used to do the exact same thing...

[1] <http://i.imgur.com/3JFeq.png>

<comment><AUTHOR> I believe so. That, or I've only noticed it in the last few days.

<comment><USER9> If you are not logged in to Posterous, you would get this bar. I think it's a recent change.

</comment></comment></comment><comment><USER10> > "I wish more people would listen to me when I suggest copying the reddit > "hotness" algorithim & commenting system"

We did with Yak, which has many features of Reddit plus several original ones and different positioning. Agree that hotness and un-sucky comment surfacing are the "secret sauce" of Reddit. Not quite ready to open the doors, but taking emails at <http://yak.to>

<comment><USER7> Hey there. Can I get my invite code now? :)

<comment><USER10> Gimme 48 hours, then you and Alexis are in first, I promise.

<comment><USER11> I wouldn't mind an invite, if you have a few extra laying around.

<comment><USER12> me too

<comment><USER13> Me three!

<comment><USER14> Me four!

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> "If users see how much the staff cares, they'll care too."

I don't think that's right, I think if users see how much the staff want the same things as the users, then they'll care. I'm sure the Digg staff cared about the success of Digg, but it didn't match what the users wanted so they lost interest.

<comment><AUTHOR> No doubt. But I mean 'care' in the touchy-feely sense of the word. Maybe there was someone there who obsessed over creating those 'magical' moments for users, but I can't say I've heard too many anecdotes about that.

<comment><USER15> I read it back and realised I misunderstood what you meant, understanding it as being about the "magical moments" what you said makes sense, I was looking it as you meant caring about what _all_ users want, not what individuals with support requests get. In hindsight I have no idea how I came to that conclusion, the previous section makes it clear :-)

</comment></comment></comment><comment><USER16> Reddit is interesting. There's a lot of crap there now and memes are way too frequent. However, there are still some great and high-quality subreddits. I've improved my browsing experience there by removing popular reddits like /r/pics, /r/funny, /r/politics, etc. Then I added new ones like /r/askscience, /r/space, and /r/worldnews. That's the best thing about the site. You don't like a community, just remove it or don't join.

</comment><comment><USER17> Seeing the evolution of reddit in screenshots was simply awesome. <http://reddit.blogspot.com/2006/12/time-machine.html>

</comment><comment><USER18> While I agree the users are in control for the most part, I can't help but think of one issue that pushed Steve and Alexi toward leaving reddit, that is, the censorship during the Sears debacle. I think there have been other cases where Conde Nast had to step in and lay down the law as well.

</comment><comment><USER19> By scraping off the top end (intelligence-wise) of 4chan, that's how.)

</comment><comment><USER20> > the next thing hundreds of thousands of people are spending their workday > reading and participating in.

...is that really a good thing?

I recently abandoned Reddit because I realized that keeping abreast of memes wasn't helping me accomplish my goals in life. Also, the illusory superiority thing gets hard to take. At least on HN it's more restricted to start-up vs. big-co and open vs MS, which I can take in stride. :-)

<comment><AUTHOR> I always hoped /r/startups would take off as a complement to Hacker News, but I'm the first to admit this is my #2 destination after reddit (though sometimes its #1). Hacker News is the best kind of distraction because it _feels_ productive. Mmmm... Hacker News...

<comment> mkr-hn That reddit will never take off because "startup" is not a common a word outside the Silicon Valley social bubble.

<http://www.reddit.com/r/Entrepreneur/>

<comment><USER21> I doubt that has anything to do with it.../r/startups has more subscribers than /r/Entrepreneur does...

<http://www.reddit.com/r/startups/>

<comment> mkr-hn A lot of reddits fizzle out. There's no mechanism that removes people from a reddit, so it could appear a reddit is lively if you only look at subscriber count.

People post stories, but there's very little discussion.

It looks like both reddits are dead.</comment></comment></comment></comment></comment>


TwistyMol:A minimal molecular viewer in JavaScript & Canvas - <AUTHOR> http://www.redbrick.dcu.ie/~noel/blog/molecproc/multitwistymol.html <comment><AUTHOR> Here is accompanying blog post:

[http://baoilleach.blogspot.com/2009/01/turn-turn-turn- twisty...](http://baoilleach.blogspot.com/2009/01/turn-turn-turn-twistymol- ready-for.html)

And here is a newer version (called TwirlyMol):

[http://www.redbrick.dcu.ie/~noel/blog/molecproc/twirlymol.ht...](http://www.redbrick.dcu.ie/~noel/blog/molecproc/twirlymol.html)

[http://baoilleach.blogspot.com/2009/01/twistymol-is-dead- lon...](http://baoilleach.blogspot.com/2009/01/twistymol-is-dead-long-live- twirlymol.html)

Though later version uses dojox.gfx [1] instead of Processing [2], which gives better Explorer but worse Firefox performance.

[1] <http://docs.dojocampus.org/dojox/gfx>

[2] <http://ejohn.org/blog/processingjs/></comment>


Can Saccadic Eye Movements Enhance Implicit and Explicit Memory? (2018) - <AUTHOR> https://sciencetrends.com/can-saccade-eye-movements-sire-effects-enhance-implicit-explicit-memory/ <comment><AUTHOR> Just found out about saccade induced retrieval enhancement and wanted to share here. It's about how moving eyes for a bit enhances explicit recall. There weren't many articles covering this phenomenon so sorry for picking an article with somewhat editoralized title.

</comment><comment><USER2> Could this be related to the same phenomenon as EMDR ([https://en.wikipedia.org/wiki/Eye_movement_desensitization_a...](https://en.wikipedia.org/wiki/Eye_movement_desensitization_and_reprocessing))?

</comment><comment><USER3> Interesting. My SO just noticed yesterday that I have a certain look on my face and my eyes move around a lot when I'm thinking about programming.

</comment><comment><USER4> Also might be a usable source of entropy.</comment>


How Stephen Wolfram Figured Out Interstellar Travel in One Night - <AUTHOR> https://backchannel.com/i-had-one-night-to-invent-interstellar-travel-b2466882ef5c#.xy5as4r0d <comment><USER3> Almost at the end of the article, Wolfram has:

"What Is Your Purpose on Earth?

If aliens show up on Earth, one of the obvious big questions is: why are you here? What is your purpose? It's something the characters in Arrival talk about a lot. And when Christopher and I were visiting the set we were asked to make a list of possible answers, that could be put on a whiteboard or a clipboard. Here's what we came up with:"

the checklist:

[https://cdn-images-1.medium.com/max/800/1*Z0GZ8w2y9daVvZq65Y...](https://cdn- images-1.medium.com/max/800/1*Z0GZ8w2y9daVvZq65Y6HcQ.png)

"As I mentioned before, the whole notion of purpose is something that's very tied into cultural and other context. And it's interesting to think about what purposes one would have put on this list at different times in human history. It's also interesting to imagine what purposes humans — or AIs — might give for doing things in the future. Perhaps I'm too pessimistic but I rather expect that for future humans, AIs, and aliens, the answer will very often be something out there in the computational universe of possibilities — that we today aren't even close to having words or concepts for."

Seems like the intention is for Wolfram to be anticipating what we should be asking the aliens to tell us, about what they are doing on Earth to begin with.

Conversely, it can also be read as the aliens asking us what we are doing on Earth to begin with.

Good checklist. Might be a worthwhile idea not to wait for any aliens, and just fill out the checklist ourselves. Probably less fictional to focus on what humans think their own Purpose on Earth is all about. Start with yourself. Especially if Earth is your home planet.

</comment><comment><USER4> Consider a spoiler warning on this one? I stopped reading because I haven't seen the movie yet.

<comment><USER5> I read the whole thing, no plot spoilers, just some content spoilers. Originally I wasn't going to see this movie, but this actually made me change my mind!

<comment><USER6> It's a good movie. Go see it. Villeneuve movies are always good.

The original URL btw is [http://blog.stephenwolfram.com/2016/11/quick-how- might-the-a...](http://blog.stephenwolfram.com/2016/11/quick-how-might-the- alien-spacecraft-work/)

</comment></comment></comment><comment><USER7> Would we have to worry about communicating with aliens if they showed up here?

Consider that the aliens would have flown their practically-magical craft umpteen billion of miles to land on a specific planet, one would hope they arrive with some sort of plan to speak to the natives.

<comment><USER8> This is the kind of thing I could spend hours talking and thinking about, and often do, and now will by presenting some possible reasons why this may not be the case:

1\. The aliens had no idea we were here; they expect life to be so rare as to be practically non-existent. They no more expected us to be here than we expected to see green-skinned Martians out of Curiosity's camera.

2\. Interstellar drives aren't like getting in a vehicle and driving to a destination; maybe it's not possible to pick exactly where you're going, or it's not possible to know where you'll end up until you get there - <USER2> exploring a maze, eventually you'll have a map, but at first you're just blundering around randomly.

3\. Perhaps they assume that being planet-bound and technologically unsavvy, we'd figure that our only hope of getting anything done was to sit and wait for aliens to arrive - so we'd be the ones preparing to make contact.

4\. They don't care about communication. We're not a threat, therefore we don't matter. Or we're not like them in some way, therefore we don't matter. Or we're not a fully-fledged member of the Galactic Federation, therefore we don't matter.

5\. They're criminals, and don't wish to be identified. Communicating with us would give us clues that would allow us to figure out who they are, or pass those clues onto whatever passes for law enforcement, so it's in their best interests to be as opaque as possible. ("Why yes, Officer Phsgogmkk, the aliens who landed here last week communicated in subject-object-verb form, didn't seem to have a specific noun form for plural objects, and had seventeen terms for this color-spectrum-range that we just call 'green'." "Aha, we've got 'em now! Will you testify in court?")

6\. Huh, you mean this thing translates me through space? I thought I was inventing a time machine/new power plant/quantum dejuggliblier! Weird. Anyway, what are these little two-legged things gathering around me?

7\. They don't communicate, because there isn't a them; the whole "species" is some sort of hive, and all communication is implicit and internal and "communication" isn't even a concept that their mind possesses.

8\. Similarly, they're unconscious and have nothing to say and no interest in hearing anything we have to say. (Peter Watts' "Blindsight" touches on this a bit.)</comment></comment>


Apply HN: CaptionMagic – Create Professional Looking Captions on Photos with AI - <AUTHOR> It's difficult to to create good looking color captions on photos that are always clearly readable and harmonious with the photo.  CaptionMagic uses AI to automatically finds the best color, position and size for your caption on the photo and then allows you to customize it. It also ensures captions are readable by folks with all major forms of color blindness.
Here are a few examples: https://www.instagram.com/captionmagic/
Here's a quick demo of the app, please share your comments on the video in HN and how you think I can improve it (on a budget): https://www.youtube.com/watch?v=h4VTpccuWq4
If you have an iPhone 6 or 5 you can download the app for free and try it out for yourself.  Note, it's fun to add a caption in the app's camera and see it update dynamically: https://itunes.apple.com/us/app/captionmagic-finds-best-caption/id1002961335 or search "CaptionMagic" one word. Please share your experience.
Over 2 billion photos are shared everyday from smartphones and this is a great way to enhance and share those moments.  It's integrated with iMessage, Instagram, Facebook, Twitter, Snapchat, Whatsapp, Pinterest and also useful for creating captioned photos for slides, blog posts, memes (e.g. imgur) and small business ads.  My business model is to give the app away to consumers for free and license the technology to companies who would like to integrate the tech into their apps.
I have filed a fairly extensive patent application on it.  I've been working on this app (and its SDK) for 18 months full-time by myself, bootstrapping because I believe in and am truly passionate about mainstreaming this new technology.
I still need to spend time and focus on marketing. Please comment with any help or suggestions you have on any of these areas.
You can read more about my past startup experiences at:  https://www.linkedin.com/in/hamiltonhitchings
Thanks.
Hamilton <comment><USER2> I love this app! It allows me to add the caption on pictures very conveniently and then upload them on to social media channels without worrying that the app might degrading the quality of the pictures. I even can add the caption in preview camera mode before taking the photos. Awesome. 5/5 stars!

</comment><comment><USER3> Cool app. Minor suggestion: In your tagline, you might want to use a word other than "create". When I read that captions were created with AI, I assumed that your app was writing the captions.

</comment><comment><USER4> This is totally awesome! I love the app; I always have a hard-time writing captions on my photos! This is going to save my ass :)

<comment><AUTHOR> Thanks so much for the kind words. Color pickers have always been my nemesis.

</comment></comment><comment><USER5> Awesome concept to integrate with big guys like Facebook or Instagram.

</comment><comment><USER6> This is awesome. I love it. Are you planning for an Android version?

<comment><AUTHOR> Yes, I'm planning to add an Android version eventually.

</comment></comment><comment><USER7> Nice APP that makes adding captions to photos super easy and fun.

</comment><comment><USER8> Nice, the technology you built sounds cool!</comment>