Lessons Learned Upgrading Harvest to Ruby 1.9.3 - <AUTHOR> http://techtime.getharvest.com/blog/harvest-is-now-on-ruby-1-dot-9-3

<comment><USER2> A thing that I noticed in this post: some changes relate to "improper usage". Yes, Array#to_s did perform a join, but it was never the method intended to do a join - thats #join. This should never be done in the first place. Use the tools that are meant for the job, even if the other is more convenient (although I never understood this specific case, I always used #join). It will bite you if you don't. Another example was using #map without block as a #to_a alternative (which now returns an Enumerator).

Also, it shows that a lot of naming problems were actually corrected in the transition to 1.9, like the #type<>#class thing. Less is better and I am grateful that the core team actually made some cuts.

In the end, my personal experience is that upgrading to 1.9 is not that much pain as many say. Sure, for large projects, the work is substantial as an absolute value, but this sounded quite manageable. Sadly, their blogpost on their migration to Rails 3 doesn't mention any numbers in that regard:

[http://www.getharvest.com/blog/2011/01/harvest-is-running- ra...](http://www.getharvest.com/blog/2011/01/harvest-is-running-rails-3/)

</comment><comment><USER3> Does anyone know why String.each was cut? String.each was one of the cool things that attracted me to ruby in the first place. I loved that you could say myString.each and it would assume you meant linebreaks unless you told it some other delimiter.

<comment><USER4> Strings were revamped in Ruby 1.9 to have more robust support of Unicode and other encodings. One of the side effects is that both the semantics and internal representation of Strings changed such that treating a String object as an Enumerable no longer made sense.

There's a good treatment of this here:

<http://blog.grayproductions.net/articles/ruby_19s_string>

<comment><USER3> Thank you very much. I didn't realize that string handling was changed so much in 1.9. This has got to be one of the best string encoding methods in any programming language to date.

</comment></comment></comment><comment><USER5> Good post with some great details. I hope the holdouts on Ruby 1.8.7 REE look carefully at upgrading.

Rails 3.X is still a tough upgrade though. I'd be curious to see similar benchmarks with upgrading a large code base. I've heard a few stories of abandoned upgrades because of the slowness.

<comment><USER2> Ruby 1.9.2 was horribly slow when it came to #require. 1.9.3 is a much better release, especially in that regard.

<comment><USER6> There's also this for even better performance: <https://gist.github.com/2113359>

Don't forget to set your envvars!

</comment></comment></comment><comment><USER7> noticed a comment about rvm + pow. If anyone is having that issue, I solved it by doing: <http://josephhsu.com/post/21386307243/tip-rvm-pow></comment>


This Must Be Heaven - <AUTHOR> http://www.samharris.org/blog/item/this-must-be-heaven

<comment><USER2> > _According to Newsweek, Alexander's experience proves that consciousness is > independent of the brain, that death is an illusion, and that an eternity of > perfect splendor awaits us beyond the grave ..._

If the account proved anything, it would be that science is dead. But let's not let one anecdote overturn all we think we know about consciousness and life, solely because it supports an attractive belief.

The story might be true, but we don't know this, in anything resembling a reliable or scientific sense.

The plural of anecdote is not data.

<comment><USER3> What specifically do we know about consciousness and life that's incompatible with this account? It's conventional to assume that living organisms are somehow the vessel of consciousness, but is that assumption strictly mandated by any particular empirical evidence? How would you propose even to frame such an idea as a rigorously testable hypothesis?

<comment><USER2> > What specifically do we know about consciousness and life that's > incompatible with this account?

Nothing but all of it -- the metaphysical account of life after death.

> It's conventional to assume that living organisms are somehow the vessel of > consciousness ...

Yes. What is unconventional is to assume that the consciousness survives the body in a different form. This would be like hypothesizing that all ice cream cones live on in a metaphysical plane after they've melted in this one. Before accepting this idea, I would want to see some evidence that is more than anecdote.

> ... but is that assumption strictly mandated by any particular empirical > evidence?

Nope. Neither is this.

> How would you propose even to frame such an idea as a rigorously testable > hypothesis?

Good question. But the absence of a reasonable answer doesn't support an argument in favor or life after death. The fact that we can't resolve the central question about consciousness in a scientific way, doesn't stand as an argument for expanding the dimensions of our ignorance into new, uncharted territory.</comment></comment></comment>


I Want You to Apologize  - <AUTHOR> http://blogs.harvardbusiness.org/bregman/2009/04/harness-the-power-of-apology.html <comment><USER2> The part about the medical malpractice lawsuits makes the article worth the read, but wtf is up with his opening anecdotes?

 _I was instantly furious. I pulled out fast to chase the other car, leaning on my horn and flashing my lights. Finally, the car stopped and I pulled up right behind him, still honking. We both got out of our cars._

Really? Because you almost pulled out in front of the guy? Why is he the one apologizing to you, again?

 _A friend of mine, Paul Rosenfield, was skiing with his six-year-old son Yonah when Yonah fell. It was not a terrible fall, but the binding didn't release and Yonah broke his leg. After an emotionally wrenching day spent in the emergency room tending to his child, Paul went to the shop to return the skis and speak with the owner._

Your kid breaks his leg skiing, just like a trillion other kids every winter, and you march up to the guy asking for what sounds like evidence you can take to court, wtf do you think his reaction is going to be? That he's going fall all over himself to admit that he screwed up when he probably doesn't remember your kid and probably honestly thinks he did nothing wrong? Like he hasn't seen a million assholes just like you who _do_ want more than an apology?

<comment><USER3> _Your kid breaks his leg skiing, just like a trillion other kids every winter, and you march up to the guy asking for what sounds like evidence you can take to court, wtf do you think his reaction is going to be? That he's going fall all over himself to admit that he screwed up when he probably doesn't remember your kid and probably honestly thinks he did nothing wrong? Like he hasn't seen a million assholes just like you who do want more than an apology?_

You have just laid out the causality dilemma of this whole situation. Before the ski shop owner will own up to his mistakes, he must be convinced that the average patron is not confronting him to gather data for a lawsuit. Before the average person will forgo a lawsuit, he must be able to get a straight story from the ski shop manufacturer. Both parties enter into the confrontation with a defensive posture, expecting it to escalate, and so that is precisely what it does.

The author's point is to diffuse this sort of reaction, by explaining that all of this knee-jerk defensiveness is counter-productive, expensive, and becomes more about sabotaging the other person and less about resolving the original issue with a minimum of fuss. The problem is that when you start from the presumption that your customers are "a million assholes", the conclusion is already set in stone; you have already made it about these people being litigious assholes, and so that's what they will become. There is another option, but _someone_ has to be willing to risk that option, go against conventional wisdom, and be the one to diffuse the tension before it escalates beyond repair.

By the author's own examples, going against conventional wisdom seems to work well. I'm not surprised, it usually does.

<comment><USER2> Of course you're right that this is the fundamental dilemma, and I generally agree with what you (and the author) are saying.

The point I was trying to make, though, is that it cuts both ways: If you know it's a litigious society, you have to be aware of what's going to be in the other person's mind when you flex your "I was wronged" muscles. Marching up to someone who isn't cut-and-dry responsible for wronging you and demanding an apology, that's a really assholish thing to do.

 _Before the average person will forgo a lawsuit_

I really hope that the average person thinks of a lawsuit as a last resort, rather than as something to forgo.

</comment></comment></comment><comment><USER4> Sadly, in this "check with your attorney" world, the very first thing they tell you is never _ever_ , under any circumstances or in any way indicate the possibility of any wrongdoing on your part, accidental or otherwise.

Who is at fault is something that should only be decided in court at $450/hour.

We have taken their advice with alacrity.

<comment><USER5> I remember reading about a proposal for a kind of "good samaritan" type law that would prevent people from being made liable through giving an apology. (I think this was specifically for medical malpractice.) It seems like a good idea.

I think some of this problem comes about because of ambiguity in the english language that prevents us from expressing ourselves properly. Saying sorry can mean both that you feel regret but it also can mean that you accept responsibility, and which is which is ambiguous. It's a shame that one can't apologize sincerely and then argue in court that your apology was the former and not the latter - but it seems you can't.

If we just had a better way of saying this kind of thing then I think a lot of the problem would go away.

<comment><USER6> The ambiguity of language reminded me of a Demitri Martin joke: <http://www.youtube.com/watch?v=_PLa_MpNGQA> 4:15ish.

</comment></comment></comment><comment><USER7> _We have big problems in this country._

We sure do, when a seemingly intelligent gentleman who "consults about how to lead and how to live" goes _chasing_ after someone else over a minor issue. This is how road rage incidents start. Why are some people so quick to anger? There was no accident - just forget about it dude. I almost had someone reverse into me the other day - I just laughed it off.

People will always be crazy and do things you don't like. If you go around forcing everyone to apologize, your quality of life will suffer and you'll never be happy. Live and let live.

That said, the rest of his point is well made. If you're the one who does something wrong, apologizing is well worth the effort. If you're one who is wronged, however, don't _expect_ it. Perhaps the guy who cut you up on the freeway really does feel a little sorry but can't admit it. Perhaps he's fighting to get a dying family member. Life is complex and we all have to apologize _and_ forgive.

<comment><USER8> First of all, you should apologize to Peter for insinuating that his short temper is a major problem for our country.

All jokes aside, I sort of liked the journey this article took. Starting with a personal anecdote, moving on to some real data (albeit not much) and ending with a pro Obama/Anti-Bush commentary.

<comment><USER7> If there's an award for deftly weaved wit, you are taking home the prize this year!

</comment></comment></comment><comment><USER9> _When the University of Michigan Health System experimented with full disclosure, existing claims and lawsuits dropped from 262 in 2001 to 83 in 2007._

Wow. That speaks to me since it directly translates to dollars saved.

<comment><USER10> Depends on what the win/lose ratio is.

If they only lost on 25% of the 2001 suits (or just lost smaller amounts in general), compared to 95% of the 2007 ones - then they would come out behind. Probably still a big saving.

</comment></comment><comment><USER11> I'm thinking about the times when I've been involved in a software deployment gone awry. In highly-politicized companies, everyone points their fingers at some other person/group. "If they had configured the database properly...." Nobody's taking even partial blame, so forget about apologies. In most cases, everybody's at fault in some way, so everybody ought to be taking blame for something. However, if one group does the "right" thing and admits a failure, the other groups seize the opportunity to exonerate themselves at the honest group's expense. So, nobody wants to be the first to flinch. How can cultures change so that the self-aware are rewarded for honesty and those in convenient denial are punished?

<comment><USER12> In my experience, it won't. As you pointed out, they are in a typical Nash equilibrium - everyone is maximizing their utility, and will be punishes severely for acting otherwise. Find another company.

</comment></comment><comment><USER13> Summary: Apologizing is free and it makes things better. Why not?

I got the same basic message from How to Win Friends and Influence People -- being nice/smiling/etc. is free, you just have to remember to do it and counteract any natural grumpiness.

</comment><comment><USER14> Its funny how no one is apologizing, but everyone is asking how I am doing.

</comment><comment><USER15> The guy who wrote the article should apologize for how he responded.

</comment><comment><USER16> This is one of the best posts I have ever read on HN. Kudos to the author

</comment><comment><USER17> I am sorry! It will never happen again.</comment>


AWS AppSync releases no-code GraphQL API builder, HTTP resolvers, new scalars - <AUTHOR> https://aws.amazon.com/about-aws/whats-new/2018/07/aws-appsync-releases-enhanced-capabilities-nocode-graphql/ <comment><USER2> I've been using AppSync for about 4 months on a project for work and it's mostly been positive once you get your head wrapped around resolver mapping. I've also incorporated serverless-appsync for deployment which makes it much nicer than the built-in UI.</comment>


3 Questions with iPhone Guru Giuseppe Taibi on Mobile Project Management - <AUTHOR> http://bostinnovation.com/2011/03/26/3-questions-with-iphone-guru-giuseppe-taibi-on-mobile-project-management/

<comment><USER2> Got to love that orange shirt.</comment>


Why Customer Network is the next big thing that every startup needs to master - <AUTHOR> https://alexiskold.net/2020/01/11/why-customer-network-is-the-next-big-thing-that-every-startup-needs-to-master/ <comment><USER2> What a weird title for an article. It's basically a very bizarre way of talking about word of mouth. I feel like good business people/salesman have been doing this for years. And it's not like this adds a lot of value to that paradigm...

<comment><USER3> I think you haven't quite caught the point of the article.

1\. Clients refer other clients.. actually they are a network.

2\. Set strategy around owning/attracting the whole network.

3\. Your customer success team should not just focus on an individual customer, it should focus on building a community – a network around your product.

4\. How? Ask, how can we create a bigger community around our product. This adds value to existing customers, makes it easier for existing customers to invite similar people into the community and aligns this community with wanting to use your services facilitating easy referrals from the network over time.

Example: AirBNB doesn't have customers, it has a "Community", they are using this strategy. Visit a host, feel part of the community, increased propensity to refer friends, invite people you meet to also "join the community". Company gains more word of mouth referrals but that's not what were focussed directly on.</comment></comment>


YouTube two hours advertisements with Asian folks? - <AUTHOR> https://support.google.com/youtube/thread/13332769?hl=en <comment><USER2> I don't know how these things get to be advertisements. An explanation for the weird content might be people trying to build up watch hours to get the 4k hours requirement for monetizing their channel. I know a bunch of SE Asian people who are obsessed with this. They have channels where they just ramble on for hours, building watch time. Then they form groups where they help each other by taking turns watching each other's rambling. Crazy world.

</comment><comment><USER3> Definitely a thing on Reddit ([https://www.reddit.com/r/Wellthatsucks/comments/9l6jsa/this_...](https://www.reddit.com/r/Wellthatsucks/comments/9l6jsa/this_2_hours_long_unskippable_ad/), [https://www.reddit.com/r/whatisthisthing/comments/dj0v2d/2_h...](https://www.reddit.com/r/whatisthisthing/comments/dj0v2d/2_hour_ad_of_people_building_pallets_on_youtube/)) and Twitter ([https://twitter.com/search?q=2%20hour%20ad%20youtube](https://twitter.com/search?q=2%20hour%20ad%20youtube)).

Some posts go back to 2018 when the whole Lego movie was an ad.

YouTube guidelines say 6 minutes maximum for an in-stream ad ([https://support.google.com/displayspecs/answer/6244563?hl=en](https://support.google.com/displayspecs/answer/6244563?hl=en)) and 3 minutes for a TrueView ad ([https://support.google.com/displayspecs/answer/6055025](https://support.google.com/displayspecs/answer/6055025)). I think these ads are TrueView ads because they show up on TVs etc. but maybe they're from some other program.

YouTube is a black hole though so either they've already noticed it and deprioritized it to 10 years out or, more likely, it's just not something they're monitoring closely enough to notice.

</comment><comment><USER4> I bet this is just people making their own video and being happy paying a few cents for folks to watch them. After a few hundred bucks they can say they have thousands of views.

It seems irrational to me to want bragging rights about people watching your video. But people are weird.

</comment><comment><USER5> Very odd, to say the least. Why are two-hour advertisements possible on YouTube to begin with?

<comment><USER6> I think it's because ads are just regular videos, and overlong ads shouldn't be a problem in theory when you can just skip them. The people in that thread seem to have trouble skipping due to watching on a TV / children / being too weirded out by the videos.

</comment></comment><comment><USER7> On mobile youtube app i have to wait for 2 ads to finish. I have to wait for both ads to finish to continue watching. I can skip only one ad. And this is happening for kids videos eg peppa pig, littlebabybum videos.

<comment><USER8> You might try YouTube kids. It seems to have less ads.

<comment><USER9> Less ads, and filters non-child friendly content more aggressively I'd say.

Plus it's got a kid-friendly UI (Complete with annoying sounds every time you swipe/tap something).

</comment></comment></comment><comment><USER10> People should start using PiHole or any kind of router level adblocking if you watch Youtube on smart TV, console etc. [https://pi-hole.net/](https://pi- hole.net/)

<comment><USER11> Doesn't work for the Youtube app on Xbox One. Pi-hole simply blocks DNS requests. So Youtube (the evil bastards) serve their ads via the same domains they serve the actual video content. You could block the ads, but you'd also block all videos.

</comment></comment><comment><USER12> I am lately getting music videos as ads, asian and european.</comment>


Ask HN: What are the reason behind the erlang vm performance? - <AUTHOR>

I always hear about the performance of the erlang vm regarding concurrent connection, I am wonder what bring such performance.<p>Also, it will be possible to implement/obtain the same level of performance in a system language using a library or it would be necessary to write/patch a compiler ? <comment><USER2> If you can manage your memory completely, then yes, you could obtain the same performance by applying some restrictions.

There are some cool things erlang vm does:

\- immutable values (so you don't have to worry about sharing and copying)

\- per process heaps (so you don't have to worry about big stops on gc)

\- adjustable heap pre-allocation (so you don't have to resize heaps once you know how much memory your processes need)

I don't think that depends on the compiler really. You couldn't patch python for example to do the same for you automatically. It's in the language limitations.

<comment><USER3> > manage your memory

BEAM has a load of different memory allocators. Reading this [0] gives an idea of the piece of work the BEAM vm is.

[0]: [http://www.erlang- factory.com/static/upload/media/1394545171...](http://www.erlang- factory.com/static/upload/media/139454517145429lukaslarsson.pdf)</comment></comment>


Bitsavers: Historic system document and software archive - <AUTHOR> http://bitsavers.informatik.uni-stuttgart.de <comment><USER2> Mirrored of course at the Internet Archive - [https://archive.org/details/bitsavers](https://archive.org/details/bitsavers)

<comment><USER3> But the "mirror" flattens out the name space hierarchy, so is much more difficult to navigate. So it's not a true mirror.

</comment></comment><comment><USER4> Should probably link to [http://bitsavers.org/](http://bitsavers.org/) to pick one of several mirrors rather than picking on Stuttgart alone.

</comment><comment><USER5> They mention the hardware used, shame there is no mention of the software used. Or any home brew software open sourced. :/</comment>


Disclosure of Additional Security Fix in WordPress 4.7.2 - <AUTHOR> https://make.wordpress.org/core/2017/02/01/disclosure-of-additional-security-fix-in-wordpress-4-7-2/ <comment><USER3> Because of the severity of the issue we decided to roll out WAF rules for all our customers (i.e. including those that don't get the WAF because they are on a free plan): [https://blog.cloudflare.com/protecting-everyone-from- wordpre...](https://blog.cloudflare.com/protecting-everyone-from-wordpress- content-injection/)

Currently, we are seeing people probing this vulnerability.

<comment><USER4> Does anyone know of a set of WAF rules - free or commercial - that I can use on my server, rather than outsourcing to Sucuri or CloudFlare?

I have used modsecurity before and found writing rules difficult, so happy to pay.

</comment></comment><comment><USER5> The title implies that WP did something wrong, but did they?

As Sucuri notes:

> We disclosed the vulnerability to the WordPress Security Team who handled it > extremely well. They worked closely with us to coordinate the disclosure > timeline and get as many hosts and security providers aware and patched > before this became public.

[https://blog.sucuri.net/2017/02/content-injection- vulnerabil...](https://blog.sucuri.net/2017/02/content-injection- vulnerability-wordpress-rest-api.html)

<comment><USER6> _The title implies that WP did something wrong, but did they?_

In my opinion the implication of what they did means people who don't host with Wordpress or Wordpress's partners will have to wait longer for security patches. That gives Wordpress and their partners a very clear business advantage - "host with us or be vulnerable to attack until we get around to releasing our patch publicly".

That doesn't necessarily mean WP were in the wrong though. It's possible there simply wasn't a better approach - releasing a patch that doesn't fix the problem can be worse than waiting until you have a good fix, and you definitely can't disclose a problem until you have a strong fix.

Put simply, disclosing vulnerabilities is hard.

<comment><USER7> _Put simply, disclosing vulnerabilities is hard._

This is so true!

To try to set the record straight, WordPress.org (the open source project) doesn't host and websites apart from our own (WordPress.org, WordCamp.org, BuddyPress.org, etc). So people can't host with us. Also, while we do have some recommended hosts that have helped the community as well as put a lot of effort into making their WordPress hosting really exceptional, they were not the only hosts we worked with on this (or even the majority).

Additionally, the work with hosts and WAFs happened in parallel with the work on the patch. WordPress users are our priority and they exist at pretty much every host. The best way to secure them all is to get a patch out. Anything we can do to mitigate the risk between finding out and when that patch is ready, is really just a bonus :)

</comment></comment></comment><comment><USER8> We are seeing attacks in the wild for it already. Mostly defacement attempts at the moment.

Marc, the researcher that found it, wrote the technical details here:

[https://blog.sucuri.net/2017/02/content-injection- vulnerabil...](https://blog.sucuri.net/2017/02/content-injection- vulnerability-wordpress-rest-api.html)

thanks,

</comment><comment><USER9> Dear HN hivemind, do you have any advice for me on how to keep my client's WordPress.org sites secure? A guide that you trust or maybe a good shared host that takes care of these things?

Google just gives me a bunch of content spam, but I know that there's gotta be some best practices I can employ.

<comment><USER10> 1\. You're using Wordpress, that's already good. It has autoupdates. You're unlikely to get hit by a vuln like this.

2\. Don't disable autoupdates.

3\. Avoid plugins and external themes. If you can stick to Wordpress Core. If you use plugins use as few as possible and only ones that are maintained regularly. Keep plugins and themes updated.

4\. Don't disable autoupdates.

Also, have I mentioned you shouldn't disable autoupdates?

<comment><USER9> What if my clients like their absurd selections of plugins and themes?

</comment></comment></comment><comment><USER11> _" The release went out over our autoupdate system and, over a couple of hours, millions of WordPress 4.7.x users were protected without knowing about the issue or taking any action at all"_

Grr. Checked some sites, and the auto update hadn't yet upgraded to 4.7.2. Guess I get to go figure out why now.

<comment><USER12> This I don't understand. Why run WP where the server has ownership and write access to the code? With the frequency that WP sites get attacked, leaving a system in place where an attacker that gets access and can write files that will be executed is just asking for problems.

If you want an auto-update, why not do this with an automatic CI/CD type pipeline that's triggered on new WP versions?

<comment><USER13> But in this case, an auto-updating install would be protected, while a non- updated version would now have the website over-written...

<comment><USER12> My point is, a publicly facing web application should not have permissions to update it's own code. The possibility of the application being compromised and then having the application modified to support further system compromise it too great.

<comment><USER9> Well, that's how WP works so we're stuck with it. On the plus side, it makes for a great plugin experience for non-technical users.

<comment><USER12> Having done WP installs where the only web-user writable area was for uploads (and that is configured to not execute anything), I will have to dispute your assertion. The fact that the vast majority of WP sites are web-user writable is just inertia and/or bad security practices.

You can disable the file write features of WP and remove the online application upgrade feature. This leaves you using your code repo and build system as the proper path to upgrading the code. This allows you to vet any code change to your site, which you should be doing anyway.

<comment><USER11> Yes, you _can_ do that, but you're fighting the way it is designed.

You mentioned the uploads directory, but there are very common plugins that need write access to other files. Almost every caching plugin for wordpress, as one example.

You also have to replicate the functionality to do upgrades for plugins, themes, and core WP, including ones that need database upgrades.

It's just a risk management decision. In my case, all the hoops to make the filesystem read-only aren't worth it. Retaining the built-in upgrade functionality is of higher value. We have offsite backups and file integrity scanning, and will fall back if needed. If the sites were, say, e-commerce sites, I would have made a different decision.

<comment><USER12> Upgrades can be a single "composer update" and then committing the composer.lock file. Mine are a bit more as I review changes between versions as well. I am very careful about what plugins I use for this very reason honestly. If it's not well-behaved enough and requires the ability to write outside of uploads then it's not used.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Good thing [https://github.com/rastating/wordpress-exploit- framework](https://github.com/rastating/wordpress-exploit-framework) exists

</comment><comment><USER15> Mods, can you edit the headline please - <USER2>

</comment><comment><USER16> flagged for editorializing the title

<comment><USER17> No need to flag: just comment what the correct title should be, and perhaps contact the mods alerting them that it should be changed.

<comment><USER18> Mods, when you _do_ retitle, please add a quick "title changed from (x) to (y)" comment (most usually do) so we know when such complaints become obsolete.

</comment></comment></comment><comment><USER19> Hopefully in 2050 our corporate overlords will still spend a week discussing how to patch vulnerabilities in our 3D printed food databases too.</comment>


Introducing NonHackerNews.com - <AUTHOR> http://mattmaroon.com/?p=488

<comment><USER2> I'm noticing that some of the comments are one-worded or just off-topic drivel. Either there should be a stringent culture of down-modding those comments or moderators should actively communicate with those users and discourage that behavior. It's better to set the bar a little high at the beginning than too low since the level of discourse will inevitably decrease as more people join.

<comment><USER3> In general, we'll moderate comments only for civility. They have up and down arrows, so I expect the community to take care of quality that way. That often seems to be the case here, where a comment will be buried under an avalanche of downvotes.

<comment><USER4> _I expect the community to take care of quality that way_

Have you seen Reddit? This doesn't work.

<comment><USER3> Does Reddit moderate for civility? I was under the impression that they didn't moderate at all.

</comment></comment></comment></comment><comment><USER5> _... rather than complain, I decided to do something about it and ..._

Now this is an example I will try to follow.

</comment><comment><USER6> This should be combined with nickb's new mogul. While I've enjoyed reading both sites, we don't need two HN splinters.

</comment><comment><USER7> As well as NonHackerNews.com, there's some other slinkset sites that might be worth visiting.

Infosec Update - <http://news.mandalorian.com> is an Information Security Slinkset-powered site.

Just Hack It - <http://www.justhackit.com> is a good example of a general site.

iPhone Lockergnome - <http://iphone.lockergnome.com/> is a good example of slinkset's RSS feed in use.

</comment><comment><USER8> Matt, most of the stories on NonHackerNews.com could be on HN with no issues. So I don't get it. Why do you want to splinter a community you've helped build and maintain one of the top accounts with? Why name it NonHackerNews and not RandomSocialNews.com or LightlyModeratedSocialDiscussion.com? I don't see what this new site has to do with HN at all (besides you)

It's like I've stumbled upon bizaro Friday.

</comment><comment><USER9> This is it. Stupid dotcom bubble has begun again. This time, when a social networking site took off, others will try to make social networking creating a social networking, hence: myspace/facebook/whatever --> ning. digg/reddit --> slinkset.

The world is in need of fresh ideas!

<comment><USER3> Slinkset is maybe not an original idea (corank is pretty similar and was around first) but it's a good one and very well-implemented. You don't make money by being original. You make it by being good. Allowing people to start their own sites trivially (not counting some goofy domain issues I had, I think NHN took me 10 minutes or so to set up) is a good idea, and one that has been popular since before the first bubble.

<comment><USER10> This is my first time actually checking out Slinkset . . . pretty cool app. Do they have any paid features yet? What's their business model?

<comment><USER10> Nevermind:

 _for the time being Slinkset is offering its hosting service free of charge, with plans to introduce a fixed fee in the future._

[http://www.techcrunch.com/2008/07/14/y-combinators- slinkset-...](http://www.techcrunch.com/2008/07/14/y-combinators-slinkset- launches-hosted-reddits-for-the-masses/)

<comment><USER6> As an owner of a handful of slinkset sites, I'd be more than happy to pay a fee for additional features/options. It's been a huge hit for us.</comment></comment></comment></comment></comment>


There's no good reason to use Nodejs - <AUTHOR> http://bysin.net/2017/05/07/no-good-reason-to-use-nodejs/ <comment><USER2> I'm fascinated by the idea that this person loves C++ and _also_ Rust...</comment>


Grove.io shutting down - <AUTHOR> https://grove.io/blog/grove-shutting-down-october-13 <comment><USER3> It's getting a little difficult to trust stuff by Leah Culver. Everything (that I know of) that she has done so far has either shut down or been acquired and shut down.

That said, no hard feelings. It's hard out there. I've never tried to run a company, so I can't judge.

<comment><USER4> Leah is out there creating things, writing code and spending valuable time on new ventures, despite the risk and opportunity cost. I admire her courage and creativity and I can't imagine why you would say something like this.

I'm sure she would have loved to have all of her projects succeed.

Grove.io is a high quality service. We love using it at Leftronic and are very sad to read this news. I wish Leah and her team the best.

<comment><USER3> I'm not sure what I said that was so terrible. I think Leah is great and I really hate hear news like this. I also agree that the service was good. My sole point is that companies that use this service also get hurt by this shutdown. When it happens several times as it unfortunately has in her case, you start to worry about new ventures disappearing too.

It is in no way a shot at Leah or her work. It's just a recognition of history.

<comment><USER5> Your first sentence was the thing you said that was so terrible.

<comment><USER6> But every sentence afterwards put it in context.

<comment><USER5> I don't agree. You can't start with a statement like that and then backpeddle - your lede has the most impact and is what people remember.

He had a chance to edit his post to better reflect his position, but chose not to take it. I wish he had.

(And to complete this, lets not forget that Rayne is also a person who just made a mistake. It is the action which is bad, not the person).

<comment><USER7> He didn't backpedal, he explained his reasoning for making the first statement. Hard and a bit unvarnished, yes, but understandable.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Ugh, I don't understand how Grove.io can just drift apart like that. Surely Grove's costs were relatively low, and my impression was that there was a significant level of uptake.

> _"..our team has moved on to other projects.."_

So, unprofitable, or just not the next Facebook? Is there really no one that is happy to keep the service ticking along?

I feel like there is a pretty significant problem with tech startups, where everyone is so busy trying to be the next big thing, that everything else is dropped and abandoned in that pursuit.

<comment><USER9> I also wish they would address:

1) why not open source the project?

2) why not look for someone to take it over and run it?

I also have a hard time seeing how something like this could be at the very least not break-even (unless they had less than 10 paying customers or something).

<comment><USER10> Just because something _should_ have paying customers doesn't necessarily mean that it has paying customers. There are other factors involved.

Better put: are you a paying customer? If not, then most likely other potential customers are unaware.

<comment><USER11> FWIW, I was a paying customer. I know others who were as well. Most everyone I know, including myself as of two weeks ago, has stopped paying for the service. It had gone downhill to the point of being unusable.

There is a demand for this type of service. Real-time chat is in extremely high demand still. Chat was the number one requested feature a "build-you-own" social network startup I worked at a handful of years ago even before Facebook added their chat.

<comment><USER12> I'm not doubting what you say, but I'm interested in how the service went downhill?

</comment></comment></comment></comment></comment><comment><USER13> Grove inspired me to make an open source alternative: Subway <https://github.com/thedjpetersen/subway> . And while it is far from perfect it is a start towards opening up IRC to teams.

<comment><USER14> This looks good. Does it keep history? I think one of the benefits of web- based systems like HipChat and Campfire is you can log in and see the previous conversation even if you weren't there.

<comment><USER15> You can use bots for that:

<http://instabot.stochastictechnologies.com/>

</comment></comment></comment><comment><USER16> Here is why this failed... Anyone with half a brain is going to be able to:

* run their own IRC server

* run a XMPP server ( _cough_ openfire)

* Sign up for another service that has more features (Campfire or Hipchat)

Not to be mean, but the pricing on grove.io is stupid for what they offer. I run a XMPP server at work and costs us nothing for the basics, which is group chat and private chat. They could have offered this for far cheaper and maybe they would be alive now... and by cheaper I mean a flat fee, no slot pricing for a hosted solution. IRC has low overhead so really, offer IRC+ features for dirt cheap and people will sign up. Hell, if they wanted a higher end one time fees, they knock out a self hosted solution with high end support on a yearly support contract.

If the features are that good for your IRC based service, knock it down to $5/mo unlimited users and get a user base going, find out what they want and then add on value addon features based on that feedback. If you can't offer the service for that cheap, then you have too much overhead (bodies).

<comment><USER8> We were doing this (and still do run our own XMPP servers for other purposes), and opted for grove for the logging, availability and to ease the maintenance burden.

Just because anyone can do it, doesn't mean everyone wants to, even (or especially) when you're a highly tech-centric organisation.

<comment><USER17> Yeah I run my own IRC server but when it came to my clients, I didn't want to be responsible for that. Grove is fantastic but wasn't all that reliable. I wish it had taken off, though! I might be forced to fill the void ;)

</comment></comment></comment><comment><USER18> As a founder of <http://lingr.com>, I know firsthand how hard to build a chat app and make it sustainable. I've been working on it since 2006, first as a startup, then as my personal side project.

I've learned to not invest too much on the project, staying with the minimum server cost, and that's the only sustainable way for me. In fact it costs me almost nothing and users have built trust on me for running it for 6 years.

I'd give her tons of credit for trying to turn it into a real business. That's what I've been failing so far, or maybe I just don't even have the guts to do. I admire her courage and thus feel really sorry.

Hopefully I'll find another course, who knows.

<comment><USER19> Looks pretty good actually (from the screenshot), you even have an iPhone app and everything. Why not just charge a small something, even if it's only to get you a nice side income? Somebody mentioned $5/month as a reasonable price for something like this. For me personally that would make me less hesitant to sign up as currently it would seem you could pull the plug any moment. Unless you like the idea of being able to pull the plug at any moment of course, which of course is your prerogative.

<comment><USER18> Thank you. I think you made a good point - by not charging I may be actually making people skeptical. We even have a vibrant developer community on bots and extensions, but it's barely known (shit, I realized that it's not even mentioned on the top page). I'll have to come up with some turnaround ideas.

</comment></comment></comment><comment><USER20> For those who liked Grove and its combination of IRC and web chat, I personally recommend Flowdock which also has an IRC interface <https://flowdock.com/> I know the people behind Flowdock personally and know that they are going to be around for a long time.

As a personal note, it's sad to see Grove go away. It was the first bigger service I got to design and I loved working with Leah.

<comment> mh- can you point me to Flowdock's IRC interface? I evaluated them before we started adopting Grove, and I did not see that option.

edit: dunno how I overlooked this before: <https://www.flowdock.com/help/irc>

thanks for making me look again, though!

<comment><USER20> They added that afterwards

</comment></comment></comment><comment><USER21> I wonder what they will do next. Grove.io started out of Convore(YCW11)[1], announced just 249 days ago[2, 3, 4].

[1] <http://gigaom.com/2012/01/10/convore-grove-io/>

[2] <http://news.ycombinator.com/item?id=3449917>

[3] <http://betakit.com/2012/02/20/convore-shutting-down-april-1>

[4] [http://blog.convore.com/post/17951919109/convore-shutting- do...](http://blog.convore.com/post/17951919109/convore-shutting-down- april-1st)

</comment><comment><USER22> This is disappointing. Grove.io was really awesome. IRC channels seem easy, but are (relatively) hard to get going:

      - Finding a server
      - Registering it properly
      - Explaining it to non-tech people

The last one is way harder than you'd think. With Grove, you just send them a URL and it's easy.

It's a shame they're shutting down. I stopped using because it was too expensive for a channel with a few friends (a channel with fewer than 10 friends was costing $25/month).

<comment><USER23> I set Grove up for my distributed team but it didn't stick. I still think team-level chat is a problem worth solving, but nothing I've tried has gotten any real traction.

<comment><USER24> What are you currently using? I didn't use Grove, but I use IRC; I've definitely found that some people really take to it, and some people don't; some people even end up using IRC only to watch what other people are saying, and then send PMs as if they were using instant messenger, but never say things in the channel in public, even if they later talk about the things being said on IRC when we are all at dinner.

<comment><USER23> It tends to naturally revert to gchat or aim, which are not awful, but they seem to make it easier to accidentally exclude people.

</comment></comment></comment></comment><comment><USER25> I remember trying it out when it was free, and then I got a notice about the pricing plans. I emailed and said that the prices were outrageously expensive for just a few users. I never got a reply, but I got an auto-reply a week later telling me to fill out my billing info.

They put the service out there, and didn't really listen to much feedback or improve it. I was rather disappointed and find this ending... expected.

</comment><comment><USER26> Can I ask a stupid question? What causes a message like this? How many people are involved in the team? Is this a 'startup' or just a few developers having fun? I just started <http://pineapple.io> and when I see messages like this it always makes me wonder. it's not the first time i've seen something like this.

It makes me nervours...

</comment><comment><USER27> Some friends of mine were trying to kickstart a business with an open source Convore / Grove like service called Helm (<http://www.indiegogo.com/helm>). Daniel's open source work speaks for itself and I think it's an excellent idea and model.

</comment><comment><USER28> That has to suck for Leah, especially since there's definitely a worthwhile product somewhere in the team realtime communications space; maybe grove.io wasn't it, but I find team IRC and IM to be incredibly useful, and if there were a good way to combine the two (and some kind of wiki/logging/etc.), with security, it would be great.

It would be cool if there were a way to put systems in escrow in case a company tanks or pivots, to protect users. The time to fund and set that up is during development/normal use, not once you've run out of money and decide to shut down, though.

</comment><comment><USER29> How was the ride? How does the team feel about shutting it down?

</comment><comment><USER30> Shocking.

<comment><USER31> I feel/sense sarcasm. I did not see this being useful from day one.

<comment><USER30> It's sarcasm mixed with caremad.

I was a huge fan of Pownce, Motion, LeafyChat, Baconfile, Convore, and Grove. All failed.

I was really hoping this one would work, but after seeing no improvements in a year, it became obvious it wouldn't. :(

<comment> mh- Would like your opinion: do you think this is still a viable opportunity- serving this niche? (paid team chat)

..or is Campfire/HipChat/whatever-else-is-left "good enough" to make it not worthwhile?

<comment><USER32> Hosted IRC is an awkward place to be.

Those that don't give a fuck are using Campfire/HipChat.

Those that do give a fuck are usually hosting their own IRC.

Find a way to squeeze out both and you have a potentially nice business model. (Hosted IRC + nice web clients for paying customers?)

</comment></comment></comment></comment></comment><comment><USER33> What I don't understand is why they dont sell it on Sitepoint or somewhere. The app must surely have several hundred dollars a month in revenue at the very least. Someone would pay several thousand dollars for that.

</comment><comment><USER34> Great move writing a Python export script.

</comment><comment><USER35> On that note, any good guides for hosting your own IRC server on your home network (and safely expose it to the Internet) if you have a spare Ubuntu server box lying around?

<comment><USER36> I'd suggest against it personally. Get a $10 linode and setup an ircD there.

If your home network gets DDoS'd, it's going to be quite an inconvenience.

</comment></comment><comment><USER37> Instead of shutting down the service with an export option to a data file, how about identifying two or three competitors you'd recommend and working with them to export the content directly into another service. This way you help out both your customers and another startup.

For example, if Grove.io content can be made to work with Flowdock, contact the Flowdock team and work with them to put a big "Migrate to Flowdock" button on the shutdown announcement page.

</comment><comment><USER38> The many pivots of Leah Culver

</comment><comment><USER39> "...our team has moved on to other projects"

That's the part that gets me. I've seen this many times in other startup shutdown posts.

They say it so casually. Like this is just another extracurricular activity they do after school. If they're tired of basketball, they're going to stop and try hockey.

Except that's not how your customers view it. They're paying you money for a service they're using to presumably save/make money.

</comment><comment><USER40> Back to campfire, I guess.

<comment><USER5> I'd recommend hipchat.

<comment><USER41> We're using Campfire currently, and had used hipchat before that for a few months. Hipchat was fine on desktop, but holy shit their mobile apps are terrible. They were so bad that we had to move away because we're a fairly mobile group.

Honestly, the group business chat niche is just riddled with "incomplete" products in my opinion. Some are great in the browser but have no native web apps (Flowdock), some have shitty mobile apps with mediocre web versions (campfire and hipchat).

I hope someone with a good set of developers, cash in their pockets, and an eye on simplicity would come in and build a full suite of desktop and mobile apps on the back of a good chat system one day. It's absolutely not a solved problem at this point.

<comment><USER5> To be honest, I expect that team to be hipchat. They've got cash now since their acquisition, and they're making steady improvements to their desktop app.

Personally, I wouldn't enter this market, regardless of how good my devs or how much money I had. There are at least 3 polished and loved products. The problems you describe will probably be fixed before another team could come in with a good solution.

<comment><USER42> Just because there are at least three other services out there means you can't also enter the space and try to disrupt it still?

<comment><USER5> Campfire is made by a company with a massive and rabid following, and is cross-sold to the users of three other popular products, two books, and a massive blog.

Hipchat is an amazing product which is steadily getting better under the steam of great developers. It is also owned by Atlassian, a company with great execution and a strong track record of successful cross-selling.

So under these circumstances, no, I personally wouldn't enter this space.

<comment><USER36> You're stuck in a bubble.

Campfire gets a fair bit of attention here, but is unheard of outside the 'startup'/B2B space. The stats they post are laughable - last time I checked it was a few thousand messages a day - which is pretty minuscule.

Hipchat fills a hole as well, but there are literally thousands of different ways to spin 'webchat' and carve a big following out.

<comment><USER5> > The stats they post are laughable - last time I checked it was a few > thousand messages a day - which is pretty minuscule

That is laughable - as in it can't possibly be right. Can you provide a link to this?

From campfirenow.com: "Over 100,000 people have used Campfire to send more than 60,000,000 chat messages"

<comment><USER36> Campfire was released in 2006, 67 months ago.

60,000,000 messages, over 67 months, works out at 895,000 a month - <USER2> 28,000 messages a day.

Or one message every 3 seconds. Campfire could be run from a single small VPS.

I think it's entirely believable that the usage of campfire is that low. All credit to them, they've managed to get people to pay for something people don't actually use very often.

<comment><USER5> You can't just average them out - you think they have the same number of customers now as they did when they started?

Let's assume they doubled in size every year - I think that's a good if imperfect approximation. That would mean 30m messages sent this year, 80K sent today. A far cry for "a few thousand".

<comment><USER36> 80,000 messages a day is still ridiculously minuscule. It's a rounding error. Average them how you like. Assume exponential growth. Whatever. It's still around the same number of messages that go on in say a single channel on freenode.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER43> Are there any plans to opensource it? The API hooks were awesome.

</comment><comment><USER44> This is really a shame. Grove.io is a big part of our startup's communications. I really hope Leah considers open-sourcing the project, or turning it over to someone else.

</comment><comment><USER45> I strongly recommend using Atheme services for your next IRC project. They have a nice web interface and EGS is a really nice third party web interface.

</comment><comment><USER46> The writing was on the wall, after they pivoted from Convore.

Convore even seemed like a darling at Hacker News at the time.

</comment><comment><USER47> ARGH.

I really liked using this service.

</comment><comment><USER48> What to do now? What is a viable replacement for Grove.io?

</comment><comment><USER49> I have never used IRC. How is it better than Google Chat?

<comment><USER50> Internet Relay Chat is THE archetype of chat protocols. It has been around since the early days of the internets. Hence the protocols and software are mature albeit with some flaws or restrictions that are hard to come by.

Google Talk is using XMPP, an XML based presence and chat protocol that has also been there for quite a while. It is widely used throughout the net apart from Google Talk.

So both protocols serve their purpose well. IRC is a little more focussed on group chats. While one to one conversations are simple, a presence service is not what IRC was made for. XMPP is strong on presence and one to one chats, with less focus on group chats.

</comment></comment><comment><USER51> noooo! this feels like arrested development.

</comment><comment><USER52> I recommend FlowDock as a good alternative.

</comment><comment><USER32> This is why I refuse to use external services hosted by small/tiny companies that haven't open-sourced their tech.

Even in this moment, they still don't seem to be bothering to open source any of it.

There's a lesson to be learnt here in terms of gaining buyer trust when you're small.

I continue to use our own setup for IRC.

<comment><USER5> Its a self-fulfilling prophesy. You can't get big without customers, but customers won't use you because you're small.

How do we overcome this?

(Edit: I was asking a rhetorical question to counter the parent. But great discussion below.)

<comment><USER53> No NO.. it's not because they're small. It's because tech start-ups have a history of shutting down or selling, and leaving their users in the dust.

The list is long. Another recent example was Sparrow. I broke my rule about buying/licensing software from small companies (unless I got the source) with Sparrow. I didn't just buy 1 copy, I (we) brought 15 (for the office). And of course, I got burned. Again.

It will not happen again. Period. Unless you tell me up front your plans - what you plan to do for me, the user, when/if you fail or sell.

<comment><USER54> Did you really get burned with Sparrow though? You bought software, not a service. Them being bought, and shut down, by Google has zero effect on you given that you can continue to use their software. Forever.

<comment><USER55> According to a friend, the most recent version of Sparrow is essentially broken (100% CPU and crashes). I haven't upgraded in a while for this reason, and I'm not expecting that issue to be fixed, ever.

That said, I'm still using Sparrow on my laptop and desktop machines as well as my iPhone. But probably not for a whole lot longer.

<comment><USER56> I don't know about your friend, but I'm happily using the latest version of Sparrow with no issues whatsoever, maybe he has some other unrelated problems...

</comment></comment></comment></comment></comment></comment><comment><USER57> Why shut down if you have paying customers? Just let it run. Servers are dirt cheap, there's no way they are losing money at their prices.

<comment><USER36> They're hosted with rackspace afaik. So they probably _are_ losing money.

<comment><USER30> I'm pretty sure YC companies get either free or heavily discounted Rackspace.

<http://www.rackspacestartups.com/yc/index.html></comment></comment></comment>


Announcing .NET Core 1.1 Preview 1 - <AUTHOR> https://blogs.msdn.microsoft.com/dotnet/2016/10/25/announcing-net-core-1-1-preview-1/ <comment><USER2> It's good that they're iterating rapidly.

> .NET Standard 1.6.1-preview1 was published as part of this release. .NET > Standard 2.0 support is still coming.

I feel like the highlight of .NET Core will be when it finally implements .NET Standard 2.0. For those who haven't been following, .NET Standard 2.0 is basically the moment when .NET finally reaches cross platform consistency parity with Java.

For Java, if you want to have a cross platform app, you just target Java. For .NET versions pre-.NET Standard 2.0 you basically target a mishmash of platforms through "profiles". Imagine that when you're creating a Java app you'd be forced to chose a "profile" that says: this app supports JavaCombo12 (AIX, Solaris, Linux). Then once MacOS is available as a platform you have to choose JavaCombo13, that includes that. And then JavaCombo14, JavaCombo15, etc.

Oh, I almost forgot! To make things more interesting, each "combo" could have different APIs available! :)

<comment><USER3> > Imagine that when you're creating a Java app you'd be forced to chose a > "profile" that says

They are called:

\- Android Java

\- Java Micro Edition

\- Java Embedded Edition with (compact profile 1, 2 and 3)

\- Java Standard Edition

\- Java Enterprise Edition

\- MicroEJ Java

\- Real Time Java

Ah, then there are the vendor specific features like AOT compilation to native code or value objects like the Packet Objects in J9, just to give a possible example.

<comment><USER2> I thought someone would nitpick that statement. Microsoft supposedly designed and built .NET as a cross platform framework, even though they only released it for Windows. Yet many years after .NET's release and the .NET Core announcement, they're still struggling to achieve parity with Java.

Meanwhile, many of the examples from your list don't compare 1:1 with .NET profiles, because... :

\- Android Java

This was caused by Google, so not $VENDOR's fault (Sun/Oracle).

\- Java Micro Edition

This is moribund these days.

\- Java Embedded Edition with (compact profile 1, 2 and 3)

This targets a totally different use case than the average .NET profile (most .NET profiles are minor variations on a theme).

\- Java Standard Edition

Let's just call this "Java" :)

\- Java Enterprise Edition

Let's call this "Java" \+ libs. It's hardly a profile, it's just Java + stuff on top.

\- MicroEJ Java

I don't really know about this one.

\- Real Time Java

See my comment about Java Embedded.

.NET profiles are IMO, just an ugly hack to re-add portability to a platform that was designed with portability in mind but then lost it gradually as it became more and more integrated with Microsoft platforms.

<comment><USER3> > \- MicroEJ Java > I don't really know about this one.

A Java version produced by IS2T for micro-controllers, think cortex-M class.

[http://www.microej.com/](http://www.microej.com/)

[http://www.stm32j.com/products/](http://www.stm32j.com/products/)

As for the rest, we will have to agree to disagree. Regardless how it looks like in detail, in the daily work they are issues to take into account when trying to write portable Java code.

.NET was designed with portability across processors and Windows versions, not for other vendors. Even Rotor wasn't fully compliant with .NET 1.0.

When looking at the histories told by Don Syme related to the initial generics design and Ext-VOS, .NET genesis was to be a native platform based on COM. Actually something that was brought back to life as .NET Native + WinRT.

As for the .NET profiles, they aren't perfect, but as someone that works daily with Java and .NET, I look forward to them.

</comment></comment></comment></comment><comment><USER4> I find all the terminology and tooling around .NET Core... confusing.

Let's say I want to target RHEL and CentOS, versions 5-7. If I build mono on a machine with an old enough glibc, that single build will run on all of these. What's the equivalent to run on all these platforms with .NET Core?

<comment><USER5> .NET Core is the equivalent to mono. However the .NET Core libraries were a bit painful to port to since they were limited. So they are expanding this with .NET Standard - which is an API specification - which you can use and work across all .NET platforms (.NET Framework, .NET Core, or Xamarin).

Keep in mind it sounds like .NET Standard basically is between the full .NET Framework and .NET Core. So if you have an existing .NET Framework app it's very possible it would just work on .NET Standard.

<comment><USER4> But what about runtimes? Can I have a single .NET runtime that will work with all of those Linux versions? With mono I have a single runtime that actually works across almost _every_ Linux distro. Can I do this with .NET, have a generic runtime build that just works on everything?

<comment><USER6> From what I've seen, the answer is yes. Build once, drop and run anywhere.

<comment><USER4> Any information on how? I've been trying from a while, but keep getting bogged down in all the new terminology and constant changes to .NET Core...

<comment><USER5> .Net Core is the runtime. It's the cross platform version of the .NET Framework.

.Net Standard is just an API specification which will be implemented on the .NET Framework, .NET Core, or Xamarin runtimes. Technically it's a subset of the .NET Framework libraries. It's more of an improvement on .NET Core as it is bringing more APIs to that runtime.

So basically as long as you use the APIs in .NET Standard, your application can be compiled for any of those 3 runtimes.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> Bug fixes this release: [https://github.com/dotnet/core/blob/master/release- notes/1.1...](https://github.com/dotnet/core/blob/master/release- notes/1.1/1.1-preview1-commits.md)

>1380 APIs were added in this release

>Added support for Linux Mint 18, OpenSUSE 42.1, macOS 10.12, Windows Server 2016

</comment><comment><USER7> Question to the seasoned .NET devs - If you're planning to build a F# app that will eventually be deployed on Linux and developed on a Mac, what (& why) would be your choice - Mono or .NET Core?

<comment><USER8> My plan is to target .NET Core. I like the idea of being able to run on cheap Linux instances. Although Xamarin is part of Microsoft, I'm concerned Mono might end up being the red-headed stepchild, with Core getting better company backing. The only thing that sucks is that currently some of the larger cool projects (like Suave and Akka.net aren't ready for Core yet (I think)). So eventually: sweet, short-term might be a couple more headaches.

<comment><USER7> I agree! In the new scheme of things I'm not sure how Mono fits into the .NET landscape. I was eagerly waiting to get a answer in Changelog's latest episode[0] but sadly they didn't cover this at all.

It's even more confusing that there is absolutely no mention of .NET Core on the language's Github page - [http://fsharp.github.io/](http://fsharp.github.io/)

[0] - [https://changelog.com/podcast/224](https://changelog.com/podcast/224)

</comment></comment></comment><comment><USER9> Despite the uncertainties I have about .NET's future, I'm very excited for the possibilities this will open up if they would continue this pace and just listen to the community. I myself can't wait for the freedom to choose a linux or windows server to deploy on

</comment><comment><USER10> Can anybody comment on what would be required to run .net 4.6 applications using System.Web on this? Could the Mono codebase be used for this?

</comment><comment><USER11> ASPNET Core 1.0 has dependency injection built in. Is there something similar for non-aspnet core apps?

<comment><USER12> There's a lot of popular nuget packages handling dependency injection, in fact, the ASP.NET docs encourage you to use one in place of their own rudimentary implementation.

The ones I'm aware of that have ported to .net core are StructureMap and Autofac.

<comment><USER11> The more rudimentary the better if you ask me. DI should be a standard library feature if you ask me.

</comment></comment></comment><comment><USER13> Could be worse, can't see a new keyword yet

<comment><USER4> _sigh_ , predictably, there are a few: LTS, FTS, train.</comment></comment>


Details Emerge on China's 64-Core ARM Chip - <AUTHOR> http://www.nextplatform.com/2016/09/01/details-emerge-chinas-64-core-arm-chip/ <comment><USER4> What the article doesn't mention is that no independent benchmarks will be released, no English documentation exists, and the chip won't be available outside China.

<comment><USER5> Do Intel and Amd release Chinese documentation?

<comment><USER6> This is not a fair comparison. English is an international language of science and technology unlike Chinese and other languages.

<comment><USER7> That doesn't preclude Chinese from being the same, or becoming the same.

<comment><USER8> "That doesn't preclude Chinese from being the same, or becoming the same."

\+ It won't. The international language already English and that won't change (India, North America, Europe - most of Africa, the Middle East are already English as international lang. even China esp. Hong Kong, Singapore) - <USER2> Chinese may become a 'sphere of influence' language in surrounding countries - much like Spanish or French. Of course it kind of that already.

\+ The issue of not releasing documentation in English is odd, given that English docs would enable them to access maybe a 5x greater market. And for the cost of what? Clearly, it's a strategic decision on their part - there's some kind of impetus behind it. Possibly they don't think it's ready. Who knows? But it's not likely an oversight. It was a decision.

<comment><USER9> > \+ It won't.

I believe that's what they said about Latin at some point!

<comment><USER10> The long tail of available English content that is available on the internet will ensure that it remains dominant. Latin never had the sheer quantity of content that English has.

<comment><USER11> And Greek did not have the sheer content Latin had. Still Latin was replaced.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Is Phytium owned by the Chinese government? Otherwise, why call it China's chip? It's like saying America's Xeon.

<comment><USER13> I've been thinking about this lately: what's the difference between how China supports companies, and the U.S. giving Intel a big DOE contract?

<comment><USER14> Honestly not a lot. People who complain about the Chinese government helping Chinese companies need to recognize that the US has been doing similar things for decades. China does seem to give more support to its companies than the US does, but that's a difference of degree, not of kind. In fact, the development of Silicon Valley as a tech hub in the first place was heavily dependent on the military-industrial complex -- Fairchild had considerable military contracts, for example, and the companies that followed have had such contracts as well.

This is a situation where free trade and national security can be in conflict -- it would simply be irresponsible for the US or China to trust non-domestic companies with military projects, satellites, etc. But most of the companies that work on those projects also compete in the consumer market, where government subsidies are considered trade barriers.

<comment><USER8> "Honestly not a lot." and "China does seem to give more support to its companies than the US does, but that's a difference of degree, not of kind."

I'm sorry but this is not true.

Chinese companies are often a direct part of national strategy and are created by, led by, supported by and defended by the state.

The collusion between many Chinese companies often goes far, far beyond 'government contracts'.

It's rational for any government to prefer local companies for strategic purchases, particularly military etc.. Nobody is going to bat an eye if a state related carrier choses to buy planes from their national aerospace entity.

But China will force companies from other countries to give up their IP - <USER3> hand it over to state-owned or related companies, then 'hold up' the foreign company in approval processes and other forms of tariff barriers - while the 'state owned' company gets a head start in the local market.

And obviously having direct government ownership in many of these companies means a material intervention far beyond what the US does. The US does not own any piece of Apple or Intel, and makes investments in entities like GM only very reluctantly under negative conditions to keep them alive - not to promote a national strategy.

Finally - because of the heavy state owned banking system and the total political control over monetary policy - issues like lending and financing are also heavily politicized, which is another form of direct state intervention.

The means by which the US or UK intervene are on average completely different from how it's often done in China.

<comment><USER15> This all factually correct. Cannot understand reason for downvotes. Also have done business in China for 15 years.

<comment><USER8> Of course it is. It's pretty well established and public knowledge, there's not controversy in that statement.

But it goes against an emotional kind of a 'morally relativistic' view of other cultures one must have to be politically correct.

A statement that is 'against China', even if factual, will be perceived as some kind of 'bigotry' or 'prejudice' or 'racist sentiment' by those with a social/utopian view of the world.

I find young people are especially like this.

<comment><USER8> "You enumerated differences in degree"

Totally false. I iterated several ways in which the Chinese government intervenes that the US and other countries do not.

In case you had trouble reading:

1) The Chinese government creates many companies companies for strategic purposes. The US does not. Some Euro companies do, in limited situations - mostly around energy, military and aviation.

2) The Chinese government takes a direct financial interest in many industries and companies. The US does not, again, unless it's a reluctant, temporary bailout which is a totally different thing. Even when they do 'bail out' \- they don't sit on the board, or give orders - it's just financial.

3) The Chinese government owns the banking system - and government officials require state banks to make investments in specific companies. The US does not do this.

4) The Chinese government has political control over their 'Central Bank' and has currency and capital controls. They use these measures for a lot of things - but one is to create financing for the state banks to make their industrial investments. The US does not do this.

5) The Chinese government requires foreign entities to give up Intellectual Property in order to sell into their market - even for consumer products etc. The US does not do this.

6) The Chinese government uses IP gained from this practice - and from industrial espionage to create state-owned competitors. The US does not do this. (There's little for the US to steal, admittedly, they will do this for military programs - but not commercial ventures).

You must had difficulty reading?

I totally contradicted your comment.

The means by which China intervenes is fundamentally different than the means by which the US and Western countries intervene.

 _Everybody knows this_.

It's not contentious, it's not a secret, it's not a conspiracy theory.

 _You 're arguing against everyone in business_.

I'll gather that most Hackernews readers have basically no exposure to these things - that's ok - it's 'hackernews' not 'international business news'.

<comment><USER14> I didn't have trouble reading.

> 1) The Chinese government creates many companies companies for strategic > purposes. The US does not. Some Euro companies do, in limited situations - > mostly around energy, military and aviation.

This is a distiction without a difference. As you said, some European countries do this too. The US has done so also in the past. Even though it does not do so today, that doesn't really change the outcome -- US defense companies are not state-owned, but they promote the state's strategy and interest just as much as they would if they were state-owned. They also get a lot of money from the state, probably far more than any state-owned Chinese companies get.

> 2) The Chinese government takes a direct financial interest in many > industries and companies. The US does not, again, unless it's a reluctant, > temporary bailout which is a totally different thing. Even when they do > 'bail out' \- they don't sit on the board, or give orders - it's just > financial.

This is another distinction without a difference. The Chinese have influence on companies by taking a direct financial interest, but that's not the only way it can be done. The US has just as much influence on a lot of US companies, and implements its financial interest through government contracts rather than direct investment. These are simply different ways of achieving the same outcome.

> 3) The Chinese government owns the banking system - and government officials > require state banks to make investments in specific companies. The US does > not do this. 4) The Chinese government has political control over their > 'Central Bank' and has currency and capital controls. They use these > measures for a lot of things - but one is to create financing for the state > banks to make their industrial investments. The US does not do this.

Again, ownership is not required for influence to exist. Anyone who lived through 2008 and TARP in the US cannot possibly claim there is no political influence in the banking system. Yeah, the Chinese do it more than the US does -- but that is a difference of _degree_.

Your point #5 is factually incorrect. There are problems with Chinese IP law to be sure, but there is not a legal requirement to give up IP rights to do business in China. Companies that register their IP in China are entitled to legal protections, just as they would be in the US. If those protections are not enforced, that's a difference of degree, not of kind.

> 6) The Chinese government uses IP gained from this practice - and from > industrial espionage to create state-owned competitors. The US does not do > this. (There's little for the US to steal, admittedly, they will do this for > military programs - but not commercial ventures).

I'm sure the US does this, and you admitted as much when you said they do this for military programs. Companies with military contracts overlap into the commercial and consumer space quite a bit, so it does affect the commercial market. Yeah, China does more of this -- but that is a difference of _degree_.

The bottom line is that when both countries do a thing, and one of the countries does more of that thing than the other country, that's a difference of _degree_.

You seem rather attached to state ownership as some kind of differentiating feature, but it's really not. China exerts influence by ownership and direct investment; the US exerts influence via government contracts, which are a form of indirect investment. The outcome is the same _kind_ of thing -- government influence over companies. China does it more, which is a difference in _degree_.

You have not identified any fundamental differences here. All you've done is show that China does the same things the US does, but more, and possibly more effectively.

<comment><USER8> "You seem rather attached to state ownership as some kind of differentiating feature, but it's really not."

Yes - it is - dude.

Buddy - I'm not arguing wit you.

I'm not trying to make a point.

This is well established stuff.

There is no debate here.

You've painted yourself into a corner, saying that 'night is day'.

You're making a fool of yourself.

<comment><USER14> If you did not want to argue with me, you would not have responded to my posts multiple times with arguments. Nor would you have tracked down my posts in other threads and attacked them, which you have done.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> That's direct competition for Cavium (american multicore MIPS -max 48 cores/chip on Octeon III SoCs- and ARM -max 48 cores/chip on ThunderX SoCs- chip maker).

If they manage to sell 64-core ARM chips for 50$, even using just 28nm (maximum available on mainland China foundries -AFAIK-), it could hurt Cavium badly and start worrying Intel.

<comment><USER17> They aren't going to sell these chips anywhere close to 50$, high end mobile phone SoC's cost 60-100$ these days, even the Chinese SoC's are not that cheap MediaTek's Helio X25/X20 are "cheap" because they aren't Snapdragon 823 Exynos 8893 100$ price parts, but they are around 30-50$ also (and could be even more, since a bargain bin MT6582 MediaTek ARMv7 SoC costs 8-10$).

This isn't going to be fabbed in China, almost none of the chinese SoC's are fabbed locally the foundries are not built for that the process is too old and overall they are not intended to produce such complex silicon, there is much more to a process than just the lithography and even that is not straightforward because you actually need to do tricks to get to sub 28nm today as you often end up using higher wavelength light since extreme UV and other similar technologies aren't there yet.

The 64-core SoC's are going to be multi-100$ parts, probably closer to the 1000$ mark regardless if they are chinese or not, Cavium SoC's are about as expensive or even more expensive than some of the Intel parts they are competing against.

If China introduces a 64 core ARMv8 SoC at 50$ Intel won't be worried, it would panic to the point of them using the backdoor everyone on HN think they have via AMT rigging the election so Trump can win and then convincing him to nuke China might actually happen.

That said a 50$ 64 core ARMv8 SoC is pretty much impossible to make even in China, by China, for China.

<comment><USER16> "That said a 50$ 64 core ARMv8 SoC is pretty much impossible to make even in China, by China, for China."

Allwinner A20 (4 core ARMv8 Cortex A53, 512KB L2 cache, 128KB L1 cache, 2 core Mali 400, video interface, etc.) costs 6$ in volume. So I guess just in plain die area, the 64 core Mars ARMv8 (32MB L2 cache) could take just 8 times the area of Allwinner A20, without including L3 cache. That would mean 48$ just in silicon, with naive extrapolation. Also, there are two versions of the chip: the high-end ("Mars") and a low-end ("Earth"), may be without L3 cache ([1]).

With progressive die reduction, it could be even cheaper, if demand reaches enough critical mass (e.g. billions of chips for routing devices, servers, etc.).

In addition to Cavium, there is another potential competitor: Mediatek (after Atheros aquisition), selling crazy cheap SoCs for SOHO routers. What if they start in the high-end and server market? (they would need just IP available from ARM for the inter-core memory routing, for making cheap SoCs).

[1] [https://tweakimg.net/files/upload/HC27.24.320-Mars-64core- Ga...](https://tweakimg.net/files/upload/HC27.24.320-Mars-64core-Gao- Phytium-v1.0.pdf)

<comment><USER18> Atheros was acquired by Qualcomm, not Mediatek.

<comment><USER16> Yes, thank you. Mediatek acquired Ralink.

</comment></comment></comment></comment></comment><comment><USER19> > 128 MB of L3

Wow! I suppose when you have 64 cores to feed...

But what's the play here besides promoting indigenous development? Alone, these cores are not remarkable, and getting 64 of them fed constantly is only useful for long-running HPC workloads.

To me the most interesting thing here is the 'Hawk' interconnect that allows some of these dies to be replaced with custom processing units; hardware encode/decode blocks sn a common option in consumer devices today, but any custom block can be made for specialized workloads.

<comment><USER20> Don't some Intel Xeons have 128MiB of L _4_?

But L3 is another story, for sure.

<comment><USER21> I think the iris graphics ones can use the vram as shared L4, and that's up to 256 MiB IIRC.

</comment></comment></comment><comment><USER22> 2,892 pins, 16 memory controllers. Hm. How much is shared? Is this a cluster of 4-CPU shared memory multiprocessors on one chip, with inter-system channels? Or are all the caches linked, so that it looks like one giant multiprocessor?

This setup has lots of memory boards in sockets, some distance from the CPU. If you're not sharing memory, it might be faster to have fewer CPUs per chip and put the CPUs and the memory on the same board.

</comment><comment><USER23> It does seem like Intel is going to see their market share in the server space erode not from traditional competitors like AMD, but by upstarts using ARM.

Intel's Xeon Phi experiment hasn't produced anything cost-effective and workable yet, but if they can get that to run at low power they might have an answer to the swarms of ARM systems on the horizon.

<comment><USER17> Xeon Phi isn't an answer to ARM, Intel has the Xeon SOC which is directly competitive with ARM and it's pretty damn good.

[http://www.intel.co.uk/content/www/uk/en/processors/xeon/xeo...](http://www.intel.co.uk/content/www/uk/en/processors/xeon/xeon- processor-d-family.html)

No 64 cores, but 16 X86 Xeon Cores @ 1.3ghz with HyperThreading will give pretty much any high end ARM SOC a run for their money, a TDP of 45W also doesn't hurt ;)

Intel has made a bet that by the time ARM would get their performance to x86 levels Intel would get their power consumption to ARM SOC levels and Intel seem to have been correct on that bet.

The Xeon Phi is also pretty interesting Knight's Landing and onwards provides pretty good performance for deep-learning and other applications that companies like NVIDIA were swinging at, it's still not on the same performance level as NVIDIA's top tier of compute products but it's close and the x86 compatibility is likely to have a sufficient advantage in certain scenarios to make the Xeon Phi really competitive. NVIDIA was planning on having x86 compatibility for it's HPC parts however both AMD and Intel killed that dream in court.

<comment><USER24> I suspect with the embargo on Intel, China is highly motivated to push ARM ahead of Intel quickly. If you think Phytium and the Chinese government aren't tied at the hip you're kidding yourselves. Sure, they can't fab at 14nm but they likely will soon.

<comment><USER17> They can fab on 14/10nm just like all the other Chinese soc companies do, MediaTek is doing 20, 16 and 10nm SoC's if they couldn't they wouldn't be competitive regardless of their price.

<comment><USER25> They sure can fab it elsewhere, just not in mainland china is what he meant imho.

<comment><USER17> But they aren't fabbing it in mainland China anyhow, these CPUs were fabbed in TSMC, the 28nm foundries in china aren't really capable of producing silicon as complex as this one. China will get there, it is a national priority for them and it is understandable they need to move from being the factory of the world to becoming an innovation and R&D center sure they are literally hacking their way there but they'll get there.

China is aggressive and very intelligent with their goals and roadmaps in complete contrast to other emerging mega-nations like India, and sadly even in contrast to Europe which seem to have both the financial and the human capital to become a world leader however lacks the the will and the uniform vision to achieve that.

Don't get me wrong Europe is doing some amazing things in research especially in the academic scene and programs like Horizon 2020 are pretty impressive but they are peanuts in the grand scheme of things, China on the other hand says in 10 years I want to be able to make X and they get there doesn't matter if X is canned goods or high end CPUs.

China is the US in the 50's be the 1st in everything, do huge national projects to get there, invest in science, technology and education all for the national pride and glory. As much as I'm "scared" of China I really admire their moonshot spirit in the past decades if they won't implode before getting there I hope they'll end up being benevolent overlords.

<comment><USER26> China will have to get there on their own, however; no one is willing to share such fab technology with them, or sell them equipment like Germany does for much of their manufacture base. It will take a while with the current mindset of cheap/cut corners work, they are having the same problem with jet engines (more careful and precise, less cheap!). They can't really just throw money at the problems either...not when management takes huge cuts and then outsources to the traditional cheap/cut corner vendors.

Or they could just invade Taiwan for its fabs.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: Who Did Separate a Django's Front End? - <AUTHOR> I need some advice and general thoughts on how to move my Django monolith's front-end to a front-end library. Is it a good thing in of itself? How should I approach it? How did you approach it? What did you learn from doing it? <comment><USER2> I normally like to use Graphene to create a GraphQL API. Then you can use Vue, React, Angular, etc to build your frontend. You'll convert your read views to Queries that are rendered on the frontend. A big part of the change is likely tied up in Django Forms. You can use these forms in Graphene and convert them to mutations. [https://docs.graphene- python.org/projects/django/en/latest/m...](https://docs.graphene- python.org/projects/django/en/latest/mutations/#django-forms)

<comment><AUTHOR> Thanks very useful.</comment></comment>


Show HN: House of Chance, a Game of Thrones Inspired Bitcoin Game - <AUTHOR> https://houseofchance.net

<comment><AUTHOR> Lords and Ladies of Westeros. My name is Alequo Adarys and I have the pleasure of being the owner of the House of Chance.

Located in Fleabottom, in the dinghy heart of King's Landing, the House of Chance has created a unique game combining both luck and knowledge. The first- of-its-kind game allows a player to achieve an astonishing 1% edge in their favor, with knowlegeable play. Built into the legendary Iron Throne of Aegon the Conqueror, the game is a slot machine where the slots represent the 9 great Houses of Westeros. Players at the House of Chance first choose which of the great Houses they belong to, and when a winning sequence of patterns includes their house, the player will be awarded a "House Bonus" payout on top of their normal winning payout. But the payout does not stop there. After a "House Bonus" the player will be presented with a question about the history and lore of Westeros, allowing them to win an even bigger "Question Bonus" payout. Questions range from easy to very hard and their difficulty depends on the type of patterns the player spun in the slot machine. An example question is shown below:

[http://tinyurl.com/k6t8mkt](http://tinyurl.com/k6t8mkt)

Notice that questions are in multiple choice format and that there is a timer which gives the player a limited amount of time to answer the question. The timer ensures that players with the knowledge of Maester will be able to answer the question, but those who wish to search the scrolls of the Citadel in search of the answer will not have enough time. The questions come from the largest online collection of Game of Thrones trivia. Players at the House of Chance may also contribute to the collection of trivia by creating their own questions. Any questions created by a player that are accepted into the collection of trivia will result in a "question bounty" of 1000 gold Dragons (the currency of Westeros) to the player who submitted it. Gold dragons may be converted to and from bitcoins at a rate of 1 bitcoin = 1 million gold Dragons. A player will also be acknowledged for creating a question whenever it is shown to other players in the House of Chance who obtain a House Bonus while playing the game.

With knowledgeable play, a player at the House of Chance can have an edge as high as 1% in their favor - so in the long term they should be able to beat the House. The more you know about Game of Thrones, the better you will be able to do. Fans of Game of Thrones will find that there is no other place in Westeros where wagering is more in their favor than at the House of Chance.

The game provides many great features, including:

Variable House edge, up to 1% in the player's favor Largest collection of Game of Thrones trivia on the web The more you know about Game of Thrones, the better your odds Faucet feature: ability to create trivia for the site and be rewarded with 1000 gold Dragons (instantly convertible to btc) for each question you create that's accepted. You can submit an unlimited number of questions so long as they're well crafted 1 confirm deposits Instant withdrawals Chat feature so you can discuss Game of Thrones with other fans and players at the House of Chance Provably fair ([https://houseofchance.net/faq#a9](https://houseofchance.net/faq#a9)) Fund the bankroll and share in the profits*

The House of Chance also incorporates state of the art security practices to ensure the safety of player and investor funds, including:

All traffic is over SSL Two factor authentication is available to secure player and investor accounts Rate limited login attempts Bcrypted passwords Built on top of a secure Linux architecture Majority of investor funds are kept in cold-storage Encrypted hot wallet

Without further ado I would like to welcome you all to the House of Chance, and may the odds be good!

* email email@example.com for an invitation to the fund the bankroll feature (currently it's invitation only)</comment>


Show HN: Optimizing page load times for SPA running on widlfy - <AUTHOR> http://himangshu.io/blog/optimizing-single-page-application-using-prerender/ <comment><USER2> Awesome work @Himangshu

</comment><comment><USER2> Awesome work @Himangshu.</comment>