Update on free software and telemetry - <AUTHOR> https://about.gitlab.com/blog/2019/10/10/update-free-software-and-telemetry/ We have launched important updates to our Terms of Service surrounding our use of telemetry services. Starting with GitLab 12.4, existing customers who use our proprietary products (that is, GitLab.com and the Enterprise Edition of our self-managed offerings) may notice additional Javascript snippets that will interact with GitLab and/or third-party SaaS telemetry service (such as Pendo).
For GitLab.com users:  as we roll out this update you will be prompted to accept our new Terms of Service. Until the new Terms are accepted access to the web interface and API will be blocked. So, for users who have integrations with our API this will cause a brief pause in service via our API until the terms have been accepted by signing in to the web interface.
For Self-managed users: GitLab Core will continue to be free software with no changes. If you want to install your own instance of GitLab without the proprietary software being introduced as a result of this change, GitLab Community Edition (CE) remains a great option. It is licensed under the MIT license (https://en.wikipedia.org/wiki/MIT_License) and will contain no proprietary software. Many open source software projects use GitLab CE for their SCM and CI needs. Again, there will be no changes to GitLab CE.
Key Updates:
- GitLab.com (GitLab's SaaS offering)and GitLab's proprietary Self-Managed packages (Starter, Premium, and Ultimate) will now include additional Javascript snippets (both open source and proprietary) that will interact with both GitLab and possibly third-party SaaS telemetry services (we will be using Pendo(https://www.pendo.io)).
- We will disclose all such usage in our privacy policy, as well as what we are using the data for. We will also ensure that any third-party telemetry service we use will have data protection standards at least as strong as GitLab and we will aim for SOC2 compliance. Pendo is SOC2 compliant.
If you have any questions please contact us at email@example.com <comment><USER2> Don't go down this road.

The moment you place corporate needs ahead of user needs is the moment you start losing user advocates (UAs). New features are shiny objects that may attract interest, but UAs are your long-term lifeblood. They don't just use your product, they recommend it to friends, teams, bosses, and organizations.

I'm not going to be as pessimistic as others in this thread bc I know you guys have what it takes to do the right thing. But know that a tide change has occurred when it comes to privacy and data, and technical folks are keenly aware of the importance of protecting both.

<comment><USER3> I agree that user advocates are our lifeblood and we're risking alienating them. There were many more concerns than we expected. We're going to process the feedback and rethink our plan. We will not activate product usage tracking on GitLab.com or GitLab self-managed before we address the feedback and re- evaluate our plan. We will make sure to communicate our proposed changes prior to any changes to GitLab.com or self-managed instances, and give sufficient time for people to provide feedback for a new proposal. We'll work in [https://gitlab.com/gitlab-com/www-gitlab- com/issues/5672](https://gitlab.com/gitlab-com/www-gitlab-com/issues/5672)

<comment><USER4> > There were many more concerns than we expected.

I really don't understand how this can be true. Just reading it briefly I knew there were going to be a ton of concerns.

<comment><USER5> Honestly, it's shocking that this came as a surprise. It's like they don't know why they made Gitlab self-hostable.

</comment></comment></comment></comment><comment><USER6> This is beyond stupid for GitLab.

The _PAID_ self-hosted instances will have non-optional telemetry that loads remote javascript inside an enterprise? Any enterprise that seriously wants to self-host will look at this statement and flip a table.

<comment><USER7> Hello! GitLab employee, I understand the frustration however self-hosted customers on EE will not be affected. We opened an issue here to help clarify: [https://gitlab.com/gitlab- org/growth/product/issues/164](https://gitlab.com/gitlab- org/growth/product/issues/164)

<comment><USER8> Wow the blog host reads poorly then, when I read "self-managed" I assumed managed by the customer, not Hosted Gitlab. You might want to clarify that in the post..

<comment><USER7> We're testing this out on .com to see what value it really gives us and how it works, and depending on that then we might roll this out to EE. HOWEVER any move to do so will be properly communicated, and we're not going to implement it without carefully considering an appropriate opt-out strategy.

<comment><USER8> Yeesh. You guys just went from restoring my faith a bit a few months ago to this possibility? I'm sorry, but please get a grip here, it's tiring being on this rollercoaster.

</comment></comment></comment></comment></comment><comment><USER9> Wow! That's some change to just drop on us. Guess that settles the issue of whether or not we're ever going to be able to use this in the enterprise with a big fat no.

I'm not really sure why they're thinking this is a good idea.

If I tell the legal team that our source control software is sending off data to the vendor and some random (unspecified?) third parties, they'll have a fit.

<comment><USER10> Hello, GitLabber here! We're currently writing an issue explaining the situation, once it's public I will link it here.

<comment><USER7> This is the issue they were talking about, I hope it clarifies some things! [https://gitlab.com/gitlab- org/growth/product/issues/164](https://gitlab.com/gitlab- org/growth/product/issues/164)

<comment><USER11> Not really, as you will see from the first user comment.

</comment></comment></comment></comment><comment><USER12> From the article "... To make GitLab better faster, we need more data on how users are using GitLab. SaaS telemetry products, which provide analytics on user behavior inside web-based applications, have come a long way in the past few years. They are an important tool for rapidly improving user experiences because you can understand what users are doing (or not doing) in the app. GitLab has a lot of features, and a lot of users, and it is time that we use telemetry to get the data we need for our product managers to improve the experience."

This doesn't seem like a sufficiently good justification add telemetry features which some users may find objectionable.

Perhaps those resources would be better spent on a feature that let the user who is annoyed by a slow operation to:

\- Begin recording user interaction telemetry locally \- Perform the slow or buggy operation \- Stop recording, generating a data bundle file. \- Allow the user to review the data bundle in human-readable format \- Optionally take the data bundle to a less secured system as needed \- Submit the data bundle to GitLab engineering as a well-filed issue

Done that way, I think most users would welcome the interaction with Gitlab. For telemetry, not so much.

<comment><USER13> I'm not arguing for or against tracking, but I disagree with some of these assumptions:

1) 99% of users who have a bad experience are not going to be bothered to figure out how to record, review, and submit their session for the benefit of the service provider. If a page has issues loading, they're just going to give up and move on to the next thing.

2) User tracking isn't really related to performance in the first place. If some server side operation is failing or taking a long time to load, engineers will find out (and probably get paged) with user-agnostic internal performance metrics.

3) User tracking isn't just about finding out what's broken with the site, its about understanding how the site is being used in general so that you can validate your assumptions and make product decisions backed by data.

<comment><USER14> > If a page has issues loading, they're just going to give up and move on to > the next thing.

It means that they are fine with these issues and don't need to have them fixed.

<comment><USER13> Or it means they're just going to switch to $competitor's product that doesn't have this issue.

</comment></comment></comment></comment><comment><USER15> I work at GitLab. Support Engineering Managers were briefed about this a few days ago.

From inside GitLab Slack:

5d Scott Williamson We are not adding Pendo or Snowplow JS snippets to self hosted versions yet. That will likely come in a second phase of the project, and we will figure out opt in/opt out for those scenarios before launching. The reason we are communicating to those customers about it now is so we don't have to do the privacy policy change twice. So for now it's just .com customers. I will let @Tim Hey respond on where he would like discussion on this to go.

5d Support Engineer Thank you @Scott Williamson, I was hesitant to ping you as I know your time is valuable, but I'm glad that I did. :thank_you::thx::thankyou:

5d Tim Hey Hi @Support Engineer Looks like @Scott Williamson just beat me to the it. :sweat_smile:

5d Support Engineer You both are amazing and I can't thank you enough.

5d Tim Hey Also if you are interested in the being part of the discussion when we build out the opt in for scenarios like this I'd love to include you. I believe Lee was interested.

5d Support Engineer I'd love to be involved! If there's an opt-in or opt-out, it invalidates all the concerns I voiced here. Knowing this, I fully support the decision to add telemetry to self-managed and understand that it would be incredibly valuable for growth.

41m Support Engineer @Scott Williamson @Tim Hey @supportmanagers We have a lot of upset customers thinking that GitLab self-managed telemetry will be mandatory for Self-Managed GitLab moving forward (no opt-out/opt-in) . We need an official response and Zendesk template to help manage the influx

<comment><USER16> > I work at GitLab.

HN is a good opportunity to reach out, so I will use it: there's some kind of dark pattern employed during this Terms-Of-Service switch.

GitLab does not allow to login without accepting the new TOS, which means that I cannot remove my account without accepting the new TOS.

I didn't use gitlab that much anyway, but the TOS change just reminded me about the need to close the account... yet "you must accept the TOS to login" does not allow to remove the account. So, accepting the new TOS is kind of forced upon if you want to find your way out (in other words, it's made inconvenient and we-will-drag-our-feet otherwise).

Can someone take a look into it? I received two template-responses from email support, but no action.

My support request is 136340.

<comment><USER17> Just send a GDPR data delete request. Let the lawyers deal with it.

<comment><USER16> Since GDPR topic was brought up, let me give some more details; GitLab seem to be well aware of GDPR.

This was initial response from GitLab to my request (let's call it Template1):

> We understand that you want to completely remove your GitLab.com account.

> Due to the complexity of servicing these requests, we're asking our users to

> please email gdpr-request at gitlab.com.

> Please ensure that you:

> \- send the email from the address associated with your GitLab.com account

> \- include the GitLab username you'd like removed

I did send an email to that address repeating my request, but shortly after I received this response (let's call it Template2):

> We have additional updates with regards to our TOS and Telemetry services

> below:

> We understand that the recent announcement regarding the update to our Terms > of

> Service, specifically in regards to Telemetry, can lead to questions you > have

> about how it impacts your usage of GitLab.

> To answer those questions and gather feedback on this recent update, we have

> created this Issue with additional clarification. As we firmly believe that

> everyone can contribute, we want to assure you all feedback you provide via > the

> Issue is both welcome and appreciated.

> Kindly advise if you would still want us to proceed with this request.

I repeated my request, reaffirming that I want to remove and erase my account. In response, they sent "Template1" email again.

Edit:

to be fair, it's been less than 24 hours since the request, and the repeated template-response from GitLab may have been a hiccup on the support side.

But the whole new TOS switch could be handled much better and without dark patterns, i.e. during login, two buttons:

[Accept new TOS] [Decline and erase account]

However, right now there's simply no option to handle account removal conveniently when I want to decline the new TOS.

<comment><USER18> > In response, they sent "Template1" email again.

At this point I would simply wait the 30 days or whatever they have to respond and if they don't, complain to your data protection commissioner. They could get hit with a big fat fine for it, so its in their interest to make sure they respond correctly and don't send you around in circles.

</comment></comment></comment></comment></comment><comment><USER19> I am (was?) a big supporter of GitLab and am having trouble believing what I'm reading. GitLab.com having analytics, whatever. But Gitlab EE having mandatory analytics? This just seems downright out of touch.

<comment><USER7> Hello! We're sorry for the confusion however EE is unaffected by this. We wrote an issue here to clarify: [https://gitlab.com/gitlab- org/growth/product/issues/164](https://gitlab.com/gitlab- org/growth/product/issues/164)

<comment><USER17> s/unaffected/unaffected yet/

</comment></comment></comment><comment><USER20> > In order to service the needs of GitLab.com and GitLab Self-Managed users > who do not want to be tracked, both GitLab.com and GitLab Self-Managed will > honor the Do Not Track (DNT) mechanism in web browsers. This means that, if > you turn on Do Not Track in your browser, GitLab will not load the > JavaScript snippet.

Ok so GitLab dotcom promises to honor DNT, which is good.

> GitLab Community Edition will continue to be free software with no changes.

So GitLab CE is not "affected" at all, which is better.

I've never used the Enterprise Editions, but what's to stop enterprise ops/sysadmins from just blocking the third-party requests at the DNS level (regardless of the DNT promise)? Another HNer mentioned this re: air-gapped deployments.

So in a purely practical sense, is the only noteworthy takeaway simply an extra production config step involving DNS?

</comment><comment><USER21> > For GitLab.com users: as we roll out this update you will be prompted to > accept our new Terms of Service. Until the new Terms are accepted access to > the web interface and API will be blocked.

Blocking service until the user consents is illegal under GDPR, especially when the consent is requested for data collection that is not essential for providing the service, such as telemetry and analytics.

[https://gdpr.eu/gdpr-consent-requirements/](https://gdpr.eu/gdpr-consent- requirements/)

> "Freely given" consent essentially means you have not cornered the data > subject into agreeing to you using their data. For one thing, that means you > cannot require consent to data processing as a condition of using the > service. They need to be able to say no. According to Recital 42, "Consent > should not be regarded as freely given if the data subject has no genuine or > free choice or is unable to refuse or withdraw consent without detriment."

<comment><USER22> Is this personal data?

<comment><USER21> Unless they anonymize absolutely everything, including our IP addresses, then yes, it is personal data.

[https://about.gitlab.com/privacy/](https://about.gitlab.com/privacy/)

> Third party tracking services gather certain simple, non-personally > identifying information over time, such as your IP address, browser type, > internet service provider, referring and exit pages, timestamp, and similar > data about your use of the Website. We do not link this information to any > of your personal information such as your user name.

They don't have to link your IP address to your name, because the IP address itself is already an identifier and so considered personal data.

<comment><USER23> Even then it just takes a very small amount of effort to argue that the anonymized data is still personal and can be linked back to individuals with a bit of statistical analysis.

</comment></comment></comment></comment><comment><USER24> ... I felt quite confirmed while reading this. After months of thoughts and plans, I finally invested some hours to install Gitea on my Synology NAS and migrating all GitLab projects there. Combined with Synology Drive + Wireguard running on an EdgeRouter by Ubiquiti, this feels somehow good. Of course, just for my personal files that don't require collaboration with others ...

</comment><comment><USER25> They've gotta support the $2.74B valuation somehow. This is the ultimate fate of all VC-driven end-user businesses, the incentive model puts users well after investors. This problem is why I bootstrapped my business. [https://sourcehut.org/blog/2019-10-23-srht-puts-users- first/](https://sourcehut.org/blog/2019-10-23-srht-puts-users-first/)

<comment><USER26> [warning: biased, cynical and opinionated content ahead]

To me this whole debacle feels like a forced error. Gitlab needs to find a way to profitability - fine, I am very much in favour.

But I can't shake the feeling that somewhere, someone, has made the mental association that "more user tracking == more money". It's worked for Google and Facebook, and it looks to be working for - _vomit_ \- modern infosec industry, where ever more aggressive end-user surveillance seems to be the easiest way to get two or even three bites of the apple.

And that is why this whole thing feels like a re-enactment of a South Park episode:

      1. Get more user data
      2. ???
      3. Profit!

Because from what I have read so far in this thread and the early linked issue, it does feel like shoehorning invasive user tracking has been a foregone conclusion and figuring out a justification has come second.

<comment><USER27> Looks like it was forced on the devs by the CFO [https://gitlab.com/gitlab- org/gitlab/merge_requests/14182#no...](https://gitlab.com/gitlab- org/gitlab/merge_requests/14182#note_203849107)

</comment></comment></comment><comment><USER28> I've counted four different people who announced they work at Gitlab, in various different departments of the company.

Appreciate you all showing up, on the one hand, when so many different roles are all showing up in a thread to offer justifications and explanations it looks very uncoordinated, this isn't a good look.

</comment><comment><USER29> and so it begins.

(I was going to post a wall of text about maybe "compassion fatigue with users privacy at odds with debugging" or "the rise of the marketing department" or "monetization strategies"... but the four words above are more succinct)

<comment><USER30> No, it _began_ when we all decided to tolerate involuntary telemetry in Windows. This is just a minor roadside attraction on the same highway.

<comment><USER9> How would be stop that? We can't switch our whole enterprise over to OSX. We're very effectively locked in still.

<comment><USER29> osx has lots of telemetry.

</comment></comment></comment></comment><comment><USER31> Out of curiosity Gitlabbers, have you thought about using an onpremises, self hosted product analytics/telemetry solution like Countly so that you don't have to share PII data with a 3rd party? (disclaimer as usual: I work there).

</comment><comment><USER32> How does this help gitlab's customers? (sincere question, my initial reaction has already been voiced here by others)

<comment><USER33> Helps them see how people are actually using the product, what's difficult, what's popular, etc.

And, of course, helps them make more money so they can hire more people/stay alive/etc.

<comment><USER34> How this being mandatory without opt-in help Gitlab users, more specifically?

</comment></comment></comment><comment><USER35> GitLab employee here.

First of all, my apologies for the confusing messaging to our customer base. This change is only for our .com customers. We have not yet added instrumentation to the self-hosted Enterprise edition versions, and we will not do so until we have a way for self-hosted customers to easily control whether tracking is enabled in their environment. As an example, we currently have a feature called "usage ping" which sends back aggregate usage data, and self-hosted customers have the option to turn it off. We will continue to allow self-hosted customers to control the level of product usage data that is tracked in their environment, or turn it off completely.

We also will not add tracking to the Community Edition, so that is always an option for customers.

I want to reiterate that we are using this data to improve the product experience. Currently we are blind to what is being used in the product, how customers flow through the system, etc. Without this usage data it is very difficult to build a great customer experience.

<comment><USER36> And I guess you will make it opt-in instead of opt-out for the self-hosted Enterprise Edition, right?

Edit: also, the email you sent out to your users is very different from your blog post. In the blog post you ask for feedback from your users, which is not the case in the email, which is written as an actual announcement that this is going to happen.

<comment><USER35> We've heard your concerns and questions. There were many more concerns than we expected. We're going to process the feedback and rethink our plan. We will not activate product usage tracking on GitLab.com or GitLab self-managed before we address the feedback and re-evaluate our plan. We will make sure to communicate our proposed changes prior to any changes to GitLab.com or self- managed instances, and give sufficient time for people to provide feedback for a new proposal. We'll work in this issue: [https://gitlab.com/gitlab-com/www- gitlab-com/issues/5672](https://gitlab.com/gitlab-com/www-gitlab- com/issues/5672)

Here's an MR updating our blog post accordingly: [https://gitlab.com/gitlab- com/www-gitlab-com/merge_requests/...](https://gitlab.com/gitlab-com/www- gitlab-com/merge_requests/33289/diffs#note_235139590)

<comment><USER35> We also rolled back all changes to our Terms of Service and our Privacy policy, and we updated our blog post accordingly: [https://about.gitlab.com/blog/2019/10/10/update-free- softwar...](https://about.gitlab.com/blog/2019/10/10/update-free-software-and- telemetry/)

</comment></comment></comment></comment><comment><USER37> This is a bad move.

Why not do what every other software package does and when you install it, ask if you want to "send anonymised information to help us improve the product".

I now have to convince managers that GL is still safe to use and there's no data exfiltration risk!

</comment><comment><USER38> Data is the new crack. They just can't resist it.

</comment><comment><USER39> There was apparently months of internal discussion on this topic [0][1][2][3] (edit: particularly here [1.5] "It's not practical to send all of this metadata with every event, especially since we don't know what metadata we'll need ahead of time. In order to do anything beyond surface-level analysis, we need to be able to join on user_id."). In the end, the folks at the very top overruled the (relative) consensus that had been reached by Engineering, Product [4], and _Compliance_ [5] that the tracking should only be done on an opt-in basis.

Paul Machle, CFO, responding in no uncertain terms that the consensus was not acceptable: "I don't understand. This should not be an opt in or an opt out. It is a condition of using our product. There is an acceptance of terms and the use of this data should be included in that." [6]

The real juicy discussion seems to be on a private repo [7]. The final implementation plan [8] shows that tracking will be non-optional, including for self-hosted EE instances.

[0]: [https://gitlab.com/gitlab-org/gitlab- foss/issues/64341](https://gitlab.com/gitlab-org/gitlab-foss/issues/64341)

[1]: [https://gitlab.com/gitlab- org/telemetry/issues/57](https://gitlab.com/gitlab-org/telemetry/issues/57)

[1.5]: [https://gitlab.com/gitlab- org/telemetry/issues/57#note_19041...](https://gitlab.com/gitlab- org/telemetry/issues/57#note_190415032)

[2]: [https://gitlab.com/gitlab- org/gitlab/merge_requests/14182](https://gitlab.com/gitlab- org/gitlab/merge_requests/14182)

[3]: [https://gitlab.com/gitlab- org/telemetry/issues/58](https://gitlab.com/gitlab-org/telemetry/issues/58)

[4]: [https://gitlab.com/gitlab- org/gitlab/merge_requests/14182#no...](https://gitlab.com/gitlab- org/gitlab/merge_requests/14182#note_203848357)

[5]: [https://gitlab.com/gitlab- org/gitlab/merge_requests/14182#no...](https://gitlab.com/gitlab- org/gitlab/merge_requests/14182#note_185762038)

[6]: [https://gitlab.com/gitlab- org/gitlab/merge_requests/14182#no...](https://gitlab.com/gitlab- org/gitlab/merge_requests/14182#note_203849107)

[7]: [https://gitlab.com/gitlab-com/gl- security/compliance/complia...](https://gitlab.com/gitlab-com/gl- security/compliance/compliance/issues/656)

[8]: [https://gitlab.com/groups/gitlab- org/-/epics/1937](https://gitlab.com/groups/gitlab-org/-/epics/1937)

<comment><USER40> Why the fsck does the CFO get involved in what should be an engineering decision ? Why does he even get a say in it ?

<comment><USER17> Obviously the CFO sees that sweet telemetry cash

</comment></comment></comment><comment><USER41> Hope there will be way to turn off telemetry when self-hosting GitLab EE but looks like they are saying use CE which doesn't have some key features.

<comment><USER42> That's open core for you.

<comment><USER11> Yeah, this is yet another example for why you should not rely on open core. I use Gitlab because I liked their product but seems like I was burned again by using an open core product.

</comment></comment></comment><comment><USER43> I hope the inclusion of these new features don't break Gitlab in air gaped environments (or those cases where the DNS is black holed so it doesn't work... though that may be a violation of the terms).

<comment><USER15> I work at GitLab in Support Engineering I'm talking with product now about this. We raised this when the conversation started as a concern, and I want you to know that internally I am advocating that it _doesn't_.

<comment><USER44> Wait, it's even a question? There are people internally asking for having air- gapped be impossible? I mean, is Gitlab just that tone deaf regarding enterprise or do you just have no enterprise customers to care about?

</comment></comment></comment><comment><USER45> Well, looks like I no longer need to suggest we switch to Gitlab for our Fortune 100 :(

</comment><comment><USER46> I see that as a severely negative development and that opens a lot of room for competitors. I don't think you made the correct decision here, Gitlab.

</comment><comment><USER47> how do we pollute or poison the telemetry data?

<comment><USER48> That's a reasonable question for any required or opt-out telemetry collection.

</comment></comment><comment><USER49> So to make GitLab faster you are going to add more JS bloat. Ok.

</comment><comment><USER7> Hi! GitLab employee here. We understand this is a topic that you all are concerned about, so we opened an issue to help clarify [1]. If you have any comments or concerns you'd like to relay back to us, you can do so there! We appreciate the feedback and want to be as transparent and accommodating as possible.

[1] [https://gitlab.com/gitlab- org/growth/product/issues/164](https://gitlab.com/gitlab- org/growth/product/issues/164)

<comment><USER16> > GitLab employee here. [..] If you have any comments or concerns you'd like > to relay back to us, you can do so there!

In order to leave the feedback "there", one has to accept new Terms of Service. Folks who refused new TOS can not log in... Just in case if not all GitLab employees realize how bad the situation is.

But here's the feedback using HN, the user-friendly platform:

Please add an option to "delete and erase account" button when user decides to decline the new TOS.

[https://news.ycombinator.com/item?id=21342650](https://news.ycombinator.com/item?id=21342650)

</comment></comment><comment><USER50> Guess I'll continue to self host Gitea and use SourceHut instead. Those are faster anyway.

<comment><USER18> Thanks for the suggestions! I'm going to start moving over.

</comment></comment><comment><USER51> Going to be interesting to hear from the people who left Github for Gitlab when Microsoft took over.

</comment><comment> the-dude I wonder if the remote-ness of the company has contributed to the out-of- touch-ness of this idea.

</comment><comment><USER52> But why? What can they possibly gain by this?

<comment><USER7> Hello! We opened an issue here including a section on why we made this change: [https://gitlab.com/gitlab- org/growth/product/issues/164](https://gitlab.com/gitlab- org/growth/product/issues/164)

<comment><USER52> That post doesn't really answer anything. There are far less privacy-invasive methods to "analyze usage".

Gitlab may have some watertight contract with pendo but that doesn't mean anything to me as a user since I cannot see what is transmitted and how often that is done.

Compare to how canonical does this: tell user we are about to send data and show them what is being sent.

<comment><USER53> Eh, look at comments coming from that account. If that's how they treat their users I think there's little to no chance this stuff will be reverted

</comment></comment></comment></comment><comment><USER54> its funny how "spying" became "telemetry". you see it everywhere..and it seems to we working.

<comment><USER55> Always beware those who try to control language.

A recent (thankfully failed) example is Nigel Farage talking about a "No Deal" brexit as a "Clean Break" brexit.

(sorry to bring up brexit, but it was a very recent example that sticks out in my mind)

</comment></comment><comment><USER56> So, time to go back to GitHub?

[https://www.vice.com/en_us/article/ywen8x/13000-projects- dit...](https://www.vice.com/en_us/article/ywen8x/13000-projects-ditched- github-for-gitlab-monday-morning)

I'm self hosting my projects on one of my servers but I have some projects on GitHub because I want them to be public. I copied them on GitLab one year ago and switched origin. I feel like I won't keep using that service now. Bitbucket is quite a pain to use so it's not an alternative.

<comment><USER23> There was no reason to leave GitHub.

People started boycotting GitHub before GitHub even did anything wrong.

<comment><USER57> > _People started boycotting GitHub before GitHub even did anything wrong._

Acquisitions happen all the time, but how many of those acquiring companies experience an almost immediate "mass exodus" of users? (I'm sure there have been others in recent history but I'm having trouble thinking of any at the moment -- other than GitHub, of course.)

Perhaps you should ask yourself _why_?

 _Why_ would all of those people immediately up and leave and boycott GitHub, especially _" before GitHub even did anything wrong"_?

Microsoft has certainly pulled the wool over the eyes of many... but some of us have both 1) been around for a while and 2) have a very good memory.

\---

By the way... you aren't exactly "new" here, so surely you're aware that it's considered appropriate to disclose any relevant affiliations when commenting?

<comment><USER23> I mean...my bio has a link to my github which shows I work at Microsoft.

I spoke out against people moving out before I joined them. I certainly don't try to hide where I work :)

Thank you though, I'll add it to my bio.

</comment></comment></comment></comment><comment><USER58> from gitlab:

[https://gitlab.com/gitlab- org/gitlab/issues/34833#note_23515...](https://gitlab.com/gitlab- org/gitlab/issues/34833#note_235154077)

\</comment><comment></comment><comment></comment><comment>

We've heard your concerns and questions. There were many more concerns than we expected. We're going to process the feedback and rethink our plan. We will not activate product usage tracking on GitLab.com or GitLab self-managed before we address the feedback and re-evaluate our plan. We will make sure to communicate our proposed changes prior to any changes to GitLab.com or self- managed instances, and give sufficient time for people to provide feedback for a new proposal. We'll work in this issue.[1]

Here's an MR updating our blog post accordingly: gitlab-com/www-gitlab- com!33289 (diffs, comment 235139590)[2]

\</comment><comment></comment><comment></comment><comment></comment><comment>-

1 - [https://gitlab.com/gitlab-com/www-gitlab- com/issues/5672](https://gitlab.com/gitlab-com/www-gitlab-com/issues/5672) 2 - [https://gitlab.com/gitlab-com/www-gitlab- com/merge_requests/...](https://gitlab.com/gitlab-com/www-gitlab- com/merge_requests/33289/diffs#note_235139590)

<comment> jagged-chisel Did we get a reversion to the older ToS with this?

<comment><USER58> no concrete answer regarding that yet. I don't think the new ToS was published on gitlab.com already, so this might not be necessary.

I asked the question to get a clear answer, probably won't hear anything back regarding this.

edit: ToS has been rolled back as well: [https://gitlab.com/gitlab- org/gitlab/issues/34833#note_23522...](https://gitlab.com/gitlab- org/gitlab/issues/34833#note_235221218)

</comment></comment></comment><comment><USER59> > if you turn on Do Not Track in your browser, GitLab will not load the > JavaScript snippet

This is actually awesome, and a very rare thing as far as I can tell.

</comment><comment><USER60> I just deleted my Gitlab account. I'll be self-hosting personal projects from now on. It's clear that as an individual user of a third-party service you have virtually no control. No matter who you choose, the odds are that the owners of the service will eventually succumb to the siren song of VC money and sell their users' souls as a result.

</comment><comment><USER61> Don't _ever_ do this. I'm a huge gitlab advocate and I'm already wondering if I should regret that. Keep in mind that one thing that keeps gitlab alive is that which it is not: github/microsoft. If you erase that boundary then there is no longer any good reason to recommend gitlab over github.

</comment><comment><USER62> Seems like a good time to ask: who is using source hut? How do they find the email driven merge request process?

</comment><comment><USER63> Isn't a non-optional, opt-in-by-default third-party telemetry prohibited under GDPR?

<comment><USER64> > Until the new Terms are accepted access to the web interface and API will be > blocked. So, for users who have integrations with our API this will cause a > brief pause in service via our API until the terms have been accepted by > signing in to the web interface.

Doesn't this make it not "opt-in-by-default"?

<comment><USER65> It offers no opt-out and blocks API and web access until you've accepted the new terms, so it effectively is opt-in by default.

<comment><USER47> this sounds like extortion.

</comment></comment></comment></comment><comment><USER66> edit: Comment no longer relevant since URL has been updated.

<comment><USER67> We updated the URL above to that one. Before that it was [https://gitlab.com/gitlab-org/gitaly/issues/2113](https://gitlab.com/gitlab- org/gitaly/issues/2113).

<comment><USER68> Which has been moved to [https://gitlab.com/gitlab- org/gitlab/issues/34833](https://gitlab.com/gitlab-org/gitlab/issues/34833), since it was using the wrong issue tracker before.

</comment></comment></comment><comment><USER69> [https://gitlab.com/gitlab- org/gitlab/issues/34833#note_23475...](https://gitlab.com/gitlab- org/gitlab/issues/34833#note_234752308)

For paying Gitlab customers, this sums up the general opinion well.

</comment><comment><USER6> [https://about.gitlab.com/blog/2019/10/10/update-free- softwar...](https://about.gitlab.com/blog/2019/10/10/update-free-software-and- telemetry/)

This would be a better link.

<comment><USER67> Ok, changed to that from [https://gitlab.com/gitlab- org/gitaly/issues/2113](https://gitlab.com/gitlab-org/gitaly/issues/2113). Thanks!

</comment></comment><comment><USER70> Additional discussion that is currently marked as a [dupe]: [https://news.ycombinator.com/item?id=21343761](https://news.ycombinator.com/item?id=21343761)

</comment><comment><USER71> Why send user data to third party ? Don't they have the man power to build a db with all the logs and maybe add that to a securing ml bullshit for Enterprise ?

</comment><comment><USER72> they just keep rolling out the hits

[https://news.ycombinator.com/item?id=21274511](https://news.ycombinator.com/item?id=21274511)

</comment><comment><USER73> Seems they are preparing for selling to Google!

</comment><comment><USER74> Looks like it's time to find a new service. This is very disappointing

</comment><comment><USER75> Hello! GitLab employee here... No just kidding.

</comment><comment><USER58> this is a clear violation of GDPR, unless they can really guarantee the data is 100% anonymous, gitlab was able to provide the service without telemetry & is now blocking access to the (self-hosted) service unless one consents to the new data gathering practices.

Best of all, 12.4 was released 2 days ago, the notification e-mail was sent out today...

</comment><comment><AUTHOR> Had to leave out the "Dear XY" and "Thank you,

GitLab Team" in order to fit into 2k char limit.

<comment><USER67> We've put in the URL above that has the same text.

</comment></comment><comment><USER76> Just use the DNT header and they won't track you.

<comment><USER77> This doesn't help the concern from enterprise users that they don't want their self-hosted software to phone home, ever.

<comment><USER7> Hello! Self-hosted users on EE are currently not affected, we opened an issue here to clarify: [https://gitlab.com/gitlab- org/growth/product/issues/164](https://gitlab.com/gitlab- org/growth/product/issues/164)

<comment><USER77> "Not yet" is small comfort.

</comment></comment></comment></comment><comment><USER78> Nobody really reads , not even smart hackers. That is my first thought after reading a lot of comments.</comment>


Show HN: HumanInput.js – A library for capturing human input - <AUTHOR> https://github.com/liftoff/HumanInput/?hn <comment><AUTHOR> Been working on this for a few months now (spare time) and I've finally decided to share it with the world. I'd love to hear what the folks of HN think.

The core of the library handles keyboard events along with some window/document events (which are necessary for plugins and handling edge cases like alt-tab) but the rest of it is modular. You _should_ be able to use the /lib directory with modern ES6 import syntax like so:

        import HumanInput from './humaninput/lib/humaninput.js';
        import PointerPlugin from './humaninput/lib/pointer.js';
        import IdlePlugin from './humaninput/lib/pointer.js';

Of course, there's also mechanisms to build your own version with just the features you want for traditional <script> inclusion.

The _two_ key features I was going for when I started this project were:

      * Make a keyboard event lib that works with non-US keyboard layouts.

      * Make it *easy* for people to add user-customizable shortcuts to their web app
        (just like regular desktop applications).

For reference, I don't think there was a single keyboard event library for JavaScript that supports non-US layouts until now. A few years ago HN had a post about Keypress (js lib):

[https://news.ycombinator.com/item?id=6464138](https://news.ycombinator.com/item?id=6464138)

...and the top comment was a wise warning from pyalot2 ([https://news.ycombinator.com/user?id=pyalot2](https://news.ycombinator.com/user?id=pyalot2)):

        Note that you should avoid using this (or anything else with JS)
        to emulate shortcuts.

        The reason is because what this usually looks like "oh nice I can
        define shortcuts people can press". What it actually means is:
        "Ohcrap, that shortcut only works for US-US 104 keyboard layouts,
        and about 80% of people can't press that shortcut".

With HumanInput this should not be a concern!

</comment><comment><USER2> Great work! I've always had to build this stuff in every app with hacky solutions and I always just had to guess if it is polyfill'ed or not. Your library allows for much cleaner code and easier application. Definitely gonna use this next time I come across a need to capture input events.

</comment><comment><USER3> This is a really good idea. No more if (keycode == 71 && keycode == 73 stuff), and trying to remember which is which, and having to look up each one.</comment>


Introducing Resource Blueprint - <AUTHOR> https://github.com/apiaryio/api-blueprint/issues/13#issuecomment-33506569 Focus on business logic of Web API, model resource's semantic   states and transitions.<p>Full specification at https://github.com/apiaryio/api-blueprint/tree/resource-blueprint <comment><USER2> The spec proposal is here: [https://github.com/apiaryio/api- blueprint/tree/resource-blue...](https://github.com/apiaryio/api- blueprint/tree/resource-blueprint)</comment>


Generating headlines from news articles using SOTA summarizer based on BERT - <AUTHOR> https://medium.com/axel-springer-tech/headliner-easy-training-and-deployment-of-seq2seq-models-2a26508b4dae <comment><AUTHOR> Hey my team mate Dr. Christian Schäfer and me just published a blog article about our library "Headliner" where we discuss why we decided to create it and also how we use it internally at Axel Springer. The coolest part is that we integrated BertSum, a SOTA summarizer based on finetuning pre-trained BERT language models, into our library. We also speak a little bit about TensorFlow 2.x and why we used it. Check it out if you're interested. We would love people trying out our library for their text summarization problems.</comment>


Coding Best Practices: A Test-Driven Perspective – Toptal - <AUTHOR> http://www.toptal.com/qa/how-to-write-testable-code-and-why-it-matters <comment><USER2> Excellent Article and really promoting best practices :), bookmarked and I will make sure to put it in good use.</comment>


Show HN: FastComments - <AUTHOR> https://fastcomments.com <comment><USER2> Okay, here's some feedback -

What I Like - The feature set and the clean look

What I cannot find - A demo on the home page itself. Not be required to click a "live demo" button

What turned me away - The pricing strategy. As a dev, I love the pricing. As a user, I dislike the pricing. Just give me a flat price and call it a day. Especially applicable for small blogs, newbies and people who don't yet have traffic. That breakdown just indicates to me that I will have no idea what my end bill would be like, especially if my blog starts gaining any traction.

That pricing page also probably limits your audience to a small subset. I showed your pricing page to someone non-technical and they pretty much lost any interest.

<comment><USER3> Suggestion regarding pricing: two or three flat-fee tiers, each with a cap on traffic (after which you can just drop requests, or do whatever you want) and then a tier with a minimum + variable charge by traffic for higher usages.

<comment><AUTHOR> done

<comment><USER4> Your pricing is currently out of order -- $5 for 1 million, then $350 for unlimited, then $75 for 5 million

<comment><AUTHOR> Yep! Here's an example that describes that strategy:

"Different Levels of Pricing" [https://www.helpscout.com/blog/pricing- strategies/](https://www.helpscout.com/blog/pricing-strategies/)

</comment></comment></comment></comment></comment><comment><AUTHOR> Pretty much everyone says the pricing model sucks. I agree. Will rework.

Edit - Don't want to devalue it but wondering if it's worth having a tier for the really small players? So like $4.99 up to 5m page loads a month or something. Then $99 for unlimited and you know enterprise is its own game.

Edit#2 - If you sign up now I will migrate your subscription to the new pricing model which I will implement tomorrow, no worries (unless you really really like the current pricing....)

<comment><USER5> Seeing the current $70/month for 250,000 page views definitely turned me away (did I read that right? weird decimal place in your copy: 250000.00), but I might not be your target audience. If you do lower the price, just make sure it's long-term sustainable. $5 for 5 million page loads (if that's what you mean in your comment above) would be great, and something I'd consider (since the alternative for me is setting up a $5 DO droplet with schnack[0] or commento[1]) but that might be a bit too cheap depending on the costs on your side (e.g. fighting spam). Might be worth looking at competitors' pricing for inspiration. A lot of developer types would most likely choose your service over disqus even if you're a bit more expensive, simply because of all the bloat and tracking and shady behavior of disqus. That would be too expensive for me, but like I said, I might not be your target audience.

I love the simple setup and that you're focused on performance and not spying on users! If the pricing gets adjusted, I would seriously consider adding it to some of my sites. Oh, if you're not going to make it open source, then an "export" feature is crucial for me, because I despise lock-in.

[0]: [https://schnack.cool/](https://schnack.cool/)

[1]: [https://github.com/adtac/commento](https://github.com/adtac/commento)

<comment><AUTHOR> Yes I will definitely do load tests to determine what won't break me. I really like the $4.99 number. Now have to pick a traffic number.

You can export all of your data. Made sure I had that from the get-go. When writing the importer from the other providers it's amazing how much they hide from you. Disqus doesn't even export avatar urls.

Decimal place - yeah I tend to automate things and all that is generated from some configuration. I trusted Number.toLocaleString too much :)

Schnack - thanks. One cool thing that has that I don't is localization. I have to work on that.

Edit - a fun story that should have shown me how bad the pricing model is. I was using Mapbox for a project and accidentally made 1m api calls. I still owe them a few thousand dollars.... So yeah, I am morally obligated to fix it. :D

<comment><AUTHOR> Localization's been added.

</comment></comment></comment></comment><comment><USER6> Looks good but need to rethink pricing. For a small blog, it says you won't pay more than $71 a month. That means I COULD end up paying $71 for a small blog. That's very expensive for a commenting system. Yes I understand that it is ads free and all but this pricing overestimates how much people really dislike ads.

<comment><AUTHOR> Yep, going to redo that. Would you pay $4.99 for a small blog, vs free Disqus and deal with ads?

<comment><USER6> I am not looking for a solution right now but if I did, Yes I think a small charge of few bucks a month may work. The problem is that most small blogs don't really need heavy commenting and when they do, they can get away with free comments from WordPress or even disqus.

You need to think about the value proposition of why someone wants to PAY for a commenting system. It may not always be "I hate ads". I would say find people who run blogs with comments and start talking to them.

<comment><AUTHOR> Exactly. That's why I'm adding lots of features a default WP install won't have. I should probably also support export/import from WP...

I also plan to write a WP plugin.

Edit - yes the 1:1 reaching out will happen soon. I suck at sales, and it's super hard not to just focus on writing code. But I will do it!

</comment></comment></comment></comment><comment><AUTHOR> Well this is a fun load test. Nice to see things aren't falling over while being on the homepage (Thanks HN!!!!).

It's also a fun load test for my other project, Watch.ly, which doesn't track you but I can see in realtime the traffic to the site and it's peaking at around 100 concurrent sessions.

<comment><AUTHOR> I'm seeing lots of requests from fun things like go-http-client and such.

</comment></comment><comment><USER7> I wonder how this compares with Commento?

Differences I've found:

FastComments has a smaller Javascript file.

Commento is open source. Could it be more stable since been around for longer?

What would you say, @winrid? There's this blog post: "Migrating From Commento To FastComments" \-- what are the main reasons someone would do that?

<comment><AUTHOR> Hey, first of all thanks for asking the right questions! :) I have considered putting together a big "FastComments vs..." chart to answer these questions.

I'm trying to offer a larger feature set than Commento. This means things like: 1\. Better ways to fight spam 2\. Migration supports more than just Disqus. 3\. Inline image support (which will also be able to be toggled in the future) 4\. Customization on a per domain or url basis: [https://blog.fastcomments.com/(1-24-2020)-how-to-make-a- comm...](https://blog.fastcomments.com/\(1-24-2020\)-how-to-make-a-comment- system-like-hackaday.com.html) 5\. No signup process, no passwords. Everything is email based, however we allow anonymous comments now (configurable).

Also, solutions for larger customers (integrations, developer support, etc). At the highest tier for $20/mo Commento gives you 100k monthly page views. FastComments gives you one million on the lowest tier (closer to what Disqus gives you on the lowest tier, but cheaper).

I'm not sure Commento has pagination? I'd have to check. But we just added that today too. Also, a cool blog post is coming on how you can optimize threaded pagination! :)

But yes Commento has been around longer. I think I'll catch up quickly though.

<comment><USER7> Thanks for the reply and your thoughts, best wishes.

</comment></comment></comment><comment><USER8> I like the goal and the product seems good apart from some subjective styling nitpicks, but your blog is terrible. Why can't I click on any of the titles or/and a "read more" link?

After figuring out how to get to a single post, I noticed your blog uses the product, perhaps that could serve as a nice low-effort demo? Firing up an editor and trying out the code snippet is too much work for something you haven't even seen yet, imho.

<comment><AUTHOR> Yes that's on the todo list. Thanks for bumping up the priority...

</comment></comment><comment><USER9> With Firefox night mode enabled, the comments can't be seen.

When blocked images, the whole comments is hidden, it can pose problem for some readers.

<comment><AUTHOR> Would be cool if you checked now. On FF mobile I installed "Dark Mode" which made the page black and the text white. I also disabled images.

</comment></comment><comment><USER10> Copy-writing on the pricing page: "We'll charge you for your traffic to FastComments. For example if you have a small blog and you never get more than 250000.00 visitors a month you won't be charged more than $71.43 a month."

Who measures number of visitors down to their 100th part? Remove the ".00" to make it simpler. The price "$71.43" suggests the underlying pricing model is somewhat complicated, as others have identified, too.

<comment><AUTHOR> Redid whole page, thanks.

</comment></comment><comment><USER11> I've gathered all the commenting systems I could find in my blog post [1]. I'm glad to see yet another alternative. I will add it soon to my list (maybe I should wait for your pricing adjustment).

[1] [https://darekkay.com/blog/static-site- comments/](https://darekkay.com/blog/static-site-comments/)

<comment><AUTHOR> Pricing's been adjusted! [https://fastcomments.com/traffic- pricing](https://fastcomments.com/traffic-pricing)

</comment></comment><comment><USER12> I'd use this if we had complete customizability of the comment system's design through CSS.

<comment><AUTHOR> You do! I made a page that looks like Hackaday to demonstrate that:

[https://blog.fastcomments.com/(1-24-2020)-how-to-make-a- comm...](https://blog.fastcomments.com/\(1-24-2020\)-how-to-make-a-comment- system-like-hackaday.com.html)

<comment><USER13> It's good that the CSS is customizable, but many of your clients won't customize it, and the default text size is too small. I did a quick test of increasing comment bodies from 13px to 16px, and comment headers from 12px to 15px, and it made everything much more pleasant.

Consider increasing the default font sizes? If comments are worth writing and reading, it's worthwhile making them eye-friendly and easy to read.

<comment><AUTHOR> Thanks

</comment></comment></comment></comment><comment><USER14> Interesting to see, I am curious how this goes especially with the pricing model. Have you been doing this very long?

I would want to see a docs page and a React, Vue, Angular etc client library before I would realistically purchase this and spend time trying to consume it.

<comment><AUTHOR> Could you help me understand why would you need a client in each framework? It's in vanilla JS and attaches to a Dom element. :)

Edit - one thing to note is 99% of the code is actually just loaded in an iframe. So the actual code on your site is very small.

[https://blog.winricklabs.com/(1-25-2020)-making-an- embeddabl...](https://blog.winricklabs.com/\(1-25-2020\)-making-an-embeddable- widget-safe-from-cross-site-attacks.html)

Edit #2 - no I've only spent a month on this so far.

</comment></comment><comment><USER15> This looks really great, congrats on shipping. I think it'd be worth it to have a designer give the site a facelift, I think it would convey more trustworthiness. Also the pricing page doesn't work very well on mobile when selecting plans.

<comment><AUTHOR> All good feedback thanks

</comment></comment><comment><AUTHOR> Pricing and pricing infrastructure has been redone. Thanks everyone!

[https://fastcomments.com/traffic-pricing](https://fastcomments.com/traffic- pricing)

<comment><USER16> There are a LOT of blogs which get well under 1 million pageviews per year, let alone per month. I dont know your admin costs, but perhaps there's room for a Micro plan at a flat $15/year for something like 500k annual pageviews?

<comment><AUTHOR> I could work that out if you're interested.

</comment></comment></comment><comment><USER17> How long do I have to wait for my cat post to show up in the demo, after confirming both my email and my post?

EDIT: I think my first comment simply vanished, the second one went through instantly :(

<comment><AUTHOR> That's weird and simply shouldn't happen. What's your username? I did do a deployment earlier, and since I don't have a queue in front of the this (and nginx isn't setup to replay POST requests yet) it is possible that is why.

<comment><USER17> meowmeowmeow. My first comment included a picture (rabbit showing tongue) and I received a pair of emails for verifying my account & comment at 23:30:33 EET, according to server logs. I promptly verified both, but that comment never showed up.

<comment><AUTHOR> The spam filter thought it was spam :) It should have shown a message. Right now verifying your comment doesn't unmark it as spam. I'm still contemplating that.

Edit - it should show now. Just clicked "not spam" in the dashboard...

<comment><USER17> Oh, I actually saw that message. I thought it just meant all messages from new users would be flagged as spam until verified.

<comment><AUTHOR> Ah, well after I deploy this next round of changes verified accounts bypass the spam filter (and verifying a comment marks it as not-spam).

I'll experiment with this. I bet it'll have to be configurable in the future.

</comment></comment></comment></comment></comment></comment><comment><USER18> The pricing model itself is one thing that people have covered here, but why the hell is it so expensive? Over $1000 / mo just for a comment widget???

<comment><AUTHOR> Yeah that was something I should have thought about more before posting. I am thinking of having two tiers, up to $99/mo for the biggest sites. Most people would use the $4.99 package.

</comment></comment><comment><USER19> Just to mention, when I added the embedding I was getting a 404 error. Not sure if it is supposed to work or not without a subscription;)

<comment><AUTHOR> Should be fixed now, except commenting won't work for the demo tenant id. I'll address that too. I was a little overzealus with my request validation.

</comment></comment><comment><AUTHOR> Well. Took a little downtime there due to an issue I had to fix which is embarrassing. Back up now. Whoever just broke it - thanks. :)

</comment><comment><USER20> I think you should rework your pricing model.

<comment><AUTHOR> I agree! Done: [https://fastcomments.com/traffic- pricing](https://fastcomments.com/traffic-pricing)

</comment></comment><comment><USER21> Is there a fallback for no-JS users?

<comment><AUTHOR> On the TODO list. However, I think it'd have to be opt-in.

EDIT: Maybe not. You'd just see a scrollbar since the iframe can't auto expand:

[https://blog.winricklabs.com/(1-25-2020)-making-an- embeddabl...](https://blog.winricklabs.com/\(1-25-2020\)-making-an-embeddable- widget-safe-from-cross-site-attacks.html)</comment></comment>


Visual Studio Code is now available as a snap on Ubuntu - happy-go-lucky https://insights.ubuntu.com/2017/05/19/visual-studio-code-is-now-available-as-a-snap-on-ubuntu/ <comment><AUTHOR> It's a short article, but while it takes some time to explain the various channel options, I think it would have been better to explain what the --classic switch does on the command line.

<comment><USER2> The Atom snap announcement goes into a bit more detail about this. [https://insights.ubuntu.com/2017/05/11/atom-is-now- available...](https://insights.ubuntu.com/2017/05/11/atom-is-now-available-as- a-snap-for-ubuntu/)

Basically it means no filesystem sandboxing.

<comment><AUTHOR> That's definitely desirable, thank you for the link.</comment></comment></comment>


Ask HN: How would you chose a DB for a particular scenario? - <AUTHOR> I am humble Web developer, not skilled in databases and I know just the basics: write SQL code, what normalization is, how to use indexes, impose restrictions, use views and stored procedures.
If you didn't have the resources to hire the a competent architect and DBAs, the conventional wisdom said that you are fine with any of MySQL, Postgres or SQL Server for almost any task and use case and if the app/website will grow, you will have the resources to hire people to deal with the database later.
Maybe spending a lot of time on picking the "right" database is a case of premature optimization?
But I cant's stop to wonder if there are any rules, guides on how to pick the database engine, based on use-case, knowledge you have, hardware resources needed, trade-offs in CAP theorem and whatnot.
While I use an ORM both at work and for personal projects, that will allow me to switch the DB but I only have to chose between a few relational and established DBMS. What if the project would be better with a NoSQL DB? What if a NewSQL would be better? Or maybe a combo of RDBMS and NoSQL?
How can you tell which part of your data needs transactions and normalization, which part requires high speeds but doesn't require consistency, which part should be distributed and on what level, which part needs to be highly available? And after you know all of that, how do you pick the database or combination of databases?
I think HN as many skilled users who can help me and others find answer to some of these questions. <comment><USER2> If you can't afford database people, pick the database that you have the most experience with. The databases you mentioned (MySQL, Postgres, and SQL Server) are all good enough for most projects - as long as you know how to use one of them.

Generally, though, it's a bad idea to pick a database that you don't understand, thinking that the database is somehow "better." A good musician can make a bad instrument sound good, but a bad musician isn't helped by playing a Stradivarius: your knowledge is the better differentiator than the instrument quality.

If you're one person doing side projects, I'd also strongly recommend a managed database as a service. If you're not trying to become a database administrator, then every hour spent managing databases is distracting you from producing the value that will bring you customers. Customers don't pay you for your database management skills: they pay you for the value your app produces. Focus on the app code and its value, not testing your database restores.

<comment><AUTHOR> These seem wise words to me and is just what I did until now. Would continue doing the same. I just wondered if there isn't a "database strategy" for laymen.

But it seems - from articles I've read on the Internet - many projects got in trouble trying to use exotic databases for which they didn't have enough expertise.

</comment></comment><comment><USER3> For a lot of data workflows, document search might be an alternative to what people usually mean when they say "database." Store documents. Extract metadata. Search the metadata. Retrieve the document or some of its metadata.

For example, Google. Good luck.</comment>


Solar Power Is Wonderful, Except When You Build It Anywhere Near Anything - <AUTHOR> http://reason.com/blog/2009/12/22/solar-power-is-wonderful-reall

<comment><USER2> Feinstein didn't "block solar energy". She saved 30,000 acres of desert land, that the state had promised would be saved and which was bought with private and federal funds, from powerline developers, including Goldman-Sachs (who could care less about the environment).

(I think solar power is the cat's meow - and don't usually like Feinstein. But there's plenty of land that's already messed up that can be used instead. And, in fact, Feinstein is already at work on it.)

[http://www.nytimes.com/2009/12/22/business/energy- environmen...](http://www.nytimes.com/2009/12/22/business/energy- environment/22solar.html)

"On Thursday, Mrs. Feinstein introduced legislation to provide a 30 percent tax credit to developers that consolidate degraded private land for solar projects."

A lot of developers thoroughly enjoy messing with environmentalists. But Green doesn't have to be a trade-off. For once Feinstein did the right thing.</comment>


DevExtreme 17.1.3 Released New TreeList Widget, DataGrid Enhancements, and More - <AUTHOR> https://github.com/DevExpress/DevExtreme/releases/tag/17.1.3 <comment><USER2> [https://github.com/DevExpress/DevExtreme](https://github.com/DevExpress/DevExtreme) claims 'Voted the best cross-platform component suite ...'

Voted by whom?

<comment><USER3> Visual Studio Magazine - Reader's Choice. They have corresponding badges on the website's main page: [https://js.devexpress.com/](https://js.devexpress.com/)

</comment></comment><comment><USER4> Awesome! I was looking for such widget as a TreeList.</comment>


Parity founder demos Substrate, live launches a blockchain in minutes - <AUTHOR> https://techcrunch.com/2018/10/23/parity-founder-demos-substrate-live-launches-a-blockchain-in-minutes-instead-of-days-or-weeks/ <comment><USER2> Launch your own blockchain in 0.01 seconds:

$ bitcoind -regtest

Please, can we kill this nonsense?

Blockchain is a Semantic Wasteland [https://news.ycombinator.com/item?id=18267585](https://news.ycombinator.com/item?id=18267585)

</comment><comment><USER3> No mention of gavin woods' sloppy code resulting in 150,000 ether worth of investor funds being lost forever after the polkadot ico?

<comment><USER4> > investor

isn't there a better substantive for someone betting in a game of chance?

<comment><USER5> Crypto investor?

</comment></comment></comment><comment><USER6> Should we rebrand TechCrunch into CryptoCrunch?!

</comment><comment><USER7> _"... demoed launching a blockchain in under 60 minutes, a previously unheard- of feat."_

Or you could, you know, just use a database. Installing PostgreSQL takes considerably less time than 60 minutes and is a much better solution for anything where you might be tempted to use a "custom blockchain" (a.k.a. clunky distributed database with very slow consensus and a crap scripting language that's called "smart contracts" to hide how bad it is for actual programming).

<comment><USER8> That's not how you get to the top of HN.

<comment><USER9> But being contrarian to anything to do with blockchain/crypto is definitely a way to get comment upvotes on HN.

<comment><USER7> "Contrarian" implies there's some kind of consensus that blockchain projects are useful. They're not, as evidenced by the minuscule numbers of actual users. All the talk of "crypto Web 3.0" is total bullshit with no plausible path to executing on any of the promises made.

But of course there's thousands of people who still hope to make rich like the 2017 ICO scammers, so the hype train rolls on with these pointless expensive conferences around the world where the faithful console themselves that another boom is surely coming. The crypto-faithful are the contrarians.

<comment><USER10> I'm not particularly pro blockchain although I think the tech is pretty neat. The only example of a blockchain being useful I've seen was Estonia's cross roads. They use it for their citizens, so things like medical records are stored on there somehow, and then every view of them is recorded. This way you can see who is looking at your info, and punish bad actors for doing so.

I think they use it for other aspects too, maybe voting? Not sure.

But of course that's totally centralized.

No idea what the hell web 3.0 is or how that'd work.

<comment><USER7> Storing medical records on an immutable multi-party blockchain is not only a terrible idea but also clearly illegal in the EU (of which Estonia is a member).

So most likely it's a regular database -- and then we're back to my original comment: where's the use case for "custom blockchain" over PostgreSQL?

<comment><USER11> use cases that require the functionality of reaching distributed consensus on what should be added, removed, stored on that DB.

in blockchains, how consensus is reached is also formalized so that there is a verifiable and distributed audit trail for every user. blockchains also automatically backup everything in a more distributed fashion, allow for higher participation, enable incentive mechanism experimentation, tokenization, useful ZK-proofs... all without the NEED to trust trust a centralized DB.

if it doesn't have any of the above features, then a reason for using a centralized, private blockchain is to more easily distribute/decentralize that consensus-reaching DB in the future.

... also, blockchains aren't immutable if the consensus agrees to change something inherent in the protocol. this happens with every hard fork.</comment></comment></comment></comment></comment></comment></comment>


Apple considering letting users change default email, browser, music apps in iOS - <AUTHOR> https://arstechnica.com/gadgets/2020/02/apple-is-considering-letting-users-change-default-email-browser-music-apps-in-ios/ <comment><USER2> The inability to change default apps is the primary reason I won't even consider an iPhone when purchasing a new phone. If Apple were to make this change I would seriously consider an iPhone when next purchasing a phone.</comment>


Conservatism and cognitive ability are negatively correlated - <AUTHOR> http://ebiquity.umbc.edu/blogger/2009/04/25/conservatism-and-cognitive-ability-are-negatively-correlated/ <comment><USER2> More food for the poisonous group-think infecting my generational and cultural peers. Why engage with the arguments of people that disagree with you, when they're just stupid and/or evil? Best just to mock them and revel in a comfortable sense of smug superiority. Everybody agrees with you, so your dishonest behavior will be reinforced and rewarded.

<comment><USER3> I agree wholeheartedly. It's far too easy these days to immerse yourself only in the opinions with which you already agree, and to dismiss anything that is challenging or different.

Here's the thing: if you're going to start looking for challenging opinions, it's best to start in places other than talk radio and television news. Stop dismissing credentials. Stop vilifying academic research. Stop rewarding people who are merely controversial, or who play on petty emotional impulses or thinly-veiled bigotry.

Start rewarding depth of analysis, argument and complexity, because the world is a complicated place, full of colors and shades of gray, and no sound bite can possibly encompass it all.

<comment><USER4> > Stop dismissing credentials.

Err, isn't this the opposite of what you should be doing? Credentials are cached judgements of merit; bypass the cache and judge the merit of the arguments for yourself.

<comment><USER3> Cached judgments of merit? Give the strained engineering metaphors a rest. This has nothing to do with caching, and has everything to do with filtering out bad information.

For any sufficiently complicated subject, your average person lacks the knowledge, experience or intelligence to weigh arguments solely on their merits. It isn't popular to say here to a bunch of opinionated techies, but credentials are a way of bypassing limitations in our own knowledge.

Said another way: there are subjects that must be learned through experience. I am more inclined to believe the opinions of a World Bank economist than I am to believe the comments of JoeThePlumber123456 in some online libertarian forum.

</comment></comment></comment></comment><comment><USER5> As a conservative, I concede some negative correlation could be present here. Certainly not a strong one, but perhaps a statistically measurable one.

There are a couple of reasons off the top of my head for this. Our institutions of higher learning are, I think this is not in debate, generally left leaning. Kids that go there are smart enough to go to college, but they are kids, and some of them will be swayed left in that atmosphere, even if they might not have been if not exposed to it. That alone should skew the distribution as the article indicates. There's also the religious aspect, where intellectuals tend to be less religious, and by definition then, less conservative.

I'm not sure what someone would do with this information, other than use it to make statements that would not generally be accurate.

<comment><USER6> When you boil cultural conservatism down to its essence, as separate from the concepts of economic liberty which conservatives lean towards, the basic idea is that there is wisdom in the prevailing traditions and cultural attitudes. The wisdom can defy thoughtful analysis. It's the concept that society is the way it is because a process of darwinian selection has settled on the arrangement and it is dangerous to wantonly mess with this complex system.

I would not be surprised that higher IQ people tend towards a certain arrogance that is dismissive of the idea that cultural traditions and attitudes carry value that defies individual understanding. Away from the cultural conservatism and towards market liberalism you often see the same thing: certain smart people can't cope with idea that there's a complex, self regulating system that defies understanding and should not be messed with.

<comment><USER7> "It's the concept that society is the way it is because a process of darwinian selection has settled on the arrangement and it is dangerous to wantonly mess with this complex system."

An economist sees a $100 bill on the sidewalk. He neglects to pick it up because it can't possibly be real. If it were, an efficient market dictates that somebody would already have picked it up. A five year old follows behind, picks it up, and exclaims "Look ma, I just found $100." The economist turns around and says, "See? I was right."

Just because Darwinian selection gives better results than any individual decision does not absolve you from making individual decisions. It works because of the presence of mutations: take away the mutations, and evolution ceases to give useful results. You see the same problem in finance: the market is efficient only to the extent that people do not believe it is efficient, because once people start believing that it's efficient, they'll invest in index funds and nobody will actually scout out the information needed to drive good stocks higher and bad stocks lower.

In short, I think that culture is a complex, self-regulating system, and that alone is why it should be messed with.

</comment></comment></comment><comment><USER8> The obligatory link for any discussion of a report on a research result like that is the article by Peter Norvig, director of research at Google, on how to interpret scientific research.

<http://norvig.com/experiment-design.html>

Checking this blog entry point by point against Norvig's checklist would be good mental exercise.

<comment><USER9> I would worry about publication bias here, since it's a metastudy and few people would publish such a study showing that, would you know, there's nothing going on...

</comment></comment><comment><USER10> The definition of Conservative used is laughable. Religious belief has nothing to do with whether you're a conservative or not, and there's no mention of small government, lower taxes, which _are_ what conservatism is about. The definition seems to be a caricature of America's religious right, but the sample is of _foreign_ students in the US. In other words, the definition is based on a subset of American conservatives, which has no equivalent in many of the countries that the students will have come from.

<comment><USER2> >"there's no mention of small government, lower taxes, which are what conservatism is about."

I disagree. I believe Conservatism is context-dependent.

In the 1700's, Conservatism would have meant resisting the Democratic revolutions in places like the US and France. That's why Edmund Burke's pieces against the revolution in France are still considered important tomes in Conservative thought.

Modern American Conservatism is weird. It was not meant to preserve the old order, but to rebuild an order that no longer existed. Limited government was thoroughly eradicated by the New Deal, which the Conservative movement was born in opposition to. Thus, it is in some ways a "Revolutionary Conservatism", which is slightly oxymoronic.

</comment></comment><comment><USER11> I find it interesting that the test groups were students at community colleges and foreign applicants. Wouldn't it be far better to judge "intelligence" from students at a four year university, or those studying higher education? And just students? To me, this paper seems to be written to prove a hypothesis, not to test it.

</comment><comment><USER12> I'm getting more liberal as I get older. It's good to know that I will also be getting smarter.

<comment><USER13> Correlation does not imply causation.

<comment><USER14> (Yes, that's the joke...)

</comment></comment></comment><comment><USER15> Important note: the study's definition of 'conservative' does not map directly to 'conservative in domestic US politics'.

Also, it is from a study by a Singapore-based academic, based on a pool of foreign students seeking entry to the US, and community college students (unclear where).

Less-intellectual but traditional-hopeful-and-hard-working conservatives could easily be overrepresented in such a study population.

<comment><USER16> Yes - their sample selection is a little interesting. As their definition of conservatism included valuing hard work, I wonder if all the study has shown is that 'if you work hard, then you don't have to be as intelligent in order to get into the same university as someone who works less hard'.

</comment></comment><comment><USER17> Something I always look at in these kinds of studies is what the sample group is. There's a statistical phenomenon called "explaining away" which often causes spurious correlations. For example: measure the athletic and intellectual abilities of American college students. You'll find a fairly strong negative correlation, even though in the general population there's no correlation or a weak positive correlation.

Why? Admission to college has two possible (but non-exclusive) explanations, athleticism and intellect. These explanations "compete" to explain the fact that a given student got in. Roughly speaking, the presence in the general population of unintelligent non-athletes contributes a positive term to the (near-zero) correlation. These people are removed from the student population, so the total correlation is lower, and hence negative.

Now, this experiment studied student applicants to American universities. If both intelligence and social conservatism in some way cause people to apply to American colleges, a negative correlation between these traits will be induced in the pool of applicants. Off the top of my head, one such cause might be that people with higher social status are more likely to apply to university, and high social status correlates positively with increased acceptance of the social order. I find this rather more plausible than the easy conclusion that "conservatives are dumb", even though it's a more complex causal chain.

</comment><comment><USER18> To look at this politically, the more educated an American, from high school dropout through college graduate, the more likely they are to vote Republican-- a pattern that flips dramatically at the very top. College grads are more likely to be GOP but folks with graduate degrees are fairly strongly Democratic. Even in the Democratic wave in 2008 this general pattern held true-- Obama only beat McCain by 2 points among college graduates, and it was the first time a modern Democrat candidate beat a Republican candidate among college graduates.

[http://elections.nytimes.com/2008/results/president/national...](http://elections.nytimes.com/2008/results/president/national- exit-polls.html)

</comment><comment><USER19> Who cares about this article? Let's get back to hacking, and hacking-related news.

</comment><comment> patrickg-zill This has been bogus "research" since the 1960s.</comment>


Ask HN: Open-source voice assistants like Siri? Or can I build one on my own? - <AUTHOR> For a data sensitive home grown project I want to integrate an open source voice assistant or roll my own.
Do you guys have any tips or experience with this and how to get started? I expect there to be so me gotcha's that I am unaware of.
The voice assistant does not need to be perfect but does need to be good. It should capture at least 80% of what I say in formal non-slang English correctly. I want to be able to speak in sentences, like I do with Siri.
What would your approach be to build or integrate  this? Is it even feasible?
I am willing to invest one to two months full-time on learning the required machine learning. I currently know basic neural nets (Michael Nielsen's book), basic statistics (e.g. logistic regression) and basic machine learning (SVM, Knn, PCA, random forest, decision trees, bag of words). <comment><USER2> You might be interested in trying Rhasspy: [https://github.com/synesthesiam/rhasspy](https://github.com/synesthesiam/rhasspy)

Rhasspy lets you describe the set of sentences you want to speak using a simple grammar with annotations for named entities ([https://rhasspy.readthedocs.io/en/latest/training/#sentences...](https://rhasspy.readthedocs.io/en/latest/training/#sentencesini)). It outputs JSON over HTTP/Websockets/MQTT, so it works well with NodeRED, Home Assistant, etc.

Disclaimer: I created and maintain Rhasspy.

<comment><USER3> That looks really impressive, integrating a number of open source tools with a simple but nice UI.

Do you have any measures of how well it recognises spoken commands?

And have you seen anyone using it with non-American accents for English? (I ask as it relies on the CMU dictionary and tools I've seen use it tend to struggle with other accents, understandably)

<comment><USER2> Thanks! In tests with a high quality headset mic, I've been able to get up to 98% (intent) recognition accuracy. Keep in mind that this is for a closed domain with only ~600k possible sentences. I'd expect performance degradation with a free-standing mic like the PS3 eye, but I don't have any measurements yet.

Because Rhasspy combines both a speech and intent recognizer, transcription word error rate isn't as important if the correct intent/named entities can still be recognized. When your intents have more distinct vocabularies, your recognition rate will be higher.

I've had folks with British and Australian accents use Rhasspy successfully (with the CMU English 5.2 acoustic model). Some recent tests with an nnet3 Kaldi model have produced better results ([https://github.com/gooofy/zamia- speech](https://github.com/gooofy/zamia-speech)), especially with noise. I plan to add this model to Rhasspy in the near future.

If you're specifically thinking of an Indian accent, I noticed that CMU recently published an Indian English acoustic model ([https://sourceforge.net/projects/cmusphinx/files/Acoustic%20...](https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/Indian%20English/)). I'd be happy to add this to Rhasspy if you're interested.

</comment></comment></comment><comment><USER4> I've seen this one mentioned:

[https://mycroft.ai/](https://mycroft.ai/)

[https://github.com/MycroftAI](https://github.com/MycroftAI)

<comment><USER5> There is also this [https://snips.ai/](https://snips.ai/)

</comment></comment><comment> 52-6F-62 There's Snips which has something of a developed ecosystem surrounding it now

[https://snips.ai/developers/](https://snips.ai/developers/)

[https://github.com/snipsco](https://github.com/snipsco)

</comment><comment><USER3> This is definitely feasible, it'll depend on how much you are happy to go for tools like those mentioned here or if you want to roll your own (which I expect would be enjoyable but much slower)

If your roll your own, you'll probably still want to reuse existing components for wake words, ASR and TTS, simply training them for your specific needs.

One tip: aim for higher than that 80% target - the sentence you mention that in had 16 words, so you'd expect 3.2 errors if you read that, which will quickly get annoying (it could throw your intent recognition off completely). If you've got the ability to restrict it to a narrow vocab then you can train a language model just with the minimal words needed and that should help the word error rate dramatically.

</comment><comment><USER6> I tried a few of the open source available assistant-like systems on my RaspberryPi and found that none of them is even half as good as Google's or Apple's, which is expected.

After thinking about it though, I found that I don't need the voice recognition at all really. What I really wanted is a device that can help me do a few things well, mainly for my case, listen to the radio, announce calendar events, and train time (Stockholm in my case), so I just built that into a raspberry pi with a tiny screen and a few buttons. This little device is more than enough for my case.

<comment><USER7> After the initial excitement over the last six months with my new phone and new assistant I found I was using it less and less. It just takes so much longer than pressing the buttons and is far less accurate with complex things. But then again I haven't been trained on what it can do.

</comment></comment><comment><USER8> I'm open-source oriented, and others have mentioned Mycroft so I'd add Leon AI [https://getleon.ai/](https://getleon.ai/)

<comment><USER9> It's useless because the core machine learning part is implemented in JavaScript (nodejs). Problem is most of the state-of-the-art codes out there are done in python.

</comment></comment><comment><USER10> I have been wondering something similar. Just a simple voice-command thing. Not a general purpose, any voice, assistant, but just to be able to say a word 10 times to train (form some average) and then assign a command to that word. Something like CellWriter does for handwriting but for voice. Does this exists?

</comment><comment><USER11> There was a voice controlled toy robot, Verbot, in the 1980s. Surely we can improve on that.

</comment><comment><USER12> like ironnman ?

</comment><comment><USER13> I heard there are some project in GitHub. You may check them out..</comment>


The end of the PC era - <AUTHOR> http://gigaom.com/2011/08/18/the-end-of-the-pc-era/ <comment><USER2> I am still wondering why we are calling this the 'post-pc era'. We didn't have the 'post-desktop era' when laptops became the most common form-factor for personal computers.

Tablets and 'mobile devices' are different form factors. Different form factors often result in different hardware needs (we didn't have track-pads and batteries before laptops did we?). Those who are able to get these form- factor and hardware built and usable first experience an initially high sales volume.

Compaq led the portable computer world for a few years when it was first introduced, Sony led the walkman market, etc. etc.

Tablets are not the final form-factor, and the market is in it's infancy. Isn't a tablet just the extension of the PC market, rather than a completely new market?

When I think 'post-pc' I think of a time when we'll be interacting with any object we touch, without needing to think it is a device of this sort or that.

<comment><USER3> Because this is a huge shift from the PC era. In the same way as shifting from mainframes to micro's was, and then again from micro's to PC's. Shifting from PC's to tablets again changes how and what we can do with computing.

<comment><USER2> Mainframes to micros/pcs were big shifts because it changed who owned and what you did with the technology.

A company owned a mainframe, it wasn't yours. The microcomputer was yours, and I think the pc was just a grown-up version of the microcomputer.

What is it that you are doing with your tablet that you can't/don't do with your laptop. They are more portable, but people clearly don't have a problem bringing their laptops to the coffee shop.

I don't deny that there is a place for tablets. It is a great form-factor. Much better for surfing the web while on the couch. But is that enough to make the 'post-pc' era? They serve the same people and for the most part the same function as a pc. Therefore, I see it still as just another form factor of a pc.

The people I know who have iPads (and one Xoom) surf the web with their tablets, maybe write the odd e-mail.

Is the shift to the 'post-pc' era anywhere near as world-changing as the web?

Can you elaborate on the 'how and what we can do with computing' that we couldn't do before?</comment></comment></comment>


Constructive - <AUTHOR> http://xkcd.com/810/

<comment><AUTHOR> I typically wouldn't submit a webcomic to HN but found this XKCD particularly pertinent.

</comment><comment><USER2> The strange thing is that given Randall's influence, this has a pretty good chance of being implemented.

<comment><USER3> To a degree it is, here and on sites like Stack Overflow, by doling out privileges based on karma. Randall has just described a more extreme version of the same idea, where membership itself is one of those privileges.

<comment><USER4> Forgive my noobness, but who is Randall?

<comment><USER5> The guy who writes xkcd

</comment></comment></comment></comment><comment><USER6> Just tried to submit it, was already here...

I think this one really touches the heart of HN :).</comment>


Good or bad weed-out process? https://github.com/m2mIO/hireme - <AUTHOR>

It's been hard to find adequate skill-sets in the Denver startup environment. Thoughts on the new weed-out process @ https://github.com/m2mIO/hireme?<p>Note: I made up the API call, it's not finished yet :) Also note: we're still hiring in Denver. <comment><AUTHOR> We think we're funny. Read the compensation:

<http://denver.craigslist.org/cpg/2929545360.html>

</comment><comment><USER2> It certainly will keep the recruiters away.

</comment><comment><AUTHOR> EDIT: the API call works now.</comment>


Don't quit your day job (a YC survey) - <AUTHOR>

As stated most people selected to be funded by YC are in their mid 20's. so I thought I'd post a quick survey to find out a little more about who's all applying for YC funding.

 1). Name
 2). Age
 3). Location
 4). What's your day job

  It's that simple.
 William 24 (almost 25) Kitchener/Waterloo Ontario Canada Sr. PCB Designer <comment><USER2> 1\. Auston 2\. 20 3\. South Florida 4\. Web Developer/EVERYTHING INTERNET at RushMyPassport.com

</comment><comment><USER3> 1\. Tirrell 2\. 30 3\. Orlando, FL 4\. Sr. Engineer</comment>


Fiddlewax: A New Musical Instrument - <AUTHOR> https://fiddlewax.com/?play

<comment><AUTHOR> Just launched this guy yesterday. It's still pretty minimal, but thought it'd be a good idea to get something up and hear what people think.

So yeah, what do you think of Fiddlewax? :)</comment>


Meet Hammad Safi, the 11-year-old motivational coach who has Pakistan enchanted - <AUTHOR> https://www.dawn.com/news/1412643 <comment><USER2> I was going to say "this won't end well". but on the other hand I came out okay and I was raised in a cult that sought guidance from a bunch of old men who lived the most unnatural cloistered lives ever. Apparently I was supposed to gain insight from men without families who couldn't come to terms with their own (homo)sexuality. I was even an altar boy for awhile.

<comment><USER3> Pakistan is a very young, underdeveloped country. I think that's part of it.

If you are well educated, it makes you like an "elder" compared to people who know less than you. With the high illiteracy rates, a well educated 11 year old (the age of a sixth grader here in the US) absolutely can be a wellspring of knowledge to a country where a lot of people have a 2nd to 4th grade education.

That doesn't mean this won't go bad places. But I think it helps to consider the context.

</comment></comment><comment><USER4> "he can become what they want to do with him, but it will take time." Who is "they" and what are they trying to "do with" this poor child?</comment>


Belgium, Netherlands to exchange territory - <AUTHOR> http://bigstory.ap.org/article/bfa0fa64233d4d19b6ff1b614e1693cd/belgium-netherlands-exchange-territory-without-fight <comment><USER2> FTA: "He highlighted how complicated history has woven the borders in the area close to where Belgium, the Netherlands and Germany touch, leaving enclaves and strangely twisted borders"

Hah, that's one way to describe it. There are pieces of the Netherlands inside pieces of Belgium inside the Netherlands, e.g.: [https://www.google.com/maps/place/51%C2%B026'55.8%22N+4%C2%B...](https://email@example.com,4.9396925,17z/data=!3m1!4b1!4m2!3m1!1s0x0:0x0)

<comment><USER3> I think that map should be part of every intro CS course. It's a great intro to a world where no you can't just use a bit to store gender. And names, yea lets not talk about names.

<comment><USER4> >no you can't just use a bit to store gender.

Why not? The bit can store male/female and you can leave it NULL for "prefer not to say".

<comment><USER3> A bit does not get 3 values.

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

<comment><USER4> True, though within a database you can leave a field as NULL.

</comment></comment></comment></comment></comment><comment><USER5> I think this is it: [https://www.google.com/maps/place/Vise,+email@example.com,...](https://www.google.com/maps/place/Vise,+email@example.com,5.684823,1758m/data=!3m1!1e3!4m2!3m1!1s0x47c0ee6427760e23:0x40099ab2f4d7200)

<comment><USER6> I passed that place once, when walking from Petit Lanaye along the Rue Collinet to Maastricht. Normally, when you cross an international border, there's usually a checkpoint, or at the very least a sign. There was no sign. I only realized I'd crossed into the Netherlands when I heard people speaking in Dutch. The only indication of country around there seems to be the language spoken by the inhabitants, and the parcel of land being given up by Belgium is uninhabited.

<comment><USER7> There are no borders in the Schengen area, though.

<comment><USER8> Here, that is a bit older. Border controls within the Benelux were abolished in 1970 ([http://www.britannica.com/topic/Benelux-Economic- Union](http://www.britannica.com/topic/Benelux-Economic-Union))

</comment></comment></comment></comment><comment><USER9> Sounds to me that more effective police cooperation could be good to.

For example here in Norway we have, as I understand it, bilateral agreements that allows police officers from the other Scandinavian countries to enter Norway for search end rescue, and in some other cases if it is an ongoing situation. They may also request limited police authority in Norway by calling the local head of police (a relative quick and informal process).

<comment><USER10> Finland and Sweden also adjust the border between them every 25 years without drama.

</comment></comment><comment><USER11> Something for developers that have to deal with post codes addresses and this kind of stuff: even borders in stable regions can change.

<comment><USER12> This seems to concern a small unpopulated peninsula with no buildings at all, so no problem in this case.

</comment></comment><comment><USER13> This kind of sounds like Northwest Angle [1], which, as an American, I think looks pretty ridiculous on our maps and we should probably just give it to Canada in exchange for some oil or something.

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

<comment><USER14> I'd agree were it not for this:

>Seventy percent of the land of the Angle is held in trust by the Red Lake Indian Reservation (Ojibwa).

It sounds like 70% of the land is not the U.S. Government's to give.

<comment><USER15> The Indian reservations belong to the US. If that wasn't the case and they were sovereign states nevermind giving them to Canada, couldn't they raise their own armies or build a Russian military base on their land?

<comment><USER14> >The Indian reservations belong to the US.

Notice how carefully I worded my comment:

>70% of the land is not the U.S. Government's _to give._

"The federal Indian trust responsibility is [...] a legally enforceable fiduciary obligation on the part of the United States to protect tribal treaty rights, lands, assets, and resources." [0]

The questions of armies and building bases I'm not sure have been raised, so the legal precedents might not exist. Sufficed to say, however, that the GP's hypothetical sale to Canada would be wholly infeasible in light of the treaties between the sovereign tribes and the US, as well as the legal complexities those entail.

[0][http://www.bia.gov/FAQs/](http://www.bia.gov/FAQs/)

<comment><USER16> The questions have been raised. They are actually covered in the FAQ you linked to:

"Limitations on inherent tribal powers of self-government are few, but do include the same limitations applicable to states, e.g., neither tribes nor states have the power to make war, engage in foreign relations, or print and issue currency."

I'm not sure if this would prohibit raising an army per se, but what good is raising an army if you don't have the power to make war? Building bases is wholly out of the question, though, since that would involve engaging in foreign relations.

</comment></comment></comment></comment></comment><comment><USER17> And then there are the Norwegians: [http://www.telegraph.co.uk/news/worldnews/europe/norway/1205...](http://www.telegraph.co.uk/news/worldnews/europe/norway/12055542/Norway- launches-campaign-to-give-Finland-a-mountain.html)

</comment><comment><USER18> I'd thought it might be this mess, initially:

[https://email@example.com,4.9327...](https://firstname.lastname@example.com,4.9327632,15.25z/data=!4m2!3m1!1s0x47c17d64edf39797:0x47ebf2b439e60ff2)

But it's somewhere else.

<comment><USER19> There's another enclave inside Flanders that causes Belgian politicians a lot more headaches, hehe.

</comment></comment><comment><USER20> And here i thought they going to fix that town that is cut in half where people had to move their front door to be in the "right" country again.... [https://en.wikipedia.org/wiki/Baarle- Nassau](https://en.wikipedia.org/wiki/Baarle-Nassau)

</comment><comment><USER21> The fact that The Netherlands and about half of Belgium share the same language, Dutch, also helps. These two countries separated only about 150 years ago. (The other half of Belgium speaks French, the rest German and Belgium is the biggest mistake in the universe)

<comment><USER22> Belgium and The Netherlands were not one country since 1579 ([https://en.wikipedia.org/wiki/Union_of_Arras](https://en.wikipedia.org/wiki/Union_of_Arras)) except for the period between 1815 and 1830.

<comment><USER23> "Belgium" was occupied since 1579 (till 1815 or 1830 for a then small elite minority), the "Netherlands" fought another 80 years to liberate themselves. " " Because Spanish (Habsburg) territory at that time, known as the lowlands.

</comment></comment></comment><comment><USER24> I think Belgium got the poor end of the deal.

[https://goo.gl/maps/byhcGJeHsKS2](https://goo.gl/maps/byhcGJeHsKS2)

</comment><comment><USER25> I'm in Eijsden at the moment! I have family who live here, and we often walk down there and have lunch by the Meuse / Maas. It's quite a surprise to see it on HN.

</comment><comment><USER26> No map. Of course.

<comment><USER27> Don't know why you were downvoted. It's absurd to include 5 photos with the article, but not a simple plan view of the territory.

<comment><USER26> It's the journalists who go for the human interest angle instead of any petty details. It's like when camera people at conferences exclusively show the presenter instead of the slides they are talking about (and/or pointing at), since it's more interesting to show a person than some boring slides. The end result is that those who actually want to know any useful details won't get any.</comment></comment></comment>


Bcash and Coinbase: collusion, manipulation, and FUD - <AUTHOR> https://medium.com/@brndnmtthws/bcash-coinbase-collusion-manipulation-and-fud-10cba996d769 <comment><USER2> Very interesting article that does a huge disservice to itself by not only stating facts but also taking personal potshots (calling roger ver a d-bag, whether true or not, weakens your case).

<comment><AUTHOR> In hindsight, it was poor taste, so I edited it out. However in this case I think the character of the individuals involved is material.</comment></comment>


Sentiment Analysis Using Python in 3 Minutes - <AUTHOR> https://www.youtube.com/edit?o=U&video_id=9SHcFrh4y1Y <comment><USER2> wrong link dude

<comment><AUTHOR> nope it works</comment></comment>