Notepad++ issues attacked by Chinese commenters - <AUTHOR> https://github.com/notepad-plus-plus/notepad-plus-plus/issues <comment><USER2> Good on the Notepad++ devs. They've had Tiananmen-themed release notes in the past as well.

Edit:

Remember when GitHub started allowing removing issues, rather than just closing them? People got all wound up saying that issues shouldn't be totally removed and there should be a public record of the maintainer closing it.

This is a perfect example of what that feature enables. The maintainers can, if they want, just go in and remove all these issue reports. It totally removes any power that troll accounts have.

<comment><USER3> From the notes:

"People will tell me again to not mix politics with software/business. Doing so surely impacts the popularity of Notepad++: talking about politics is exactly what software and commercial companies generally try to avoid. The problem is, if we don't deal with politics, politics will deal with us. We can choose to not act when people are being oppressed, but when it's our turn to be oppressed, it will be too late and there will be no one for us. You don't need to be Uyghur or a Muslim to act, you need only to be a human and have empathy for our fellow humans."

<comment><USER4> I have wondered about the following question in roundabout ways, but this note has finally made the phrasing clear to me: if humanity finds a way to weed out the people who speak up for themselves and for others over a long-enough time scale, then what happens to humanity game-theoretically in that scale and on a longer scale? Please feel free to replace "humanity" with "a population" if it helps you think of an answer.

Edit: replaced "in terms of game theory" with "game-theoretically".

<comment><USER5> My take on this is that it's not possible on a long enough time scale. If you try to curtail freedom of knowledge and trade, eventually you will get artifacts that will slow down the progress of your society (just look at the Github bans). Look at how hopelessly antiquated "parallel" societies like the ex-GDR, North Korea or Cuba have become.

North Korea still holds out as they completely closed down their population. But if you try to have all the good parts of western society while still limiting intellectual freedom, I think all of this will come apart eventually. Travel from and to China is not severely limited, and eventually there will be an influx and a core cell of Chinese people wanting to have the same freedoms for their country.

Fighting those minds will show the true faces of any authoritarian regime, which in turn will get more people upset. I think in these days of full technical mind control, it will be an interesting excercise in how long a government can keep this critical mass contained and intimidated.

But once they can get some visibility and they hit a weak spot in the regime, it's usually over: [https://en.wikipedia.org/wiki/Monday_demonstrations_in_East_...](https://en.wikipedia.org/wiki/Monday_demonstrations_in_East_Germany)

The human mind is meant to be free. Any dictatorship is actively working at destroying itself.

</comment></comment></comment></comment><comment><USER6> GitHub should take a stand and remove the accounts of everyone involved. No matter if they're spreading Chinese Nationalism and attacking people over it or those who think it's an excuse to use racist swear words against Asians. This should be a platform for collaboration, behavior like in a YouTube comment section shouldn't be tolerated

<comment><USER7> The accounts used in those scripted attacks are obviously throw-aways, removing them won't change a thing.

<comment><USER8> I see a lot of legit account but used sporadically.

<comment><USER9> Sometimes these are "sleepers" accounts, and they are very valuable in astroturfing and trolling business. Not all of them - I suspect some people are real, and upset about "some developer teaching us how to live".

I wouldn't surprised if there is a quite significant chunk of accounts on any soc media sites that are dormant until "the call" comes in.

</comment></comment></comment></comment><comment><USER10> Respect for people who take a stand for important issues.

I understand the value of not wanting to bring politics into a shared large tech community, but at the same time you should be able to do what you want with your own software, and using it to push your ideals is legit.

We must remember though that this should also apply to ideas we don't agree with.

</comment><comment><USER11> What the fuck is happening here? Context?

Edit: "Notepad++ v7.8.1: Free Uyghur"

I love it.

</comment><comment><USER3> I am finding it fascinating looking at the abusive accounts and their repositories and history of issues and pull requests over various other repositories.

I wonder if some kind of pattern could be apparent? (Currently the few accounts I have visited are front end JS developers) Could some of them be active in your own communities?

<comment><USER12> So they should be ostracised for not thinking like the West wants them to think?

My issue with this is that some people think that all online supporters of the Chinese government are paid shills or just bots. It might surprise you to know that there are normal Chinese people, just like you and I, that simply like things are going in China. I see no reason to disrespect or ostracise them for their politics.

<comment><USER3> Oh I actually think they _are_ normal people. And that's why it's interesting and important.

A simple reason why is imagine not having to have a paid online army or coordinate a sophisticated bot attack when your population will do it voluntarily and with enthusiasm.

The more complex reason is more interesting and it really is about the freedom to think and speak but it's also where criticism of China as a state is considered to be an attack on the people and where even telling the truth must be sacrificed for stability. China has the myth that it is stable because it has lost so much blood in the past therefore the stability is more important than human rights or the truth. It's actually why Muslims and Hong Kong are attacked, literally because their existence shows that China is not whole or stable. It's frightening and most Chinese people will rather not rock the boat.

This "attack" on GitHub is actually a defense.

<comment><USER13> I usually go on the offense here with this account to try to preach the other side of story in a justified manner as possible. But I do want to just note on this to say I love the way you portrayed the actual situation versus many, it's very on spot and I wish others would recognize the situation the way you do.

</comment></comment></comment></comment><comment><USER14> NodeBB team here. We host Notepad++'s forum. We're keeping an eye out for suspicious activity on the forum as well, as these types of spam dumps occur often.

That said, the Notepad++ forum has been the target of a low level DoS attack for the past month...

</comment><comment><USER15> Notepad++ devs are doing the right thing.

<comment><USER16> I prefer my software politics free, but it's their right in my opinion to do it, and mine to choose whether or not to use the software.

<comment><USER17> So you don't use any Free Software at all?

</comment></comment></comment><comment><USER18> I love how many comments are anti-USA, but the author is from France.

<comment><USER16> "France" you mean :)

<comment><USER19> [https://donho.github.io/](https://donho.github.io/) Looks pretty French to me.

</comment></comment></comment><comment><USER20> Here is what happens when you speak out against the Chinese government: [https://www.reddit.com/r/HongKong/comments/dp5422/dont_becom...](https://www.reddit.com/r/HongKong/comments/dp5422/dont_become_chinese_advice_from_a_chinese/)

</comment><comment><USER21> Triggered by the blog post announcing the relase of "Notepad++ v7.8.1 : Free Uyghur".

[https://notepad-plus-plus.org/news/v781-free-uyghur- edition/](https://notepad-plus-plus.org/news/v781-free-uyghur-edition/)

Excerpt from the blog post:

> At least 120,000 members of Kashgar's Muslim Uyghur minority have been > detained in Xinjiang's re-education camps which aim to change the political > thinking of detainees, their identities, and their religious beliefs. > Reports from the World Uyghur Congress submitted to the United Nations in > July 2018 suggest that 1 million Uyghurs are currently being held in the re- > education camps.

> Here are some actions you can take to help them: [https://uhrp.org/what-you- > can-do](https://uhrp.org/what-you-can-do)

> The fact you have just learned such information is already an action in and > of itself. But you can involve more people to focus on this issue and > hopefully apply additional pressure on the Chinese government to stop their > oppressive actions and crimes concerning the Uyghur people. People will tell > me again to not mix politics with software/business. Doing so surely impacts > the popularity of Notepad++: talking about politics is exactly what software > and commercial companies generally try to avoid. The problem is, if we don't > deal with politics, politics will deal with us. We can choose to not act > when people are being oppressed, but when it's our turn to be oppressed, it > will be too late and there will be no one for us. You don't need to be > Uyghur or a Muslim to act, you need only to be a human and have empathy for > our fellow humans.

> Hence Notepad++ Free Uyghur Edition:

<comment><USER22> Cache because the notepad++ website is currently unavailable: [https://webcache.googleusercontent.com/search?q=cache:dMqHQf...](https://webcache.googleusercontent.com/search?q=cache:dMqHQfpMBI0J:https://notepad- plus-plus.org/news/v781-free-uyghur-edition/+&cd=1&hl=en&ct=clnk&gl=uk)

</comment></comment><comment><USER23> Are they maybe irritated at the author because they won't be able to use N++ anymore in China due to censorship? Or is that a silly idea. Some of the issues seem to just be made of text that's purposefully made to be censored, including e.g. "winnie the pooh". Or maybe they're trying to show that they're "good citizens"...

Update: looks like 4chan has started their trolling...

<comment><USER24> Reading the few comments that were (machine) translated into English, it seems they are angry that the dev dared to speak badly about their country.

This is just Chinese people being angry at someone calling out China for its concentration camps.

<comment><USER25> There seem to be two groups of commenters. Chinese — who I suspect are mostly self-appointed keyboard warriors, not some government backed troll-factory like the Russians have — and trolls trolling the trolls — e.g., imageboard counterculture; these are the commenters mostly just copy/pasting the keywords that get services and Chinese netizens banned or flagged.

If there is a coherent English comment in there anywhere making a reasonable case (i.e., beyond not liking it) for not including a phrase like 'Free Uyghur' in their release notes, I haven't found it.

<comment><USER26> Yeah, I'm seeing a lot of that famous Chinese copypasta.

[https://www.reddit.com/r/copypasta/comments/a5cq6g/a_copypas...](https://www.reddit.com/r/copypasta/comments/a5cq6g/a_copypasta_that_causes_china_to_ban_the_site/)

</comment></comment></comment></comment><comment><USER27> How did this post move from page 1 to page 4 so quickly? in the space of pressing the back button.

<comment><USER28> hacker news has automated algorithms to deprioritise posts it autodetects as "controversial" or "troll bait"

<comment><USER29> Wow, I didn't know the effect of the deprioritization was so strong. Now I wonder if there's some unofficial HN client that sorts by "controversial" (just like Reddit).

<comment><USER30> [https://news.ycombinator.com/active](https://news.ycombinator.com/active) (via [https://news.ycombinator.com/lists](https://news.ycombinator.com/lists) )

<comment> blaser-waffle That's not controversial though, just what is seeing a lot of posts and voting. That could _imply_ it's controversial or trollbait, but not per se.

</comment></comment></comment></comment></comment><comment><USER31> Will probably be downvoted to oblivion:

This incident is a perfect example showing why embracing China and hoping they would be more open to modern values like freedom of speech, democracy, etc., is a total illusion.

Too many Chinese people are brainwashed to the core that even if the great firewall is switched off today, nothing will change. The currently brainwashed people simply despise anything against Chinese official rhetoric; they don't put any thoughts to follow other people's reasons. And this brainwashing will pass on from one generation to the next.

I've met too many mainland Chinese use only Baidu to search, use only WeChat to do messaging, read only Weibo and watch only CCTV to update themselves on current affairs, even when they are physically outside of China. Sure there are still some reasonable Chinese, but 9.9 times out of 10 they are very reluctant to speak up, since they still have some stakes in China. If they do speak up, their family back in China will get locked up, harrased, wealth get taken, you name it. It happens all the time.

That's why powerful external force is necessary for China to change. And if we don't force China to change, China will erode the rest of the world's modern values, which is the foundation of our civilization. China's export of oppression, like recent news about NBA and Apple, has been actually on-going for a very long time. In Hong Kong here, we see it all the time all around us.

<comment><USER19> > And if we don't force China to change, China will erode the rest of the > world's modern values

There's another option: Treat them like North Korea. No trade in, no trade out, let them be whatever they want as long as it doesn't hurt anyone outside China.

It's the least profitable option, of course, but much easier to pull off than overthrowing a government armed with nuclear weapons, and un-brainwashing over a billion people.

<comment><USER31> Agree. But the tricky part is that it requires us to overcome our greed.

And we also have to abandon 1.3 billion people in the process. For example, people in North Korea are starving[0]. It's just we don't pay much attention to it. Is this evil necessary?

[0] [https://news.un.org/en/story/2019/05/1037831](https://news.un.org/en/story/2019/05/1037831)

<comment><USER19> > And we also have to abandon 1.3 billion people in the process. For example, > people in North Korea are starving[0]. It's just we don't pay much attention > to it. Is this evil necessary?

 _Can_ we save them all? We've given North Korea free grain shipments before to help their population, the government just resold it for cash. And we can't topple a government that's willing to use nuclear weapons just to stay in power.

At some point you just have to wait for a better chance. The Soviet bloc was just as unjust and abusive, but before Gorbachev, there was simply no chance of getting rid of it without a hundred million dead in the process. We can only hope that North Korea (or China, hypothetically) appoint benign reformers at some point.

</comment></comment></comment></comment><comment><USER28> Obviously, exposing state surveillance and oppression is a good thing.

However a lot of western media and commenters conflate this by adding their own propaganda twists into their message, either surreptitiously (being anti- Chinese and using "freedom" as an excuse to attack China) or perhaps innocently without realising it (ignorantly, thinking their are really about "freedom" and not realising their own prejudices). This unnecessarily inflames the situation and a more balanced message would have worked better without triggering the sensitivities of very nationalist people.

> The Uyghurs are not ethnically Chinese but live in China's so-called > autonomous Xinjiang region. The region's name suggests the Uyghurs have > autonomy and self-governance.

"Chinese" is not an ethnicity, you probably meant "Han Chinese" as the ethnicity. Saying that Uyghurs "are not Chinese" is like saying Northern Irish people "are not British". Of course this is going to piss people off, pro- Chinese Uyghurs included. Indeed many of the Github comments are about accusations to split China, and of course if you go into Northern Ireland and talk about how all those people are "not British" you will understandably get the same sort of accusation, that you are trying to split up a nation. Indeed the pro-British Northern Irish call themselves the "unionists", the very word the direct opposite meaning to "split".

The naming of the region as "autonomous" is also historical and unrelated to the current surveillance and oppression (which is appalling) but to say this in your second paragraph makes it sound like there is some conspiratorial connection. The region in fact does have more legal autonomy than the other provinces of China.

</comment><comment><USER22> Now the Notepad++ website seems to be down. [https://www.isitdownrightnow.com/notepad-plus- plus.org.html](https://www.isitdownrightnow.com/notepad-plus-plus.org.html)

<comment><USER32> Confirmed from NZ.

Now the question is, state or privately backed DDoS?

The third option is that they took it down themselves due to a different kind of abuse, i.e. a report form or something.

<comment><USER19> CloudFlare is handling it now, so doesn't seem to be too severe.

</comment></comment></comment><comment><USER32> Seems as though GitHub are now responding to this...

Just received a response from GitHub support (I removed their name):

> #### (GitHub Developer Support)

>

> Oct 30, 10:38 AM UTC

>

> Hello,

>

> Thanks for taking the time to let us know. Our team is currently

> investigating the account in question.

>

> Please let us know if we can help in any other way!

>

> Thanks,

> ####

</comment><comment><USER33> Reporting the accounts to GitHub results in this:

"We've received too many requests from your IP address recently. Please wait a few minutes, then try again."

<comment><USER25> I get this after successfully reporting just one troll. The threshold seems to be quite low for GitHub's abuse filters. Unfortunately, that means you can't report a group of bad actors easily unless GitHub moderators with access to the anti-abuse tools start reporting or banning them themselves.

</comment></comment><comment><USER34> Good that they take a stand, more should dare to do that. I did see this as a good enough reason to make a donation to Notepad++, and added the comment "Supporting the Notepad++ v7.8.1: Free Uyghur release".

<comment><USER5> Here you go:

[https://notepad-plus-plus.org/donate/](https://notepad-plus-plus.org/donate/)

</comment></comment><comment><USER35> I can read Chinese and it looks to me that both sides are attacking the other side. And most are using simplified Chinese so they are all from the mainland. I'm not surprised because just as Americans have heavily polarized opinions towards Trump, Chinese people, especially the educated, also have a huge divide in their political views. You don't see that in Chinese websites because they know what not to say there, but on GitHub, a foreign website without a high risk of being blocked, both sides just unleash hell on anyone who they do not agree with.

<comment><USER36> Thanks! I thought all those comments were one sided. Interesting!

</comment></comment><comment><USER37> So is Github going to ban all of these accounts of chinese devs spreading their nationalistic nonsense? I know they've handed out bans for much less in the past.

Many of these accounts seem to be very active outside of the Notepad++ repo.

<comment><USER24> I must say that I've only now realised that there is no "report abuse" button on github.

Regardless of politics and Chinese propaganda, hurling insults at someone on Github should be reason enough for action against their account. You can say that the news media is lying and all that, that's just daily grind for most English-themed media as well now, but yelling "fuck you" and "wishing a rotten vagina" upon people is not something that should ever be tolerated.

<comment><USER33> There is. It's on the user profile page.

It really should be on each comment and issue the user has created.

<comment><USER24> Ah, thank you. Reporting specific comments would make a lot more sense, but I guess github isn't expecting people to use issue trackers as conversation battlegrounds.

<comment><USER38> You can report issues, pull requests, etc., but only if you have write permissions to the repository.

[https://help.github.com/en/github/building-a-strong- communit...](https://help.github.com/en/github/building-a-strong- community/reporting-abuse-or-spam#reporting-an-issue-or-pull-request)

</comment></comment></comment></comment></comment><comment><USER39> the site isn't blocked in China yet. Don't see proclamations like that often here without a VPN.

</comment><comment><USER40> Related: [https://notepad-plus-plus.org/news/v781-free-uyghur- edition/](https://notepad-plus-plus.org/news/v781-free-uyghur-edition/)

<comment><USER41> Site was relatively slow to load for me, so an archive.org mirror just in case: [https://web.archive.org/web/20191030003924/https://notepad-p...](https://web.archive.org/web/20191030003924/https://notepad- plus-plus.org/news/v781-free-uyghur-edition/)

Edit: wow, downvotes appeared pretty quickly. Hopefully this whole post becomes training for detecting malicious behavior.

</comment></comment><comment><USER42> I made a remark about the author(s) of Notepad++ naming his release "Free Uyghur", quite unpopular I would say, I meant it to be like that, I told him/them that Uyghurs are just a ethnic group of China, not a nation, etc... But in this case , bloating someone's project for political reason's is just plain wrong, is awful. Github should have something in place to protect open source projects against something like this.

<comment><USER26> _> Github should have something in place to protect open source projects against something like this._

Github should have something in place to protect projects from their copyright owners?

<comment><USER30> "bloating someone's project" i. e. spamming. The person you're replying to seems to have a nuanced view on the issue.

</comment></comment></comment><comment><USER43> I take this opportunity to remind us that Notepad++ used to have a backdoor.

<comment><USER25> Please don't post such claims without a source to back them up. It's trolling.

Notepad++ (and many other Windows executables) was found vulnerable to loading a hacked DLL dependency on a compromised Windows system. Notepad++ itself contained no backdoor as far as I can tell.

This issue is explained here, as well as the actions taken to prevent it from happening again:

[https://community.notepad-plus- plus.org/topic/13415/v7-3-3-f...](https://community.notepad-plus- plus.org/topic/13415/v7-3-3-fix-cia-hacking-notepad-issue)

<comment><USER37> >was found vulnerable

That is stretching the definition.

A privileged local attacker could (and can) modify Notepad++ and any other software, that is not a vulnerability or issue of any kind.

</comment></comment></comment><comment><USER44> Haha..You need to go there and see for yourself if Uyghur or Tibetan people are oppressed by the communist party instead of seeking news from western media, which we all know are very much biased and anti China...no one likes to be represented by a stranger from a foreign country who has no first hand knowledge about the issue..

</comment><comment><USER45> It's astounding how well insidious daily propaganda works.

I'm sure these guys mean well but they've been manipulated as much as the 'other side' has been.

Edit:

What news are reported and how they are reported in not random [1]. There has very clearly been a campaign against China and this shows that it is working.

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

<comment><USER46> Could you tell what "insidious daily propaganda" you have obeserved and how about sides are equally manipulated?

<comment><USER47> This commentary by Jimmy Dore is a fairly good commentary on what it looks like. [https://youtu.be/aT7WEkvCWeM](https://youtu.be/aT7WEkvCWeM)</comment></comment></comment>


Show HN: WhyPrivacyMatters, a crowdsourced list of reasons why privacy matters - <AUTHOR> https://whyprivacymatters.org <comment><AUTHOR> This is a project I launched somewhat recently. It's all crowdsourced and has been translated into 14 other languages. Licensed under CC.

Any and all feedback is appreciated, as are language contributions and item suggestions.

Hopefully this tool will come in handy the next time someone says they have 'nothing to hide.'

</comment><comment><USER2> It would be nice if the site was usable with privacy tools, such as Tor, without being Cloudflare-banned.</comment>


The smart way to connect with nature - <AUTHOR> https://www.kickstarter.com/projects/gynapse/planty-the-smart-way-to-connect-with-nature?ref=video

<comment> d-equivalence I would say this would be the "smart way" to "disconnect from nature".

My idea of connecting with Nature is with your senses and your body, not by tapping into some mobile app to water a wifi plant pot. When you reduce your transaction with a living thing to just notifications and tapping glass, you effectively disconnect yourself from it and all the positive benefits it can give you.

It ends up as something virtual, like your servers, that push annoying notifications on your phone, instead of a living reality that you need to know how to take care and nurture it by your own hands.

I'm not against automation in agriculture. I love geeking out with hydroponics and arduino as the next person. But mass-production farms and having a plant on your desk are two different realities.

</comment><comment><USER2> Not as feature-rich, but way cheaper:

[http://www.instructables.com/id/Self-watering-recycled- plant...](http://www.instructables.com/id/Self-watering-recycled-plant-pot- for-growing-herbs/)</comment>


The Hidden Dangers of Beautiful Themes - <AUTHOR> http://www.g33klaw.com/2012/04/the-hidden-dangers-of-beautiful-themes/

<comment><USER2> I often criticize the wordpress ecosystem and mention the above as one of the reasons. Even recently a buddy of mine whined about the performance of his wp page, I've took a look at it and damn... the firebug network chart was one of the crappiest I've seen in my life. Literally dozens of request for images and css files, huge part of which raised 404, about 3 versions of jquery loaded locally thanks to plugins, and so on. What a mess.

Always some enthusiasts argue me, while some others say the mentioned 'oh, just cache it'. Some time ago there was also the post about the first page of google results on 'wordpress free themes' proving that most of it had malware. People (mainly amateurs) should understand that while wordpress (love it or hate it, there are lots of reasons) is legit, the whole ecosystem of themes and plugins is by many means occupied by amateurs who can set up a php website and some html but don't know crap about performance and/or security, and also spammers and other devs with malicious intentions. Use wp, but be aware of that and be careful what you're doing when installing third-party extensions.

</comment><comment><USER3> W3 Total Cache plugin for Wordpress will combine all CSS and Javascript files into two requests, you can also use something like NGINX, or even better a proper CDN, for serving static resources.

<comment><AUTHOR> Thank you - that was an excellent suggestion. I didn't know about this plugin. For sure, one needs to make sure the theme / site is efficiently designed, but this plugin is exceptional. It pretty much does everything I've done by hand on Rails projects.

<comment><USER4> Rails 3 has an asset pipeline that does the same thing as that W3 plugin: gathers js/css assets in one file each by default. I can't emphasize enough the "by default" part. It's a very nice default.

</comment></comment></comment><comment><USER5> This sounds more like "The Hidden Dangers of Having Apache Configured to Use More Memory Than I Have Installed".

It looks like the new theme caused each mod_php process to increase some amount, and that wasn't taken into consideration. Once the requests started piling up Apache started swapping, killing the server.

W3 Total Cache could've been installed to serve up cached static files direct from Apache, without spinning up PHP. All of the images could've been off loaded to cloud front or S3 or any other supported CDN to relieve that stress and W3 Total Cache also has a feature to combine all of your CSS and JS files into 1 to cut down on those requests as well.

You're running on a VPS, you should have some idea of how the system is setup and how memory is used. You've taken the time to setup the VPS and your rails apps, take 5 minutes to properly setup Apache and WordPress caching.

</comment><comment><USER6> After switching to Rails it's things like this I find quite amazing that people still have issues with.

Rails does so much good stuff "for free", such as when deploying to production it combines all static files (css/js) into one file automatically and also minifies it. That means your 15 external http requests get reduced down to 1 or 2 tiny ones.

I'm not saying Rails and Wordpress perform the same job - they don't, but I do find it amazing that other frameworks / engines don't adopt such obvious best practices like the one example I've given.

</comment><comment><USER7> Serve the static files from something that can handle it, sticking nginx in front of apache as a reverse proxy works well here and will both catch whole pages (once configured for it) and serve all those pesky CSS, js and image files directly so apache doesn't have to.

Letting the php app server (apache in most wordpress cases) handle things it shouldnt is the real issue here, everytime apache has to serve a static file, that worker process can't render or even serve cached pages.

</comment><comment><USER8> Why have requests for assets like CSS and images go directly to your blog? Setting up cloudfront only takes about five minutes to do.

<comment><AUTHOR> I think that when the software itself is creating 47 http requests per visit, that's the thing that needs to be fixed. 36 of the requests are for images; an automatic optimizer can't help that.

</comment></comment><comment><USER9> I spent the passed weekend moving my blog off Wordpress to Octopress mostly for performance reasons. Wordpress has become a fantastic feature-loaded CMS. But a blog really doesn't need much of the functionality nor complexity that comes along with it. There's something beautiful and simple about blogging in static HTML.

</comment><comment><USER10> This has less to do with "hidden dangers of beautiful themes" as much as it has to do with understanding basics of page loading. HTTP request overhead is well known as a major cause of strain. Most blogs, frameworks, CMSes, etc have decent modules for compressing and caching these resources. It's more friendly for your users, your server. Best of all, they're super easy to use, like, for this sort of thing, incredibly, incredibly easy to use.

<comment><AUTHOR> Well, the thing I see is that even a person who's only reasonably technically savvy cannot just install Wordpress with an officially featured theme and have it work. In fact, doing so may kill your server.</comment></comment>


Building a personal OS – looking for team mates - <AUTHOR> http://www.cwesley.co

<comment><AUTHOR> I'm building a personal OS that manages your life by redesigning your mobile home screen.

You can view a demo at www.cwesley.co/#video.

If you are interested in joining the team and want to get in on the ground floor, shoot me a message at firstname.lastname@example.com.

Thanks! - Wesley</comment>


Google open-sources JsAction, a JavaScript event delegation library - <AUTHOR> https://github.com/google/jsaction

<comment><USER2> So this (with specialized lib, and fairly large unintuitive js code to set whole thing up):

is pretty much the same as this:

without any abusing or manipulating of html and dom and with setup as simple and understandable as this:

            window.Actions = {
                leftNav: {
                    clickAction: function() {
                        myApp.LeftNav.doSomeSeriousStuff();
                    },
                    doubleClickAction: function() {
                        // very late loading of implementation
                        require("LeftNavActions", function(LeftNavActions) {
                            LeftNavActions.doSomeOtherSeriousStuff();
                        })
                    },
                    // if you want add handlers from other places
                    // with Actions.leftNav._anotherAction.push()
                    _anotherAction: [],
                    anotherAction: function() {
                        this._anotherAction.forEach(function(a) { a(); });
                    }

                }
            }

Actions is a good idea that I remember from Delphi 4. It is just one additional layer of indirection that enables you to attach same behavior for example to menu option and toolbar button.

<comment><USER3> I like the syntax, but it bugs me that the behaviour goes into the HTML. I really like keeping my event mapping in the javascript so I keep a clean separation between structure in the HTML and behaviour in the JS.

<comment><USER4> I don't know. I think the one of the best things about Angular for example is that you often see straight away what's happening because of it's declarative nature. With normal event handlers you don't know what's going on until you specifically search for the id/class/tag in all the JS files.

<comment><USER5> In that case, it's good to have some conventions but I agree that it takes a very small amount of carelessness for maintenance to become a PITA. I think using reactive templates which associate with a model is better than declaring every reaction on the DOM level though.

</comment></comment></comment></comment><comment><USER6> The API could use some work. To implement the simplest example, I need to remember patterns like:

> eventContract.dispatchTo(goog.bind(dispatcher.dispatch, dispatcher));

imho, there's a problem if you need to dust off your gang of four book to understand the API. Might as well include an AbstractSingletonProxyFactoryBean.

<comment><USER7> The API could certainly use some work, and it's worse than you mention. If it were just a matter of applying widely-known Gang of Four patterns it would be fine. All over the place it looks like the designer didn't realize there's a built-in Function.prototype.bind.

<comment><USER8> In IE8 and FF3.6, there isn't. If you believe netmarketshare.com, that's 20% of users right there.

<comment><USER9> If you are not relying on edge case behaviour of Function.prototype.bind, including the polyfill here should be enough: [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Compatibility)

</comment></comment></comment></comment><comment><USER10> I like they are putting this on Github instead of (or on top of) Google Code

<comment><USER11> Google code could have been great.But the UX sucks so much and has never been updated.

Github is successfull because of git AND its good clean UX.

Google code feels like developpers were in charge of the UX. It's a UX disaster and will be retired sooner or later.

<comment><USER12> it's a shame TBH, Google Code could have a lot of potential, if only because Google as a company is chock full of developers. Maybe not as much UX designers though.

</comment></comment></comment><comment><USER13> This seems pretty complicated and not so simple. Someone else asked, "How is this better than Backbone?" Backbone is (a lot) more than just an event lib. A better question would be, "How is this better than OnOff?" (which is basically the equivalent of the events part of Backbone):

[https://github.com/LiftoffSoftware/OnOff](https://github.com/LiftoffSoftware/OnOff)

<comment><USER14> How is OnOff better than just the standard EventEmitter?

<comment><USER13> You mean Node.js's EventEmitter? That's not built into JavaScript (i.e. not a "standard").

Anyway, OnOff is better because:

1\. It's smaller. 2\. It's simpler/less complicated.

Also, it doesn't need a noConflict option due to the way it gets instantiated.

</comment></comment></comment><comment><USER15> Is it just me or is this overly complex for what amounts to declaring an EventEmitter, requiring it where needed, and proxying dom events to that EventEmitter?

</comment><comment><USER2> Yes. Let's reinvent onclick attribute. What's with the recent trend of putting logic and visual configuration back into xmllish html clutter where you can't see it among the </>=" and meaningless words like div, span, class? Did people forget how much of a good idea was binding stuff to html from far away, from js and css files?

Did new programmers evolved some new protein that prevents their eyes from bleeding when they try to find bits of actual meaning in xml files?

<comment><USER16> Having actions tied to the object declaratively is a paradigm that javascript frameworks have been moving towards, rather than away from, for the past few years.

When managing a complex, JS-heavy application, it is infinitely more developer friendly to be able to look at an element and figure out what the lifecycle of that object might look like. Instead of digging through javascript (especially jquery heavy code with the possibility of obscured references) where there's no real logic behind when or where an object might be modified, you restrict it to the most basic element possible - the HTML declaration.

So yes, let's please reinvent HTML :-)

<comment><USER2> > When managing a complex, JS-heavy application, it is infinitely more > developer friendly to be able to look at an element and figure out what the > lifecycle of that object might look like.

Except that what you see in your html is not your element. It's just a forced structure required by w3c (described with xml syntax) for some aspects of visual representation of your element.

Your element should be described in js where it can be fairly easily separated out to a single file, and where binding configuration (as well as other concerns such as communication with backend or other app components for example) might be in one place instead of being interspersed with html tags unrelated to that behavior. See how backbone does event binding in views to understand what I'm talking about.

> So yes, let's please reinvent HTML

HTML is not so much an invention as result of glacial (or w3c-ish in other words) process of semi-(mis)directed evolution.

I'm guessing you never had to implement a layout using tables and 1px transparent gifs. I encourage you to try. It might make you understand how rigid and misaligned with the goal HTML in its spirit is. It got some improvements over the years but there was nothing revolutionary in its development even for fairly mild definitions of "revolutionary". Flexbox might become one such mini-revolution when few generations of IE do world a favor and die already.

JavaScript is far from being perfect and you can make a horrible mess of it as well, but at least it's general purpose language that supports various mechanisms for abstracting and organizing things and fairly minimalist syntax (as compared to xml, html) for declaring/organizing things that got wide appreciation as JSON.

<comment><USER16> Javascript, in a browser, exists to manipulate the document. If your opinion is that decoupling the elements of that document from the actions that might happen as a result of interacting with that element then so be it, but I couldn't disagree more. Even if it allows them to live in a "nicer" language (JS vs HTML), I'd rather everything be declared up front.

Reading someone else's Backbone code (as compared to Angular or Ember) is really, really not fun for me. YMMV though. Luckily for me, most modern JS frameworks are similarly opinionated.

<comment><USER2> > I'd rather everything be declared up front.

I'm all for declaring up front, just not in html.

> Reading someone else's Backbone code (as compared to Angular or Ember) is > really, really not fun for me.

Backbone is far from what I consider good readability. If encourages bad habits by not providing templating and sort of encouraging use of jQuery for dom modification. Binding events to backbone view is what I consider good readability.

<comment><USER16> Finally, we can both agree that jquery dom manipulation is a great way to find yourself in a mess of unmaintainable code.

If you're a fan of backbone views though - why not React? IMO it's very similar to backbone but with sane structure and an incredibly powerful render loop.

<comment><USER2> I haven't paid much attention to React before reading this [http://jlongster.com/Removing-User-Interface- Complexity,-or-...](http://jlongster.com/Removing-User-Interface- Complexity,-or-Why-React-is-Awesome)

Now I think the idea is awesome and architecture that arises from it might be very good. But this idea assumes that DOM manipulation is fast enough to do every render frame and I do not trust yet the caching magic that React.js conjures to ameliorate the fact that it actually isn't.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Is it just me, or does this not seem "tiny" at all? It seems to require a bunch of Closure modules, and on top of that the source itself is hundreds of lines (albeit with comments).

Nitpicking aside, it looks like an interesting approach to decoupling the DOM from your event handlers. Personally I'm happy sticking with the standard on{event} attributes for really simple stuff.

<comment><USER18> The Closure advanced compiler can reduce the size significantly ([https://developers.google.com/closure/compiler/docs/compilat...](https://developers.google.com/closure/compiler/docs/compilation_levels)).

</comment></comment><comment><USER19> This seems similar to a module I wrote called [html-delegator][1].

The separation of thing that emits named event and listener is a good idea.

I Actually moved away from the HTML attribute DSL and started putting named events in my virtual dom instead (using [mercury][2])

The important part of this approach that is not shown in js action is to ensure you emit data structures instead of dom event objects to the listeners.

      [1]: https://github.com/Raynos/html-delegator/blob/master/README.md
      [2]: https://github.com/Raynos/mercury

</comment><comment><USER20> How does this compare with RX.js where they use the Observable setup to work with collections of events? Like that Netflix talk that was up here last week?

</comment><comment><USER21> This looks very similar to the concept of "sigils" in Javelin: [https://secure.phabricator.com/book/javelin/article/sigils_m...](https://secure.phabricator.com/book/javelin/article/sigils_metadata/)

</comment><comment><USER22> Interesting. This might have come from the Google+ development team, as this and something called "jsmodel" are part of that product. You can see traces of both of these in the DOM of plus.google.com

<comment><USER23> Actually you can also see traces of the jsaction attribute in the G+ product. G+ isn't using this from the group up though. It has a pretty long history at Google, so I'm not even sure where it came from. Should have been either Maps or Search.

<comment><USER24> It started in maps. At the time IE had some issues with memory leaks when dom elements with an event listener attached were deleted. This allowed them to have just one listener for the page.

</comment></comment></comment><comment><USER25> Seems like this has to be "compiled" with clojure compiler. I'm not very familiar with this. Can someone provide some rough instructions to actually get the "compiled" library?

<comment><USER18> The Google _Closure_ compiler [1] (not Clojure); however, this is easy to mix up since ClojureScript [2] is built on Google Closure and uses the Google Closure compiler.

[1] [https://developers.google.com/closure/compiler/docs/compilat...](https://developers.google.com/closure/compiler/docs/compilation_levels)

[2] [https://github.com/clojure/clojurescript](https://github.com/clojure/clojurescript)

</comment></comment><comment><USER26> Why is this better than something like backbone, for instance?

<comment><USER27> JsAction provides a subset of the functionality provided by Backbone. In terms of how the two handle event delegation, in JsAction, the events are defined in the DOM. With Backbone, you typically define the events in the view which should process them. It's open for debate which is better.

<comment><USER2> > It's open for debate which is better.

Which is same debate as between onclick and addEventListener only with slightly less verbose syntax on both sides of the debate and some implicit scoping that makes it possible.

<comment><USER23> Not a zero sum game though (although I do realize this is hackernews :). addEventListener is sometimes strictly better than using jsaction. i.e. it supports removing event listeners. That is fine. Right tool for the job.

onclick-like functionality is coming back to frameworks. Angular and Polymer both have variations of what jsaction provides as a single-purpose library. It is sometimes just much nicer to bind stuff together directly.

<comment><USER2> > onclick-like functionality is coming back to frameworks. Yes. I've noticed > and as you might have guessed I'm equally deeply astonished and saddened.

> It is sometimes just much nicer to bind stuff together directly. Yes. It's > so much nicer to have your hammer at your desk than to go to a cabinet to > fetch it when you need it. But if you own bunch of tools and do various task > at your desk it's either cabinet or a pile on you desk that at some point > prevents you from making any progress on your projects.

Things should be kept separated out and organised by concern. If they are brought together it is either for convenience or speed. Both perfectly valid reasons so the separation is never strict but should be viewed as exception not as a rule. If you don't watch yourself you might end up with oscommerce PHP source files where everything is together because it's so much nicer to bind stuff directly.</comment></comment></comment></comment></comment>


Ask HN: High CRI COB LED - <AUTHOR>

Hi HN, I want to make continuous LED light for video production. For this I need to lay my hands on a High CRI (90+), high wattage LED with 5600K color temperature. Any suggestions? Thanks <comment><USER2> Not to be flip, but what does Google say? I found this, fwiw: [http://en.wikipedia.org/wiki/High_CRI_LED_Lighting](http://en.wikipedia.org/wiki/High_CRI_LED_Lighting)</comment>


SSDs Make a Lot of Difference - <AUTHOR> https://medium.com/what-i-learned-today/429a3b7fa676

<comment><USER2> I've been thinking about getting an external SSD to install Fedora on, and this post has convinced me to do it. Any suggestions for brands/models? Also is anyone else really impressed by the design on this blog? So clean, so pretty.

</comment><comment><USER3> Yes, it is by far the biggest bang for you buck upgrade you can do to a PC or laptop.</comment>


Streaming video could be saddled with a new patent licensing cost - <AUTHOR> https://www.cnet.com/news/patent-group-wants-a-new-toll-on-the-streaming-video-road/ <comment><USER2> Patent trolls are a malignant tumor that should be excised. They look for juicy targets and then run their usual playbook, disgustingly.

The fact that a codec like AV1 which was designed to not step on any of these BS generic patents, still gets hammered just goes to show how backwards our patent office and associated judicial system is...

If a large conglomerate of FANG and Mozilla can spend all this effort on a patent-free codec and still get trolled, what hope is there for us small businesses?</comment>


Time.is - <AUTHOR> http://time.is/ <comment><USER2> I like Time.gov, personally; it was the first site I ever found around this concept and so it has a soft spot.

I keep finding all my physical atomic clock synced clocks (yes, I have more than one, they are cheap these days) disagreeing, sometimes by 2 seconds or more, which makes me laugh (great ideas ruined by poor implementation). I find many of the web sites (listed in comments or the original post) to also differ, perhaps for similar reasons of implementation choices.

I would presume all the sites work off various implementations of NTP, <http://www.ntp.org/> plus some trusted source.

I guess my question is: has anyone found a site which is really, really accurate by reducing all the latency and lag, so what you see on the screen really is, to whatever precision, accurate? And would said person have access to a really good source for the comparison point? I don't seem to have one. Yes, I should have stopped at 3 so that I could pick the 2 closest ones (like the old saying: 1 clock is unsure, 2 clocks are worse, but 3 at least lets you make a decision)

I wonder, would you need to have NTP on the client side synced to a trusted source (say, in java, flash, or javascript) to get a good reading? Any server serving over HTTP induces lag, I would think, and NTP is supposed to account for transmission delays, or so I recall.

Thanks for sharing, another interesting time site to add to the collection.

<comment><USER3> When I was a kid, my dad would always set our clocks by tuning the radio to one of the atomic clock broadcasts from Fort Collins. This might be the same source as your automatically synchronized clocks, but the advantage is that it's human-listenable, and not going through any computer networks or algorithms between Colorado and you.

[https://en.wikipedia.org/wiki/Radio_clock#List_of_radio_time...](https://en.wikipedia.org/wiki/Radio_clock#List_of_radio_time_signal_stations)

<comment><USER4> "The advantage is that it's human-listenable, and not going through any computer networks or algorithms between Colorado and you." That is an advantage?

The Fort Collins signal is awful in the northeast. If you want to deal with the disadvantages of not using advanced computer algorithms to govern your clock i would recommend the USNO's phone service:

Time Voice Announcer, Washington, DC: 202-762-1401 & 202-762-1069 (DSN 762-1401, 762-1069)

Time Voice Announcer, Colorado Springs, CO: 719-567-6742 (DSN 560-6742)

</comment></comment></comment><comment><USER4> A lot of people are making disparaging comments about the acccuracy of the site's time estimation with little or no explanation/data. All things considered (three samples to estimate clock deltas and network delay) the time estimation is fairly accurate.

time.is reports my clock is:

      -0.004 seconds (±0.021 seconds).

I have a stratum one time source on the local network (gps+pps) and my ntptime agrees with the time.is estimation:

      dfc@bushido:~$ ntptime
      ntp_gettime() returns code 0 (OK)
        time d3077752.4160a634  Sun, Mar 11 2012 15:11:14.255, (.255381196),
        maximum error 260579 us, estimated error 3294 us, TAI offset 34
      ntp_adjtime() returns code 0 (OK)
        modes 0x0 (),
        offset -4842.630 us, frequency 8.446 ppm, interval 1 s,
        maximum error 260579 us, estimated error 3294 us,
        status 0x6001 (PLL,NANO,MODE),
        time constant 10, precision 0.001 us, tolerance 500 ppm,

_NB: this is my laptop. so powersaving, heat fluctuations are adding a decent amount of uncertainty from a metrological standpoint._

</comment><comment><USER5> I'm wondering how atomic clocks in general get set in the first place. Did, at some point, scientists calculate when the sun was exactly overhead Greenwich and call that noon? Because I would think that that calculation would have a multi-second error, so setting your clock to the second would be pointless.

Or maybe there is no such thing as "actual physical time" and there is only what people have agreed to call the standard. But in that case why do time sources, such as time.gov and time.windows.com, still give different times? I would think Microsoft would have fixed any bugs in their NTP implementation by now, so it's not that. If it's just politics about nobody wanting to move to someone else's time, then there's no way to tell which source is the real standard, so your most practical choice is to synchronize your clock to the times you deal with. That is, set your clock to your clock at work, or an average of your friends clocks, or whatever source they get their time from. I don't mind the existence of central time sources, because they are better than having to go out and find someone else's clock, but they shouldn't call themselves official if they aren't actually official.

So, does anybody know how the starting time for central time sources is chosen, and if any source is worthy of being called "the real time"?

<comment><USER6> Well… it's an arbitrary standard. We just call a day one full rotation of the earth, and we just happen to divide it into 24hr periods with 60 subdivisions.

Theoretically, you could measure the rotation of the earth and call that a day, but I have no idea how you would measure that down to the millisecond.

As to "Real Time", I don't know about the specific legalities, but the standard goes as follows: everyone uses UTC <http://en.wikipedia.org/wiki/Coordinated_Universal_Time> which is based off the International Atomic Time <http://en.wikipedia.org/wiki/International_Atomic_Time>

I too would be interested in how they picked the beginning epoch, i.e. "this moment right here is midnight from which all other seconds shall be referenced against" but in the grand scheme of things it doesn't matter - the only thing that matters is the standard we agreed to measure against.

<comment><USER4> _"Theoretically, you could measure the rotation of the earth and call that a day"_

This is not theoretical; this is known as sidereal time and is measured to the nanosecond...

<http://en.wikipedia.org/wiki/Sidereal_time>

<comment><USER7> Except that "…due to nutation, an actual sidereal day is not quite so constant."

Yeah. Nutation.

Nutation "…is a rocking, swaying, or nodding motion in the axis of rotation of a largely axially symmetric object, such as a gyroscope, planet, or bullet in flight…"

<http://en.wikipedia.org/wiki/Nutation>

</comment></comment></comment></comment><comment><USER8> Exactly what I needed.

For the last few weeks, I've been trying to increase my productivity by getting rid of time tracking. So I decided to hide my computer's clock.

Sometimes, like when I have an appointment, I still need to check what time it is. Googling "time" doesn't always work (I don't know why exactly). So I bookmarked this site [1] but the information density is so high that I need to scan the page in order to get the time.

Time.is works quite well, with useful customization options, though it still carries bits of useless information (like the time zones at the bottom). But the time's font size is big enough to trigger instant focus.

UPDATE: as guptaneil pointed out, clicking the time (or navigating to <http://time.is/just>) removes all the clutter. Thanks for the tip.

[1] <http://www.timeanddate.com/worldclock/city.html?n=328>

<comment><USER9> Accidentally found this, but tap the time to make the rest of the page fade away. Or go to <http://time.is/just>

<comment><USER10> When i click on the time the google +1 button doesnt go away. Anyone else?

Firefox latest.

<comment><USER11> Same here on Chrome. I would bet it's related to a unique feature of the Google+ button: it shows your Google account info on hover.

</comment></comment></comment></comment><comment><USER12> Shows incorrect time for Chile. DST isn't until April 28th. [http://www.timeanddate.com/news/time/chile-longer- dst-2012.h...](http://www.timeanddate.com/news/time/chile-longer- dst-2012.html)

<comment><USER13> It means that they didn't apply the latest tzdata2012a or b update released the first week of March which contained the America/Santiago zone change.

<comment><USER6> Time is a surprisingly difficult subject to get right.

<comment><USER13> Governments are free to change timezone rules at will with no real advance notice. Case-in-point, tzdata2012b was just published a few days ago and already on the tz mailing list Morocco's DST date is changing and Haiti apparently changed as well.

The problem is exacerbated by the fact that most systems rely on OS tzdata instead of shipping it themselves, yet in many places the administration of the OS is separated / walled off from the devs who maintain the apps which actually suffer from the bugs.

I feel bad for users who live in countries whose governments play with DST law on a whim, because they are certainly destined to encounter bugs throughout the Internet because it isn't always reasonable to ask all administrators around the globe to patch all production systems in a matter of a few days.

</comment></comment></comment></comment><comment><USER14> Nice job on this. I usually use <http://everytimezone.com> but I like how I can configure this with the zones that matter to me. It would be nice if I could easily use my favorites when doing the Here -> There comparison.

</comment><comment><USER15> OP, what does this line do?

        if (wn == 1) pwn = '1-ին շաբաթ';

It looked like something related to week number; looks interesting.

<comment><USER16> In a fuller context:

        if(p_wn=='hy'){if(wn==1)pwn='1-ին շաբաթ';else pwn=wn+'-րդ շաբաթ'}

So if the locale is "hy" (Armenian), and the week number is one, set the string to "1st week", else set the string to "#th week" (both in Armenian).

Unlike English, which also has exceptions for "2nd" and "3rd", Armenian only uses a different suffix for "1st".

</comment></comment><comment><USER17> I really like <http://worldtimebuddy.com/> as it allows you to see time zone differences without the need to calculate it yourself.

<comment><USER18> It does not do clock sync/accuracy determination. _Time.is_ is rather unique that way. However, I'm skeptical over the importance of that feature.

disclosure: worldtimebuddy founder.

</comment></comment><comment><USER19> I like it a lot. Easy to remember URL. However the services offered are not so good.

At least there is no RFC 867 and RFC 868 date on port 37 and port 13.

This is deprecated, I know, but rdate is still the easiest way to fix the date on a system which do not require precision. I did run my own minimal daemon on my DSL modem for the various gizmos I have that include busybox (thus rdate) and where recompiling to get a ntp would be overkill. (the right day and the right hour are more than enough)

time.nist.gov removed RFC 867 (port 13) and 868 (port 27) support. time- nw.nist.gov kept it a bit longer, then I used by DSL modem, which went in RMA and so guylhem.org is also down.

I'll try to email the author and offer to give a hand.

<comment><USER4> rdate is awful that is why NIST killed it. If you want a fire and forget time check:

      sntp pool.ntp.org

<comment><USER19> I know rdate is awful but when that's all you have and don't feel like crosscompiling for a device which does not even requires a minute of precision, it does the job.

Technical excellence is not always required, and having more choices usually is a good idea.

</comment></comment></comment><comment><USER20> I still like this one instead: <http://everytimezone.com/>

</comment><comment><USER21> Reminds me of the radio clock that I have in the bathroom.

It is labeled "DCF signal - precision time", yet is off by hours most of the time (jumps randomly).

I keep it for the entertainment value. Guests always have a good chuckle when they enter the bathroom at 16:41 and leave it at 23:41.

</comment><comment><USER22> The handling of internationalization is surprisingly good. Texts, including town names, are almost all shown in the preferred language, and the size variations introduced by the translations are well handled.

</comment><comment><USER23> I would still prefer to have the option to select the timezone. Sometimes I want to attend some workshops that announce the time in one of the US timezones and its always difficult to do the conversion.

<comment><USER24> What would be ideal in this case is a browser add-on or a bookmarklet that enables dynamic conversion.

The add-on would be simpler, as a text-select and right click could show the selected time in your own time zone in the right-click menu.

It's something I've missed every single time some press conference or event is announced, and it just says 12:00 EST.

</comment></comment><comment><USER25>
        Your clock is 0.2 seconds slow.
        Accuracy of synchronization was ±0.625 seconds

If the result is within the margin of error, wouldn't it be better to just not tell me at all?

<comment><USER4> I imagine that the author of the page has some scientific background and therefore feels that it is appropriate to publish the margin of error alongside any estimation.

</comment></comment><comment><USER26> It would be good if you could make the title of the tab show the time.

</comment><comment><USER27> Simple, but awesome. About two years ago I had the idea (but never implemented) to try and re-make various since use web tools and calculators using modern web technology. Things like interest/mortgage calculators, voltage drop calculators, difference between two dates, etc.

So many of them like Time.gov rely on stuff like Flash or Java, or 1998 style Javascript, which I don't really dig. Definitely a nice little hole there for making something cool.

</comment><comment><USER28> Another very nice web for timezones is <http://tmzns.com>.

</comment><comment><USER29> The clock display is nice but not a killer for me. Here&There time comparison in different time zones is the best I have seen. Full page calendar with multiple months is very simple but works great for me. This is becomes my favorite site for time/date related stuff.

</comment><comment><USER30> Very nice!

My little Ubuntu machine is -0.018 seconds (±0.009 seconds).

My MBP is -0.012 seconds (±0.021 seconds).

I recommend you add a percentile score of exactness, along with breakdowns based on platform, and suggestions about what to do if the percentile is disappointing.

</comment><comment><USER31> I am seeing roughly +/- 0.1s accuracy range on my browser. Can someone please enlighten me on why we cannot reduce this further? I assume this page has <100ms response time, can't they get to a better accuracy range?

</comment><comment><USER32> I've always been fond of the official navy.mil time site. It's an ascii lovers paradise: <http://tycho.usno.navy.mil/cgi-bin/timer.pl>

</comment><comment><USER33> Reminded me of this (Daylight Savings Time explained): <http://www.youtube.com/watch?v=84aWtseb2-4> Madness!

</comment><comment><USER34> Simple and amazing.

I used a simple shell script to query timezone info to find world time in CLI <https://gist.github.com/2020097>

</comment><comment><USER35> Wow.. that's a new one. Now I have to buy an .is domain.

<comment><USER36> what.is? love.is? it.is?

</comment></comment><comment><USER37> Cool site! QR code on the "About" page is a head-scratcher, though.. <http://time.is/about>

<comment><USER38> The idea is you can scan it with your phone and not have to type the URL in. Not sure how many people actually do that though.

<comment><USER37> A) If you're viewing on your phone, it's mobile optimized B) If you're viewing it on your desktop, why would you want to go to your phone? C) Time.is has to be the _easiest_ URL to enter by hand in a device browser. :D

<comment><USER38> I'm not saying it's very useful, but if you see it on your desktop and want to check it or save it on your phone (to verify the time on your phone/QR-and- web-enabled mobile device, to bookmark it for future reference when on the go, etc), the code might help. I've seen this used better than just on an 'about' page, though.

</comment></comment></comment></comment><comment><USER39> For those alarmed at the offset...

# yum install ntpdate

# ntpdate -u ntp-1.vt.edu

# hwclock -w

"Your time is exact!"

<comment><USER4> ntpdate is dead and is discontinued. Use an actual daemon to govern your time source.

I thought redhat installed ntpd or chrony by default. I know chrony is the default for the next fedora release. If you have ntpd/chronyd installed your advice is horrible and not just because you pointed everyone to Virginia Tech's time server.

<comment><USER39> Thanks : Updated procedure (for Fedora without chronyd/ntpd running already) :

# yum install chrony

# systemctl enable chronyd.service

# systemctl start chronyd.service

Sorry if the (working) pointers before were horrible. Hopefully this is more useful - the servers used are {N}.fedora.pool.ntp.org.

<comment><USER4> chronyd is a lot more mindful of battery/power considerations than ntpd. It is an interesting approach to endpoint time synchronization compared to the ntp reference implementation.

</comment></comment></comment></comment><comment><USER40> Any idea what geolocation method they're using here? It got my city spot-on when usual IP geolocators put me elsewhere.

</comment><comment><USER41> This is exactly what I wanted. I used to google everytime to find time. Not anymore, and it looks cool too.

<comment><USER42> Same, Google just lost a few searches a week from me :)

</comment></comment><comment><USER43> When clicking the time in FF 10.0.2, everything disappears expect the Google +1.

</comment><comment><USER44> Nice, however on my Chrome Mac there's a flash each second with the re-render.

</comment><comment><USER45> Tell me I'm not the first to see the irony of a page full of comments debating ntp, GPS and atomic clocks, while there are two interesting front page stories about the value of ambitious goals.

</comment><comment><USER46> that reminds me - todo: <http://whatsthetime.in/>

</comment><comment><USER47> clever url folks.

<comment><USER47> I wasn't being sarcastic guys. I meant that, it's pretty clever.

<comment><USER48> You weren't downvoted for being sarcastic.

You were downvoted for adding nothing to the discussion.

</comment></comment></comment><comment><USER49> White on black is perfect.

<comment><USER50> I'd prefer the logo to be a bit more subdued over the relaxing black background.

</comment></comment><comment><USER51> This is gorgeous.</comment>


PSPassport: Locations visited while playing PS4 - <AUTHOR> https://www.pspassport.net/ <comment><AUTHOR> View a detailed list of all the places you've visited while playing PS4!</comment>


Giant 3D printer can construct house in as little as 20 hours. - <AUTHOR> http://thenextweb.com/shareables/2012/08/12/this-giant-3d-printer-can-construct-house-little-20-hours/

<comment><USER2> This technology can help realize the dream of people who would otherwise not be able to afford to buy a home.

I really hope this takes off and gains acceptance (as the presenter mentioned many regulatory hurdles) and fast!</comment>


Ask HN: What Language Was Keygen.Sh Wrote In? - <AUTHOR> I saw an interesting project: https://keygen.sh and was wondering what the backend was written in?<p>Any information would be great :) <comment><USER2> Hey, founder here! Marketing site is static HTML/JS, dashboard app is in Ember, and the API itself is written in Rails.

<comment><AUTHOR> Thanks. Admire the site, keep up the good work.

</comment></comment><comment><USER3> Frontend is Ember, backend seems to be Erlang/Elixir as it's served by Cowboy.

<comment><AUTHOR> Thanks for your reply.</comment></comment>


For the BOFH in all of us – Powerful, low status jobs can lead to conflict - <AUTHOR> http://powerful-low-status-jobs-lead-to-conflict <comment><AUTHOR> [https://hbr.org/2016/02/how-powerful-low-status-jobs-lead- to...](https://hbr.org/2016/02/how-powerful-low-status-jobs-lead-to-conflict)</comment>


Time to look beyond Oracle's JDK - <AUTHOR> https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html <comment><USER2> Actually, time to look beyond the whole Java ecosystem.

After the claims Oracle made during the Google trial (such as APIs and method signatures being patent-able), it is clear that one can't work on the Java platform without infringing Oracle's IP. If Oracle doesn't sue you now, it can sue you when it makes financial sense to do so.

.Net looks like a much better alternative, with a patent pledge and ECMA standardization. Although to be fair, Microsoft is still a supporter of patent lobbies.

<comment><USER3> Plenty of JVM vendors are happily selling their own versions, playing by the rules.

[https://en.wikipedia.org/wiki/List_of_Java_virtual_machines#...](https://en.wikipedia.org/wiki/List_of_Java_virtual_machines#Active_2)

Google had the option to buy Sun after helping to their downfall, they have chosen not to spend the money to own Java. Now they get to spend on lawyers instead.

<comment><USER4> Can you elaborate on Google helping in Sun's downfall.

I seem to be missing a historical bit there.

<comment><USER5> To be confirmed but I recall that Sun offered to license Java to Google, for usage on Android. Google didn't want to pay a dime or acknowledge that a license a needed.

Long story short, Oracle bought java and it's back to square one, with layers and court this time.

</comment></comment></comment></comment><comment><USER6> Will be interesting once Graal is released. I've found it be at least 30% faster than the existing JDKs around for Scala development. Others have found similar results:

[https://medium.com/graalvm/compiling-scala-faster-with- graal...](https://medium.com/graalvm/compiling-scala-faster-with- graalvm-86c5c0857fa3)

<comment><USER7> Surely it's no coincidence that, as Oracle removes differences between its JDK and OpenJDK, that they are throwing their weight behind this non-community project, with an enterprise version. Between sunsetting community owned Nashorn in favor of Graal solution to giving tools to OpenJDK presumably with fewer of their own maintainers, the resource shift is clear. Not that it's wrong or even nefarious, but devs need to realize who they're getting in to bed with when building a reliance on the tech.

<comment><USER8> Graal is open-source and most projects under its umbrella are [GPL2-with- classpath-exception licensed]([https://github.com/oracle/graal/#license](https://github.com/oracle/graal/#license)). The fact that they also have an Enterprise Edition does not make this a non- community project.

<comment><USER7> Sorry, I meant non-community owned. Mentioned in sibling comment, I use plenty of non-community-owned software, but I avoid wholly Oracle owned software.

<comment><USER9> It's all GPL licensed. How is it not 'community owned'? What is your definition of 'community', exactly?

<comment><USER7> Who makes the decisions and who can change the license and who can sue you for misuse of the software? I don't want to support any Oracle product if I can help it, regardless of license.

<comment><USER10> But the software was already released under GPL2. Even if Oracle changes the license, the community can always fork it from the last open version.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Interesting read.

I think the whole idea of "We need to replace Java with [Insert Language]" is much more complicated topic than just saying "X is free , Java is owned by Oracle".

Even is this is true , Java is by far one of the most performant programming language that exist on earth.

People just don't realize the hundreds of millions of dollars that went into the JVM and the JDK.

Even if they are great alternatives like Go or .NET , they either come with huge limitations in performance or their ecosystem.

Per say , finding JVM developers isn't that hard, regardless of the geography. However , finding Go developers outside of the Bay Area ? Good luck with that.

The issue with Patent on the JVM is well know and there is very little to nothing that we can do about it.

<comment><USER12> Java is better than it used to be but you're significantly overselling performance as a competitive advantage. Many other languages have no trouble producing code which is as fast or faster, and Java is still shaking the culture of excessive complexity which has squandered much of the hard work in the JIT.

The ecosystem is a much better argument since it's certainly massive, as is finding developers, although quality varies wildly in both cases.

<comment> village-idiot More than that, speed is vastly overrated in a lot of cases.

<comment><USER12> True, although that has a way of becoming important after awhile. That's why I prefer to focus on complexity and clarity as it's much harder to make convoluted code when it becomes important.

<comment> village-idiot It's nit picking, but I think a more correct statement would be "lots of small performance mistakes add up over time". It's very rare that I see a project needing a new language for performance reasons, but I see projects that need refactoring for performance all the time.

</comment></comment></comment></comment></comment><comment><USER13> Why would a company pay for "commercial support" of OpenJDK from IBM? I have used Java for 15 years and I don't know what "support" for a JDK would mean.

<comment><USER14> The decision makers are not programmers. The people making the choices on software in an enterprise are MBAs who know next to nothing about software and so they need some "insurance".

Look at the tech founded enterprises, they do not go the tradition enterprise software route. Why? Their leadership came from a developer background and not an MBA one.

<comment><USER15> I don't think it's that simple. As a dev or sysadmin, all it takes is to have resources invested in a legacy system that no one gave money to replace but are ok with maintenance contracts. This easily happens when people leave/get hired.

I have a legacy storage system only accessible through exactly Java 6u31 32-bit on Windows 7, of course I want to replace that but instead it's cheaper to keep and maintain than to replace.

 _edit_ and I think this must be a conscious strategy on the part of any vendor: make maintenance just slightly cheaper than replacement

<comment><USER16> That's the theory. In practice, it is near-impossible to get any enterprise vendor to actually fix something. Either you're lucky and another customer had the problem. Then, after annoying them for about a week, you'll get a patch.

If however you've found something new like a feature that's so buggy it is actually completely defect, you're in for an ordeal of a few months. Simply getting a dev to look at your bug takes a month. In that month, you'll answer every day questions like what OS you're on ('As I told your past 10 colleagues, We see it under red hat linux version X1 X2 X3, and under windows Y1 and Y2, and under HPUX Z. Yes, this is a pristine OS install with a pristine JVM. Yes, our support contract covers this. There is a test case in the bug report, run it on your computer and see yourself'). They'll call you in the middle of the night. Then call you again 12 hours later because you're not allowed to respond to their questions outside business hours so please tell us again and next time read your contract.

If you survive this, and you provide a perfect example source code fragment of 100 lines, and you decompile their own code, point at the bug, and suggest a less insane way to write that code, you'll get a fix. This fix seems to work for up to a day, when you notice your performance is less than a sixt from what it was. Then you notice how they ignored your suggestion, did something even less sane than the original code, and managed to break something else you hadn't even noticed before.

Call again, insist they do not start a new ticket unless you want to redo that original month. A few minutes later they call back and try to sell you six times the hardware you have as a workaround, and promise a 10% price reduction for the first year. Do not swear at any point, this will immediately end the phone call and you'll have to navigate their insane phone menu again and get a new lesson in Indian English from a guy who swears he is speaking your language perfectly right now (which is neither English or anything spoken in India, afaik).

After a few rounds of this, they produce a working patch. You confirm it works and are promptly forbidden to use it ever again. They will provide you 'soon' with an official version of the patch, which has been vetted against their secure development lifecycle, legal team, and god knows what else. Actually applying the current patch so your users stop screaming will end your support contract.

It takes in total a bit more than 3 months before the final patch is delivered. At that point:

1) management congratulates themselves for having bought support.

2) Your colleagues however are in awe about you've got actually managed to get an enterprise vendor th actually fix a bug. Turns out they have tons and tons of bugs and spend their days inventing horrible workarounds as they gave up getting them fixed long ago.

3) Contractors from the enterprise vendor, working on another project in your company will turn the feature off, as they know for sure it can't work. If you claim to have a patch and it is already running on their servers, they refuse to use it and turn the feature off once more. Not using the feature costs a small fortune in network overhead, BTW. If you enable it, the next coontractor entering the building will disable it instantly, even if your config file has this story documented.

Anyway, thats my experience. YMMV.

<comment><USER16> Hey guys, i was a bit frustrated and venting. It scares me to see this post reach 4 points in such a short time. We all feel lik this once in a while, but this particular piece of drivel isnt worth much points. Please spend your points on a more worthwile post ;-)

</comment></comment></comment></comment></comment><comment><USER17> There's really only one, possibly two saviors of Java. Redhat with JBoss/Icedtea, and OpenJDK, which has IBM, Redhat, Oracle and Doug Lea at the top level. I don't see any great examples of building successful open source communities from IBM, but open sourcing OpenJ9 earns them some good will. Short of OpenJDK being adopted by Apache/Mozilla/etc.. (Oracle will let this happen after hell freezes over..) Java really has only one savior.

Redhat is skipping the minor Java versions, so it's Icedtea/OpenJDK build has Java 8, and the next version will have Java 11. This is what I'll be using on Linux.

<comment><USER18> "I don't see any great examples of building successful open source communities from IBM, [...]"

What about Eclipse?

Love it or loathe it, it's certainly been successful.

<comment><USER17> Sure, apart from their attempt to control the Java ecosystem being that old, it doesn't leave me with confidence that they are as committed to open source as Redhat.

This sounds harsh, and I don't mean to be, but only time will tell how OpenJDK/Open J9 fares.

</comment></comment></comment><comment><USER19> So would the Docker OpenJDK containers be equivalent to your distros OpenJDK build?

[https://hub.docker.com/_/openjdk/](https://hub.docker.com/_/openjdk/)

I assume so since they're maintained by the Docker community in the same way Debain or Ubuntu may maintain their package trees.

<comment><USER20> These Docker images use the Debian or Alpine OpenJDK packages.

</comment></comment><comment><USER21> So apart from Java and .NET what other high level languages are there that have gained traction to near the extent of these two?

I must say that Oracle makes me hesitant to want to use Java in anything I'd make in my free time.

<comment><USER22> Go lang... although google is driving that one and it's dependency management is a mess, so pick your poison.

<comment><USER23> Go 1.11 added "modules" support.

[https://golang.org/doc/go1.11#modules](https://golang.org/doc/go1.11#modules)

</comment></comment></comment><comment><USER24> This is great! Competition breeds excellence; I'm glad we're going to have _a lot_ of new distributions.

</comment><comment><USER25> > Note also that certification is currently on a trust-basis - the results are > not submitted to the JCP/Oracle for checking and cannot be made public.

Not public? Why on earth not?

</comment><comment><USER26> But what about supporr for the JRE? Please help a sad IT admin understand what's gonna happen.

<comment><USER3> JRE is on its way out.

Thanks to Java modules, jlinker and packager tool, the idea is that you just distribute everything together.

<comment><USER27> Except on server. JRE on server will still be a thing (at least in forseeable future).

[https://blogs.oracle.com/java-platform- group/understanding-t...](https://blogs.oracle.com/java-platform- group/understanding-the-server-jre)

<comment><USER3> Nothing prevents you to deploy everything together.

We have done it multiple times.

</comment></comment></comment></comment><comment><USER28> I tend to go with the Oracle VM because of the profiler (Java Mission Control). Does OpenJDK now have a credible alternative?

<comment><USER29> They have handed JMC over to OpenJDK and it is open source now.

[http://hg.openjdk.java.net/jmc/jmc/file/31576d187ec3/license...](http://hg.openjdk.java.net/jmc/jmc/file/31576d187ec3/license/LICENSE.txt)

</comment></comment><comment><USER30> How much of the entire Java api is under the GPL?

I get mixed messages on OpenJFX on how much of JavaFX has been open sourced.

<comment><USER31> All of it. I'm not familiar with OpenJFX but JavaFX has always been in the GPLd OpenJDK.

</comment></comment><comment><USER32> can we fork OpenJDK?

<comment><USER24> Yes.

<comment><USER33> Without getting sued by Oracle?

<comment> J-Kuhn That's something nobody can be sure it won't happen.

OpenJDK is open source (GPL2 + classpath exception).

"Java" otoh is a trademark.</comment></comment></comment></comment>