Whatever you do, don't say yes when this chatbot asks, 'Can you hear me?' - <AUTHOR> http://www.latimes.com/business/lazarus/la-fi-lazarus-chatbot-phone-scam-20170324-story.html <comment><USER2> So we'll fight these chatbots with receptionist bots of our own that will administer Turing tests to incoming calls.

Then we'll have escalating phone-bot intelligence wars. The future looks bright!

</comment><comment><USER3> I received this call last week. I sent a message to a friend, and received a phone call about 10 seconds later, and without thinking I answered without even glancing at the caller ID. I assumed it was the friend. I got the whole "having a problem with my headset" thing, and immediately hung up. My friend doesn't use a headset for calls so I realized it was a "telemarketer" and thought nothing of it.

I had seen facebook posts about this before. but they all came from people who would post thing like "if you post 'I dont allow facebook to use my private data', then they cant!" or "forward this and bill gates will give you money!" so I never took it seriously. Seeing this article and having had the call myself, it becomes so much more real and scary. Granted, I just hang up on telemarketers without even saying "no thanks"...

This could also possibly be an issue for people who like to "lead on" telemarketers. If anything you say while trolling them can be editing to sound like an affirmation, it's a bad idea. Hanging up is the only solution (for now)

</comment><comment><USER4> Color me skeptical. I've never needed voice authorization for a CC transaction. Ever. And I don't give my CC # to random people who call me from strange numbers. Seems like, if they already had my CC data, they wouldn't need to call me. The "supporting" link FTA doesn't add much, either. In fact, it says that the exploit is still considered "unproven". Maybe they plan on doctoring the whole audio transcript and then submitting it as "proof" in their favor once someone issues a chargeback?

</comment><comment><USER5> Good luck with this in Europe. Your agreement over the phone is just the first step for someone to actually prepare a contract for you, which you need to sign off later. They can go provide you services at their risk before this succor, though.

The thing I do not understand in this articke is how they get the credit card number.

</comment><comment><USER6> I've received these calls and just hung up.

Who knows what they're selling but it's very unlikely to be a scam to harvest an audio clip of your voice saying "yes".

There's just no way anyone can buy something and bill it to you just with that.

</comment><comment><USER7> I've gotten these calls. But how do they "bill" you just by saying "yes"? They don't have my credit card number or any other financial information.

</comment><comment><USER8> Kind of reminds me of Sneakers. My voice is my passport. Verify me.

</comment><comment><USER9> This is an urban legend.

<comment><USER4> Your comment is a little broad; maybe that's why you've gotten downvoted. But effectively I agree with you. I know for a fact people DO get this exact call. But the evidence for the endgame of the exploit is pretty weak.</comment></comment>


Open source React web application with Firebase - <AUTHOR> https://github.com/chaoming/fireact <comment><AUTHOR> The purpose of Fireact project is to provide a starting point for building web applications that require user management functionalities, such as SaaS, membership websites, etc.</comment>


Writing a Curriculum Vitæ - <AUTHOR> https://bastian.rieck.me/blog/posts/2020/cv/ <comment><USER2> Lovely fonts in this article, BTW. Very pleasant to read.

And the content is pretty good too!

<comment><AUTHOR> Thank you very much :)</comment></comment>


We Are Nowhere Close to the Limits of Athletic Performance - <AUTHOR> http://m.nautil.us/issue/51/limits <comment><USER2> Dupe [https://news.ycombinator.com/item?id=15052866](https://news.ycombinator.com/item?id=15052866)</comment>


Ask HN: is IBM the new Google? - <AUTHOR>

Given Watson's capabilities in parsing vast amounts of data and "understanding" subtle meanings, could (/should) IBM leverage this technology to search and parse the web, and answer free text queries? <comment><USER2> I doubt IBM is interested in running a general purpose web-scale search engine. They seem pretty focused on selling stuff to businesses for internal use. If there was any sort of interesting connection between them and Google on something like this, I'd think it might involve Google licensing IBM's technology. But, for all we know, Google already have - or are developing - have the same ability. I mean, they don't employ Peter Norvig and people of his caliber for no reason.

<comment><USER3> Right IBM is positioning the DeepQA technology at business insight and data analysis. They have said medical would be the first and most applicable fields. If I where Google I would not be that concerned as of yet. The heart of DeepQA is UIAM <http://uima.apache.org/> which is freely available so if Google really wanted to they could implement a good deal of the same technology granted UIAM is not the only piece of the puzzle but it is a large piece.

<comment><AUTHOR> I agree that IBM has a "high purpose." Though, I'm not convinced. Given that Google also tries to branch out to other domains, why shouldn't IBM do the same? Google offers enterprise search boxes, it is (try to get) involved in the healthcare domain (through collaboration with medical institutions as well as Google Health), etc. Chess, I think, was too limited and market share is too small (hence, no threat to EA). But something like this is applicable to many different domains, including a web search.

<comment><USER2> _Though, I'm not convinced. Given that Google also tries to branch out to other domains, why shouldn't IBM do the same?_

Sure, I agree in principle. And I suppose if IBM management thought that was the right avenue for them to grow, they would do it. I just haven't seen much to make me think IBM have any interest in the consumer space at the moment. That could certainly change, but I personally wouldn't bet on it happening anytime soon. But, weirder things have happened...

<comment><USER3> Yeah, I would agree with the no movement towards the consumer space, if anything they have retreated from it with the sale of the PC division to Lenovo.

As well the time to challenge Google was 5-7 years ago, when they where at their peek of dominance.

The way people consume information on the net is changing and even Google has to figure out where the chips are going to land. I am not saying Google is going to be irrelevant tomorrow or even that they will be relegated to a niche player just that their search crown gleamed a little brighter a few years ago.

If IBM's history is any indicator, they would rather license the technology to Google than to dilute their business model with consumer facing technology.

</comment></comment></comment></comment></comment><comment><USER4> Not any more than Deep Blue made them the new ElectronicArts.

</comment><comment><USER5> unlikely. even if they could port it into a web interface to compete with google, i'd bet that IBM would rather wrangle watson into higher-end commercial usage, like medicine or law. that is what IBM does best.</comment>


Three word address for every place on earth [video] - <AUTHOR> https://www.ted.com/talks/chris_sheldrick_a_precise_three_word_address_for_every_place_on_earth <comment><USER2> TL;DW: [http://what3words.com/](http://what3words.com/)</comment>


Stan Lee has died - <AUTHOR> https://en.wikipedia.org/wiki/Stan_Lee <comment><USER2> I know Stan wasn't a CS personality, but I would argue that his impact on hackerdom at large deserves the black bar. Please.

</comment><comment><USER3> Man, I just thought he would live forever. Rest in peace.

</comment><comment><USER4> I wrote an article to memorize him: [https://medium.com/boosto/stan-lee- excelsior-the-hero-behind...](https://medium.com/boosto/stan-lee-excelsior- the-hero-behind-heroes-3715adf918de)

</comment><comment><USER5> RIP Stan Lee (1922 - 2018)

</comment><comment><USER6> (deleted)

<comment><USER7> Confirmation from the Hollywood Reporter is here: [https://www.hollywoodreporter.com/news/stan-lee-marvel- comic...](https://www.hollywoodreporter.com/news/stan-lee-marvel-comics- legend-721450)

<comment><USER6> okay so I'd suggest changing the top level post URL to this URL, and not wikipedia. Seen dozens of wikipedia-edit celebrity death hoaxes in the last ten years.

<comment><USER7> It's already been submitted, so you can upvote: [https://news.ycombinator.com/item?id=18434698](https://news.ycombinator.com/item?id=18434698)

It's picking up karma faster than this submission is, so this is a problem that will shortly take care of itself.</comment></comment></comment></comment>


Show HN: Montage – 8 hand-picked playlists. 200 of YouTube's funniest videos - <AUTHOR> https://www.montage.watch/ <comment><AUTHOR> Hey everyone! This is a prototype I threw together with a friend.

We hand crafted 8 playlists with 200 of YouTube's funniest videos.

We have 240p videos from way way back, sketch comedy, memes, skits, shorts and more.

We thought everyone could use a laugh right now.

Would really appreciate any feedback, especially about the content. Thanks so much!

</comment><comment><USER2> Content's super diverse. Never would've expected the "meme" category to be an ancient archive of meme sources...

</comment><comment><USER3> Love this— what I needed this quarantine haha

</comment><comment><USER3> Hell yeah! What I needed during quarantine</comment>


A warning about Venmo - <AUTHOR> A friend (who I later found out had two Venmo accounts) sent me a payment and now Venmo has deleted both of our accounts.  They sent an email that said:
After reviewing your account activity, we have found that your actions and activity have been in violation of this agreement, https://vemnmo.com/w/legal/us-user-agreement As a result, your account has been permanently deactivated and we regret to inform you that we can no longer offer you Venmo service.  Please be aware that any future contact or inquiries will not be answered and that this matter will be considered closed upon your receipt of this email.<p>I tried contacting them and they won't respond.  They literally deleted my account because someone else violated their terms of service.  After the Paypal acquisition they are acting exactly like Paypal did in the early days. <comment><USER2> Bullshit: no due process.

</comment><comment><USER3> It says _" your actions and activity have been in violation of this agreement"_. Why do you say _" they literally deleted my account because someone else violated their terms of service"_?

<comment><AUTHOR> Receiving money from someone does not require any action. They deleted my account because someone else sent me money and that person had more than one account. The fact that they said that I violated their terms of service does not in fact make it so.

<comment><USER2> Seems a bit kindergarten to punish sender and receiver when only one allegedly may have broken their "rules" and flaunt ignoring both: how to lose customers. I guess, post-merger, they don't care about optics.</comment></comment></comment>


Ask HN: Do I need to set up a limited company in the UK? - <AUTHOR> Hi HN,<p>A friend and I are soon launching a small subscription-based web application, charging a small monthly fee. We don't expect it to make huge amounts of money, so is it actually worth going to the hassle of setting up a company along with a business bank account for a project that might ultimately fail? Any advice would be appreciated, as neither of us have much knowledge of setting up small businesses. <comment><USER2> I would highly recommend setting up a formal business for personal liability protection, you wouldn't want some "small subscription-based web application" to tank you financially for years to come in some off the wall legal case no one could have seen coming. Always protect yourself and family.</comment>


White, male startup companies get funding for being white and male - <AUTHOR> http://geekfeminism.org/2010/11/29/white-male-tech-startups-get-funding-for-being-white-male/

<comment><USER2> Doerr lost a lot of points in my book. Maybe all of them (as if he cares about my scorecard).

Unfortunately though I think he has simply voiced what a lot of people, VC or otherwise, secretly think (or not so secretly, when not in mixed company).

If you're a minority or female, expect to be shut down at every avenue. It's not possible for you to succeed, so we will ensure that you don't.

</comment><comment><USER3> Seriously? He's an idiot for saying this, but...

"...nerds, with no social life who dropped out of Harvard or Stanford"

Is probably the actual important part. For example, I'm white and male. By these criterion, I would not be selected, because I didn't drop out of an Ivy, and have a social life...

He should relax his criterion so that he allows non-male non-white nerds who dropped out of Stanford/Harvard, but I kind of doubt the candidate pool would change much...

<comment><USER2> _He should relax his criterion so that he allows non-male non-white nerds who dropped out of Stanford/Harvard, but I kind of doubt the candidate pool would change much..._

Which is what makes what he said all the more perplexing. He could have probably also said "and are shorter than 7' tall and weighless than 500lbs and have not won a Grammy for best new R&B singer".

None of those change the candidate pool much either, yet wouldn't be worth saying. The only reason I can think that he would make the statement he did is because he believes that "white maleness" is an intergral part of the equation and contribute within an order of magnitude of the other things (Ivy league drop out with no life) -- otherwise you wouldn't mention it as it doesnt' change the "complexity".

</comment></comment><comment><USER4> Bollocks. If that were true all white male start-up companies would get funded and no females or any other minorities (females are a minority??) would ever get funded.

I think you can only say this when you take in to account the ratio of applicants.

Of course that can be countered with 'they're not applying because they know they won't be accepted' but I don't think that's going to cut it for me.

<comment><USER5> Did you read the article? It's based on a direct quote from venture capitalist John Doerr:

 _"That correlates more with any other success factor that I've seen in the world's greatest entrepreneurs. If you look at Bezos, or [Netscape Communications Corp. founder Marc] Andreessen, [Yahoo Inc. co-founder] David Filo, the founders of Google, they all seem to be white, male, nerds who've dropped out of Harvard or Stanford and they absolutely have no social life. So when I see that pattern coming in — which was true of Google — it was very easy to decide to invest."_

<comment><USER6> Did Doerr really say that? I'm asking because the examples don't really support the thesis. It seems like Jerry Yang would completely invalidate David Filo as an example. Also, I can't find any indication that Jeff Bezos ever attended Harvard or Stanford (according to Wikipedia he attended to Princeton and he graduated). Marc Andreessen attended the University of Illinois at Urbana-Champaign and also graduated.

<comment><USER5> Yes, according to the WSJ:

[http://blogs.wsj.com/independentstreet/2008/05/08/why- ventur...](http://blogs.wsj.com/independentstreet/2008/05/08/why-venture- capitalists-dont-want-you-to-have-a-sex-life/tab/article/)

</comment></comment></comment></comment><comment><USER7> Seriously? This is link bait.

It is hard enough to pick a winning portfolio of companies. Would anyone really intentionally handicap themselves and not try to pick the best ones? At the expense of their portfolio?

If a green woman walks in with a hockey stick graph, VBM, kicking ass, they will line up to write her a check.

</comment><comment><USER8> Insurance companies do the same thing: they do statistical analysis do determine factors that correlate with whatever it is they're looking for.

VCs aren't in the business of being fair; they're interested in making as much money as possible. If they find that white males are succeeding more often than other groups, they're going use that to maximize their profit.

<comment><USER9> Insurance companies do this, because they can't invest time in getting to know each end-user of their services _personally_.

Venture capitalists, can and _SHOULD_ invest time in looking beyond superficial details - and ultimately be able to understand each proposal on a deep level.

<comment><USER8> No argument there. I'm just trying to point out that it's not necessarily racism or sexism.</comment></comment></comment>


At 41.5%, the US now accounts for less than half of all mentions on Twitter - <AUTHOR> http://blog.mention.com/the-global-guide-to-twitter-mentions/

<comment><USER2> "Now"? This is the first time Mentions has had geolocation, so the US has probably been in the minority for some time. It's not exactly shocking, since Twitter claims to have nearly as many daily active users as there are people in America (270 million vs 300 million).

<comment><AUTHOR> Good point, the "now" implies a switch that may have happened actually some time ago.</comment></comment>


AdMob to stop support for webOS on Sept. 30, 2011 - <AUTHOR> http://www.webosroundup.com/2011/09/exclusive-admob-to-stop-support-for-webos-on-sept-30-2011/

<comment><AUTHOR> Google flexing its muscles against the biggest non-iPad tablet out there?</comment>


How do you find people to work with you on projects? - <AUTHOR> Hey,
I like to work on side projects and I would really like to find someone likeminded with whom to work on projects.
I only found collabfinder.com, which kind of sucks. Do you have any suggestions?
Best, Alin R. <comment><USER2> I'm Robert Lancer the CTO of Collaborizm.com. We help you build your team by engaging with our community in discussions.

Some success stories:

Stans Neuro Headphones - 261 team members · [https://www.collaborizm.com/project/41G1VZWCx](https://www.collaborizm.com/project/41G1VZWCx)

3D RPG Game - 75 team members · [https://www.collaborizm.com/project/146](https://www.collaborizm.com/project/146)

Room Cleaning Robot - 61 team members · [https://www.collaborizm.com/project/BJRTqrTs](https://www.collaborizm.com/project/BJRTqrTs)

Feel free to ask me any questions firstname.lastname@example.com

</comment><comment><USER3> I'd try find a repo you like and fixing bugs via pull requests. You can then see how you work together, how available they are, their coding and code review style. Then at some point offer to do a greenfield project together.

</comment><comment><USER4> Start working on a side project and write about it. Then submit your post(s) to the relevant places like Product Hunt, Hacker News, relevant sub-reddit, etc. This a) makes you start producing something, b) gets you to start "marketing it", c) allows some people to notice what you are doing and potentially start chatting with you about it, and d) is focused on producing rather than "collaborating".

</comment><comment><USER5> This is the one problem that I always have. I think of little project that has potential, and could be hacked together in a couple of days, but don't know people who'd like to be part of it.

Perhaps we can come up with an idea worthy of working on. Click on my profile to find my email address.

</comment><comment><USER6> "If you hire people just because they can do a job, they'll work for your money. But if you hire people who believe what you believe, they'll work for you with blood and sweat and tears."

</comment><comment><USER7> I search people for cooperation in facebook groups. Thy it.

</comment><comment><USER8> Go to events that interest you</comment>


Using PhantomJS at scale - <AUTHOR> http://sorcery.smugmug.com/2013/12/17/using-phantomjs-at-scale/

<comment><USER2> This is a particularly big issue for us because we spend more than 50% of our resources on serving robots (not humans!).

I wrote about this back in July of 2010, and the problem has only gotten worse: [http://don.blogs.smugmug.com/2010/07/15/great-idea-google- sh...](http://don.blogs.smugmug.com/2010/07/15/great-idea-google-should-open- their-index/)

It's a crazy problem to have, but we haven't found a solution. We can't just disappear from all the various indexes and collections that these robots represent.

</comment><comment><USER3> I face a similar issue going forward. I think [http://prerender.io](http://prerender.io) has been posted to HN before - seems to be a pretty reasonable plug and play solution.

<comment><USER4> Thanks for the link! We started working on this project in early 2013, prerender.io didn't exist then (I think).

prerender.io does do most of what we do. A few things we do differently are keeping a pool of PhantomJS workers always available, killing HTTP requests that never complete, putting it behind HAproxy and logging.</comment></comment>


Oracle's software reign will be toppled, claims top exec at emerging Korean firm - <AUTHOR> http://www.information-age.com/industry/software/123458371/oracles-software-reign-will-be-toppled-claims-top-exec-emerging-korean-firm

<comment><USER2> Enterprise will keep on using Oracle, not for being that its a great product. But nobody wants to takes the risk of migrating to the alternate platform, which doesn't have immediate payback. And mostly, in lot of enterprises nobody rewards you tasks like migration, which don't have immediate payback.</comment>


Show HN: TutsWiki, Collaborative Tutorials for the Internet - <AUTHOR> Problem: I was unhappy with the low quality tech content on famous websites like TutorialsPoint. We always come across some obsolete content, broken links, or bad practices on tech/programming websites but there's no way to fix that. It solely relies on the blog owners and sometimes they just stop keeping their sites up-to-date. Even if they want to, they cannot monitor each and every article/links/examples on their massive websites.
Solution: I made TutsWiki, an open-source website where people can review the content and modify it if they find any mistake in it.
How: Users can click on "Edit this page" button at the top right corner of each post. This will take them to the GitHub repository where actual content is present. They can modify the content and raise a "Pull Request". When the PR is approved, website content will update automatically.
Example: A CSV file that I used in my example program was broken. The original site which hosted the CSV file had updated the URL along with the CSV content. It was 3 years' old article which I was not monitoring but thanks to a visitor who found out about it and raised a PR to fix it. Link to PR (https://github.com/TutsWiki/source/pull/3/commits/4ea5ecfb9b634d9a0fc04b341e6f316d0a98a875)
Challenges: I cannot work on this project alone due to a full-time job and household chores. I'm looking for contributors. I also have to decide the niche e.g. whether TutsWiki should only cover programming articles/tutorials or be open to all categories.
Note: Users can submit new content which will be available on the site once it's approved by mods e.g. pandas tutorial series (https://github.com/TutsWiki/source/tree/master/content/pandas%20cookbook)
Website URL: https://tutswiki.com/ GitHub project: https://github.com/TutsWiki <comment><USER2> love it, I was thinking about doing a similar thing. How did you think about github as a cms vs a wysiwyg thing like askalmanac?

<comment><AUTHOR> Open-Source, Support for Markdown format, Seamless integration with TravisCI/Wercker, Free hosting for static content. GitHub checks all the boxes. BTW I don't know about askalmanac. WYSIWYG is inbuilt in GitHub for Markdown.</comment></comment>


NOAA September Temperature Fraud - <AUTHOR> http://realclimatescience.com/2016/11/noaa-september-temperature-fraud/ <comment><USER2> Why don't they link to the original publications to make it easier to check their claims?</comment>


Squeezing the life out of your free Google Appengine Quota - <AUTHOR> http://blog.anekdotz.com/2010/04/squeezing-life-out-of-your-free-google.html <comment><USER2> _If you aren't going to query on a property, make sure to store it as a TextProperty and not a StringProperty._

Don't do this, use StringProperty(indexed=False) - works with the other property types as well.

<comment><USER3> Cool, I didn't know you could do this..

<comment><USER3> I updated the article thanks to you..</comment></comment></comment>


Lessons Learned - Viral Marketing For Entrepreneurs - <AUTHOR> http://www.forentrepreneurs.com/lessons-learnt-viral-marketing/ <comment><USER2> I think an "appetizer" is necessary to get the users love the site and make them sent invitations to friends. In case of YouTube, that was a video-clip that I adored, in case of Xing.com it was being able to see the profile of a friend I knew, and in case of Linked-In, it was seeing the profile of a world- wide famous developer.

I'm sure that, the most important factor driving the growth and affecting those viral marketing cofactors is this thing that I call "appetizer"

</comment><comment><USER3> Anybody else get an annoying dialog from this site complaining that your cookies are disabled?

<comment><USER4> Looks like it's cuz there is an embedded zoho sheet, try this: <http://etherpad.com/Jjj2UqtuDz></comment></comment>


Adsense will allow integration of other ad networks [video] - <AUTHOR> http://www.youtube.com/watch?v=4HyJPOVLd3I

<comment><AUTHOR> Here is the story:

[http://adsense.blogspot.com/2009/08/getting-most-revenue- fro...](http://adsense.blogspot.com/2009/08/getting-most-revenue-from- every.html)

Seems like direct competition with PubMatic.</comment>


SmugBlog: Your private photos are still private (response to "dangers of autoincrementing") - <AUTHOR> http://blogs.smugmug.com/don/2008/01/28/your-private-photos-are-still-private/

<comment><USER2> "When you set your SmugMug gallery to 'private', this is exactly what you're doing - making the gallery and photos difficult, but not impossible, to find."

Is that the usual definition of 'private'?

<comment><USER3> Yes, clearly not all users understood "private" the way smugmug uses it. I think Don is feeling a little defensive now, but tomorrow he'll probably go ahead and change "private" to "unlisted".

</comment></comment><comment><USER4> His "challenge" is totally missing the point. Just because it is difficult to identify the owner of a random picture doesn't mean that one couldn't use that picture against the wishes of the owner.

</comment><comment><USER5> This is a case of serious disconnection with user expectations. You see this all the time - a software company (usually its developers) get so caught up in their code and the way the do things and their own terminology that they forget what users actually want and how they use the products. smugmug should use this as a learning experience, admit their mistake, and remedy the problem. I see this as a missed opportunity on their part.

</comment><comment><USER6> This response is too long.

</comment><comment><USER7> Thanks for submitting this toffer.

</comment><comment><USER8> I had a little fun with that content. Tried things with the site, XSS, fiddled with the API..

Good lord, I could spider and index this site so very easily, and make off with a veritable treasure trove of data.

There's no way on the site to properly privatize an image, except putting a password on it.

<comment><USER9> These photos are really useful... I have some code for skin detection I've been writing and I need tests for. Now I can download massive sets of data and test the algorithm against it. I'm not going to do it anyway, but hell it can be _very_ useful if you decide to use it.</comment></comment>


A Little-Known Company That Enables Mass Surveillance - a-no-n https://theintercept.com/2016/10/23/endace-mass-surveillance-gchq-governments/ <comment><AUTHOR> These DPI companies always make me smile because 20 years ago I was the inventor on this patent: [https://patents.google.com/patent/US6182146B1/en](https://patents.google.com/patent/US6182146B1/en) It describes a way of doing DPI to identify protocols that are not running on standard ports. We used this for a protocol analysis product [0] that did network monitoring (for accounting purposes inside companies and led to companies discovering what people were mis-using their network connections for ---hello PointCast[1]) and for prediction of network scaling needs. And all that was based on stuff I'd been doing from about 1984 [2].

Bottom line: scooping up packets is easy; encrypt your shit.

[0] [https://www.cnet.com/au/news/tool-gauges-web- apps/](https://www.cnet.com/au/news/tool-gauges-web-apps/)

[1] [https://en.wikipedia.org/wiki/PointCast_(dotcom)](https://en.wikipedia.org/wiki/PointCast_\(dotcom\))

[2] [http://blog.jgc.org/2011/01/network-protocol-analysis- prior-...](http://blog.jgc.org/2011/01/network-protocol-analysis-prior- art.html)

</comment><comment><USER2> Ponder: Is your available ISP speed restricted, through backdoor channels and red letters, to not overcome the throughput bandwidth of these devices?

Or, another way, is the maximum throughput of these monitoring setups limiting ISP maximum offered speeds in the countries that use them?

US, UK, Aus, Canada, the eyes, all have unusually low maximum consumer speeds vs. non implicated countries such as Japan, korea, even China, given the technology available today.

<comment><USER3> It's difficult to go lower than what Australia offers in terms of BW. In Australia, in 2016, you are among the privileged ones if you have like 6Mbps DL at home.

</comment></comment><comment><USER4> This article perfectly illustrates a major flaw in surveillance journalism.

As luck would have it, I'm pretty familiar with Endace --- or was, back in 2003-2005. I was at Arbor Networks then. Arbor does large-scale network instrumentation for anti-DDoS and performance monitoring. By the time I left, every major ISP in the world had their network instrumented with Arbor gear.

We'd had lots of conversations with Endace. We were as a firm extremely interested in any technology we could buy off the rack to get performant access to raw packets and telemetry data --- Arbor had no hardware engineers, and everything they shipped at the time shipped on COTS X86 rackmounts running OpenBSD. My point here is not just that there are multiple uses for the kind of stuff Endace makes, but also that I vividly remember Endace because very few companies made products in this space at all.

Obviously, any company that can facilitate efficient access to, storage of, and analysis of raw traffic data is going to have multiple markets to sell to. And we should not make apologies for companies that take the extra money --- sell their souls, so to speak --- by offering their products to facilitate dragnet surveillance. We would all do well to keep in mind that the problem with selling to this market is far worse than NSA's abuses, which are _trivial_ compared to the abuses perpetrated by countries in the Middle East and Asia. Point being: packaging and selling for the global surveillance market is ethically hazardous in the extreme.

No, the problem here is that this kind of story is unintentionally deceptive about who the real enablers of large-scale surveillance are. They're not the dinky little company in New Zealand selling packet capture technology. They're the networking and database giants, the companies our parents automatically have their retirement accounts invested in because they're huge components of the stock market, who have entire teams of people, euphemistically named (maybe something like "public sector" or "APAC public sector" or "GSA" or "defense"), packaging and selling 8-9 figure "solutions" to government around the world. Compared the giants, Endace is a gnat. They're not the enablers. We know who the real enablers are.

You can tell, because of the article's lurid descriptions of Endace's major transactions with GCHQ --- the focus of the article. They've got smoking gun proof: invoices for $300,000 and $160,000. Or: less than SourceFire would have charged Chick-Fil-A† to install commercial Snort boxes.

† _I have no idea if Chick-Fil-A was a SourceFire customer._

<comment><USER5> Not sure who's letting the giants off the hook. We all know NSA, GCHQ et al government actors are snooping all they can snoop. People are afraid and disgusted of the practice enough that it must be a consideration for firms who want to seel that sort of tech. More importantly, it's probably keeping a good chunk of the smarter, more skilled engineers away from those firms.

I mean, small player or not, naming and shaming Endace is a small step towards taking down the big giants, or at least one little point of damage to their plans.

Besides, we the people are reduced to guerilla warfare, here. We can't just attack the giants directly. But you need to start with something, no?

<comment><USER4> I'm not talking about NSA and GCHQ. I'm talking about commercial vendors who serve as their arms dealers. Endace is a minnow in that market. Most of the money goes to just a few sharks. I'm saying that journalists need to stop fishing for minnows just because their stories are easier to tell.

</comment></comment></comment><comment><USER6> "[..]Alongside its government clients, Endace has many major corporate customers.

Endace's sales lists include finance industry giants such as Morgan Stanley, Reuters, and Bank of America. [..]"

What for do finance companies need systems that intercept data?

<comment><USER4> To monitor their own networks, which are gigantic. The top tier of the finance market had networks so complicated and sensitive that they would surprise us and buy Arbor Networks products that were designed for AT&T's backbone. Some of them even needed the BGP monitoring stuff we'd been doing.

These companies (Reuters included) basically run their own facsimiles of the Internet, but to carry money instead of cat pictures. Their network monitoring needs are intense.

</comment></comment><comment><USER3> Can someone ELI5 how they actually capture all these data ?

Are they basically cracking encryption ? I thought the kind of encryption provided by VPN services (256-bit AES/CBC) was strong enough? If that's what they do, aren't they violating privacy laws ? Aren't they breaching companies such as Google, Facebook etc... T&C ? Are they installing some kinds of trojans, keyloggers and stuff on 3rd parties computers ? Isn't what they are selling black hat hacking solutions ? Or are they only capturing clear traffic ? which is not necessarily very meaningful.

It says : "extract information about people's usage of services such as Gmail, Hotmail, WhatsApp, and Facebook"

The latest terms and conditions you had to acknowledge recently to continue using watsapp (yes, I read them!) mentionned that they don't keep a record of the content being exchanged via watsapp. So, is watsapp lying ? Or what does this Endace system records ? Watsapp T&C also say that they use a strong encryption. so, FTW?

<comment><USER4> They can't do anything with encrypted data, except (badly) try to detect that it's encrypted in the first place.

</comment></comment><comment><USER7> Gigamon, who has both an office in Milpitas and a government sales division (including for overseas governments), makes photonic tapping systems that are also pretty useful for this mass surveillance kind of stuff.

Five years ago, they had a box capable of handling 1 Tbps and assured us that bigger, beefier ones were coming. US DoD was a customer then and, I'm sure, still is.

</comment><comment><USER8> Are we still safe using Tor?

<comment><USER3> Are we even safe with a VPN ?

<comment><USER9> A VPN is someone else's computer. Why would that be safer than using your own?

<comment> q-base Because of eavesdropping on the output of set computer does not tell anything about who is making the actual request? Or are you implying that it will be possible to backtrack with this type of surveillance?

<comment><USER10> No, I think he was asking how you can trust that the VPN end point you are connected to hasn't been hacked.

</comment></comment></comment></comment></comment><comment><USER11> [slightly offtopic] Does anyone have a driver for Endace DAG 9.2X and is willing to share? )</comment>


JPL Institutional Coding Standard for the C Programming Language (2009) [pdf] - <AUTHOR> https://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf <comment><USER2> Run through a state-of-the-art static analysis tool _with no warnings_? That's seriously stringent.

And then, rule 23: "All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if or #ifdef directive to which they are related." It never even _occurred_ to me that anyone might do otherwise, but yeah, that's a _real_ good thing to forbid. (I once failed to close a C-style comment at the end of an include file. It was the last include file, so the next couple of lines in the C file were commented out - which happened to be the main() function name and the opening curly brace. It then treated the rest of main() as file-level variable declarations, which was fine until we got to the actual code. I got 1800 compiler errors from that...)

<comment> as-j You know rule 23 exists for a reason, someone thought it would be a good idea.....egads, I wonder what evil horrible thing they did.

</comment></comment><comment><USER3> In previous embedded work, I've had to follow the MISRA C [0] guidelines, which I suspect are roughly similar to the JPL guidelines (but I can't get to the PDF at the moment due to the bad SSL cert).

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

<comment><USER4> > Two earlier efforts have most influenced the contents of this standard. The > first is the MISRA-C coding guideline from 2004 [...]

Not just similar, but based on MISRA C!

MISRA C can be a total PITA though (I get why, but it doesn't make it any less annoying). Some well known storage products follow similar principles without being quite so stringent. It's quite a nice middle ground, and - if you are, err, detail oriented - can be a less aggravating experience than sloppy, higher level codebases (yes, Java, I'm looking at you mainly).

<comment><USER5> MISRA C is annoying mostly if you have to change the codebase to fit the standard. If you iteratively solve MISRA warnings they become second nature and you almost don't make them anymore.

What is annoying is the paperwork when you need a deviation. However that's kind of the point of the process. Make it annoying enough that people really think about whether the deviation is necessary.

At the same time it's only a coding standard. Not a panacea for all your coding issues. You can have 100% MISRA conformant spaghetti.

It does reduce the "shoot yourself in the foot" surface area a little bit though.

<comment><USER6> > You can have 100% MISRA conformant spaghetti.

IMHO some of MISRA rules lead directly to hard to read/maintain code. Consider a function that:

1\. opens a file 2\. allocates enough memory to store the whole file 3\. reads the file 4\. return the allocated buffer on success or NULL on failure

You want to write it so it doesn't leak either memory or file handles whether successful or not (if successful ownership of the memory buffer is passed to the caller so it must not be freed in that case).

To be MISRA compliant you'd either end up with a "Christmas tree" of nested scopes or if-statements with extra && in them (pseudo C-code):

        char *buf = NULL;
        FILE *fh = fopen(...);
        if (fh) {
          if (success(fseek(fh, end))) {
            long int sz = ftell(fh);
            if (sz > 0) {
              buf = malloc(sz);
              if (buf) {
                if (failed(fread(fh, buf))) {
                  report_error();
                  free(buf);
                  buf = NULL;
                }
              } else {
                report_error();
              }
            } else {
              report_error();
            }
          } else {
            report_error();
          }
          fclose(fh);
        } else {
          report_error();
        }
        return buf;

However if you were allowed to use goto with a single exit-label the code would be much cleaner and easier to follow:

        char *buf = NULL;
        char *rv = NULL;
        FILE *fh = fopen(...);
        if (!fh) {
          report_error();
          goto exit;
        }
        if (fail(fseek(fh, end))) {
          report_error();
          goto exit;
        }
        long int sz = ftell(fh);
        if (sz <= 0) {
          report_error();
          goto exit;
        }
        buf = malloc(sz);
        if (!buf) {
          report_error();
          goto exit;
        }
        if (failed(fread(fh, buf))) {
          report_error();
          goto exit;
        }
        rv = buf;
        buf = NULL;

exit: if (fh) { fclose(fh); } if (buf) { free(buf); } return rv;

<comment><USER7> Actually you can do that without goto's, by using do {} while loop and break:

        FILE *fh;
        char *buf = NULL;
        char *rv = NULL;

        do {
            fh = fopen(...);
            if (!fh) {
                report_error();
                break;
            }

            if (fail(fseek(fh, end))) {
                report_error();
                break;
            }

            long int sz = ftell(fh);
            if (sz <= 0) {
                report_error();
                break;
            }

            buf = malloc(sz);
            if (!buf) {
                report_error();
                break;
            }
            if (failed(fread(fh, buf))) {
                report_error();
                break;
            }

            rv = buf;
            buf = NULL;
        } while(false);

        if (fh)
            fclose(fh);

        if (buf)
            free(buf);

        return rv;

<comment><USER6> Sure, that would pass the `grep -r goto __` test, but is just a more convoluted way of doing the same thing.

<comment><USER8> That's fine: the intention was not to do something else, but to avoid goto while still doing the same functionality.

Plus, it might be slightly more convoluted than goto, but is less convoluted than the original over-nested code, which was the intention.

<comment><USER6> Which brings us back full circle to the point I was originally trying to convey: _if_ a coding standard forces you to write more convoluted and harder- to-read code just to _work around_ some of its rules, that is a clear failure of said standard.

Fortunately MISRA seems to have gotten back some sanity in the 2012 revision compared to the one the above JPL standard is based on.

<comment><USER8> > _Which brings us back full circle to the point I was originally trying to > convey: if a coding standard forces you to write more convoluted and harder- > to-read code just to work around some of its rules, that is a clear failure > of said standard._

Only if the "more convoluted and harder-to-read code" is worse than what the standard tries to avoid.

A standard that calls for not allocating memory dynamically for example might result in less elegant code than one that does, for example, but that's not a "clear failure" since that away it avoids the uncertainty and variable runtime performance that malloc brings.

I'm addressing the general claim here, that "if a coding standard forces you to write more convoluted and harder-to-read code just to work around some of its rules, that is a clear failure of said standard" \-- not specifically where the particular no-goto rule was justified.

A standard can be perfectly valid and good in restricting things even if that forces programmers to write "less elegant code" \-- as long as this is necessary to fulfil some other objective of the standard (e.g. easy formal verification or real-time behavior).

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> A CppCon 2014 presentation about safety-critical C/C++ coding standards for a different "J" acronym: the Joint Strike Fighter (JSF).

"Using C++ on Mission and Safety Critical Platforms".

[https://www.youtube.com/watch?v=sRe77Mdna0Y](https://www.youtube.com/watch?v=sRe77Mdna0Y)

<comment><USER10> Thanks for sharing. Although it isn't my application domain, their considerations were nevertheless interesting.

On a general note, this bullet under "Lessons Learned" circa 48:00 hits home:

> _A rationale for each rule educates developers and gets their buy-in_

It's been my experience that standards which embody this philosophy are the most pleasurable to work with. On the flip side, I've dealt with "updated" standards which have directly perpetuated technical debt as a consequence of rules defined to address temporal issues that were relevant at the time but passed over in subsequent revisions due to lost tribal knowledge...it's always a challenge addressing this class of rule, even if just trying explain to a new developer on the team without making that person feel like a complete tool.

</comment></comment><comment><USER11> > "Do not use goto, setjmp or longjmp."

Error handling in C without those primitives will almost always result in horrible code. They should've made an exception here: "goto error;" should've been allowed and encouraged.

<comment><USER8> > _Error handling in C without those primitives will almost always result in > horrible code_

They don't care for nice code. They care for easily statically checked and verified code.

<comment><USER12> As I said else-thread, there's actually a variation in MISRA-C-2012 (or possibly one of the addenda) for this.

Error handling using 'goto' is allowed, as long as you're jumping forward (i.e. to or near the end of the function). You can't go backwards through the code.

It may require a variation in the project's coding spec but it's certainly possible (because I've been there and done it!)

</comment></comment></comment><comment><USER13> Apparently the SSL cert for this got revoked... I wonder if anyone at nasa knows...

<comment><AUTHOR> Looks valid on my machine (win10, chrome)

<comment><USER14> Safari on iOS does not trust the certificate

<comment><USER15> Safari, Chrome and Firefox all do not trust it on macOS as well.

<comment><USER16> My Safari does, to give another viewpoint.

</comment></comment></comment></comment></comment><comment><USER16> > All C code shall conform to the ISO/IEC 9899-1999(E) standard for the C > programming language, with no reliance on undefined or unspecified behavior.

Easier said than done ;)

<comment><USER17> In those environments use of static analysers is enforced, which kind of helps.

</comment></comment><comment><USER18> I don't know very much about C, but it looks to me that no_std Rust with a custom allocator could let you fulfill most of these requirements and keep most of Rust's nice features like Result for error handling. I wonder if JPL/NASA will consider using Rust for any of their future missions.

<comment><USER19> > I wonder if JPL/NASA will consider using Rust for any of their future > missions.

You are quite welcome to try, but don't expect any help - the Rust Evangelism Strike Force is way too busy focusing on world domination _on Earth_ for Rust, at the moment. Missions in outer space are still outside their remit.

<comment><USER20> We had a talk at RustConf this year about Rust in space...

<comment><USER18> Was it recorded? That sounds pretty interesting and I would like to watch it.

<comment><USER20> [https://m.youtube.com/watch?v=Vq03Ba7W95I](https://m.youtube.com/watch?v=Vq03Ba7W95I)

</comment></comment></comment></comment></comment><comment><USER21> Coding standards can be a pain, but most rules make sense and if they don't make your code difficult to read and unwieldy you should probably create an exception.

One example where such an exception would have been justified is found in cFE: [https://github.com/nasa/cFE/blob/04c0cc342415575f855dc00960a...](https://github.com/nasa/cFE/blob/04c0cc342415575f855dc00960afc8daedd8a46e/cfe/fsw/cfe- core/unit-test/evs_UT.c#L106)

Thousands of lines of clutter in the unit tests because they are not using a function-like macro.

</comment><comment><USER22> Not an "institutional coding standard" by any means. Maybe some groups conform to this, but I haven't come across any.

<comment><USER23> Not all code complies. But not all code flies.

My experience has been that as a mission system passes gates in the years before launch, they asymptotically approach these standards, with exceptions approved by named individuals and reviewed. I doubt many institutional products or teams conform strictly on all projects. That'd be quite unproductive.

<comment><USER22> Not all code is flight code :)

</comment></comment></comment><comment><USER24> Found a working PDF link also here: [http://everyspec.com/NASA/NASA- JPL/JPL-D-60411_VER-1_32832/](http://everyspec.com/NASA/NASA- JPL/JPL-D-60411_VER-1_32832/)

</comment><comment><USER25> Content unavailable. Anyone have a decent mirror?

<comment><USER4> Just `curl` it, or use something that allows you to ignore certs.

<comment><USER25> Thanks guitarbill

</comment></comment></comment><comment><USER26> This is a beautiful document and a very sound set of rules.

</comment><comment><USER27> All in all, sound advice.

No recursion? That's a deal breaker.

<comment><USER28> No recursion kinda makes sense, because you really don't want to have an accidental stack overflow while the airplane is off the ground...

Interestingly, one of the goals of the Zig language (marketed as a replacement for C, currently in development), is to eliminate stack overflow while keeping recursion (by enabling the user to allocate stack frames in the heap).

[https://github.com/ziglang/zig/issues/1639](https://github.com/ziglang/zig/issues/1639)

<comment><USER29> Wouldn't that eventually just lead to an OOM? Most of the time the recursion I write is either well-formed and lives nicely in the stack or poorly-formed and would consume all the memory in the universe if given the opportunity.

</comment></comment></comment><comment><USER2> (2009)

<comment><AUTHOR> There does not appear to be a newer version. Not sure if adding the date here is all that relevant... Not like C programming changes that much these days.

<comment><USER23> Mars rovers don't iterate quickly. This was very much my experience when working on those teams.

</comment></comment></comment><comment><USER30> Best advice - not to use C wherever possible. There are better languages for many areas. Speaking from my decade of experience as C programmer.

<comment><USER31> Pretty much unavoidable when it comes to real time embedded systems. Your options in that world are pretty limited, especially on space-rated processors which are generally many generations old, and can't necessarily handle huge performance overheads.

<comment><USER32> I seriously wonder why Ada didn't catch on more?

<comment><USER33> The compilers were expensive.

This is probably because Ada was mandated for government projects. The people buying compilers were most likely able to charge that expense to the government, possibly even with a mark-up.

The language had a weird temporary resurgence a few years back. It seems to have started by the free Ada compilers becoming decent and by people starting to get serious about security holes. It seems to have ended due to rust claiming that niche.

<comment><USER17> If you are talking about HN bubble effect yes.

In production code powering high integrity systems, certified compilers and industry safety norms, Rust still has a lot to catchup over Ada.</comment></comment></comment></comment></comment>


ExxonMobil sued for defrauding investors by misrepresenting climate change - <AUTHOR> https://www.esquire.com/news-politics/politics/a28636123/exxonmobil-lawsuit-climage-change-new-york/ <comment><USER2> New York State has been involved in a few of these "activist" type of cases stemming from the AG's office. So far I haven't heard of any of them meeting great success, so will have to wait and see on this one as well.</comment>


How to convince people to buy without being pushy - <AUTHOR> https://everyonehatesmarketers.com/convince-people-to-buy/ <comment><USER2> >>You started to read 100 books a year, you are also known to spend three months vacation every year and you wake up at 4:00AM every morning.

Groan. Another 4-hour-workweek virtue signaling superman here to tell us how we're all inferior?

He starts off with an analogy about an airport and red/purple/green bags that makes no sense at all. Switched it off, no time for this nonsense.

<comment><USER3> I didn't listen to this, but I have read The Brain Audit and it was actually a decent book. Some of it was pretty obvious, but some was quite enlightening. Of course, I say that as someone who read it while not having anything to sell and therefore didn't try it out, but it lines up with other stfd I've read elsewhere.

</comment></comment><comment><USER4> Oooh my, as a French person, that French accent is unbearable ^^ but it looks promising

<comment><AUTHOR> Ah!!!! You'll get used to it after a while I promise.

</comment></comment><comment><USER5> Can someone explain the red-bag purple-bag analogy they use at the beginning? Made no sense to me.

<comment><USER6> It's not a great analogy IMO. It's just stating that if you don't address all of your customers' concerns, they will stall. I've got seven metrics [red bags] on which I evaluate these vendors, and your webpage covers five of them in ten bullet points. I wonder if it will handle these other two criteria, hmm. I'd better put this in a queue to think about later (keep waiting for my bags). Vs: "all my bags are here, shut up and take my money!"</comment></comment>


Ask Hackers, What can I use for MapReduce on Python? - <AUTHOR>

I've been using DRb on Ruby which makes almost trivial to implement a distributed app. But, at least for my programs, Ruby is 3x to 4x slower than Python. What can I use in Python similar to DRb? <comment><USER2> Here's a note about using Hadoop in Python: [http://www.michael- noll.com/wiki/Writing_An_Hadoop_MapReduce...](http://www.michael- noll.com/wiki/Writing_An_Hadoop_MapReduce_Program_In_Python)

<comment><AUTHOR> Thanks! I'll check it</comment></comment>


Facebook copies Twitter yet again, launches hashtags - <AUTHOR> http://thenextweb.com/facebook/2013/06/12/facebook-copies-twitter-yet-again-launches-hashtags-to-let-users-add-context-and-discover-shared-interests/

<comment><USER2> Why is this even news?

> the company hints that hashtags "are just the first step" in a series of > features that will bring conversations about public events, people, and > topics on the social network to "the forefront of people's Facebook > experience.

So in other words, FB is making it clear that they are going to continue to try to play catch-up to Twitter and G+?</comment>


How Go improves expressiveness without sacrificing performance - <AUTHOR> http://dave.cheney.net/how-the-go-compiler-improves-expressiveness-w

<comment><USER2> I am not convinced that this has anything to do with Go improving expressiveness. If anything, this seems more like whichever Go compiler is being used is not doing common subexpression elimination, and that is forcing the developer to re-invent a 'map' that returns nothing but mutates the list in place, albeit in an unusual way.

What are these "improvements" in expressiveness being compared to? Certainly not C or C++, as the initial problem isn't an issue, and the proposed solution is possible.

<comment><USER3> I think the improvement in expressiveness here is in not having to do &E before calling the method that has receiver type * E. That is, (&E[i]).update(1, 2, 3, 4) and E[i].update(1, 2, 3, 4) do the same thing, so he was able to eliminate writing &E[i].

Also, if the method was defined with receiver type E, and you have a variable x of type * E, you can also do x.update instead of (*x).update. Go automatically dereferences.

(edited: my asterisk operators made everything italicized)

</comment></comment><comment><USER4> Can anyone explain why BenchmarkUnroll was specifically set to run twice as many iterations as the other two for the timing tests? It seems intentional. But why? Is there some overhead in having the compiler unroll the code versus manually that required more iterations to "even out"?

       BenchmarkUpdate 500000 2996 ns/op
       BenchmarkManual 500000 4642 ns/op
       BenchmarkUnroll 1000000 2824 ns/op

</comment><comment><USER5> Can the optimizer not eliminate the redundant bounds checks in the "good idiomatic" version?

<comment><USER6> Check the first comment in the article - I can't believe that is actually good and idiomatic. The author uses the indexes, but the range command also supports returning the values.

To be fair, I have a lot of difficulty figuring out what's a reference and what's a value in Go; I suspect if it were an int and not a struct, that wouldn't work.

<comment><USER3> Only slices, maps, and channels are reference types.

</comment></comment></comment><comment><USER7> Go syntax makes me cringe. example:

> for i := range e {

> var e = make([]E, 1000)

It's confusing and against mainstream conventions for no good reason.

<comment><AUTHOR> What is confusing there and/or against "mainstream conventions" (whatever those are)?

<comment><USER7> If you don't know Go and you look at this 'make([]E, 1000)'. What does it tell you? How about this 'make(map[string]int) or make(chan int) ?'

for i := range e {

Why bring back := from pascal family and steer away from common conventions? Why range doesn't take parenthesis while make does?

Also trying to mix dynamic + static type languages will add to the confusion. Deference pointers in a language that looks dynamic but acts static is not mainstream.

<comment><AUTHOR> Do you know what := does in Go? What "common conventions" provide the same concise expressiveness?

As for your complain about make(), what does it have to do with syntax?

Why doesn't range require parens? Among other things because it has no need for them, while make() clearly does need them.

<comment><USER7> > Do you know what := does in Go? What "common conventions" provide the same > concise expressiveness?

I know what := means because I have a Pascal background, most programmers are used to = as being the assignment operator. But the mere fact that you asked me what ":=" means proves my point. It's not common and you don't expect everyone to know it.

Why range doesn't require parenthesis? It takes parameters just like make does.

<comment><USER8> "I know what := means because I have a Pascal background"

But it's not the same: in Pascal := means assignment, whereas in Go it means variable declaration. Go uses = for assignment, as is the popular convention.

You must learn new things when you learn a new programming language. People should stop being surprised and/or upset by this. Besides, Go's syntax is not all that shocking or unusual, especially compared to Scala, Erlang, or Haskell. I regularly switch between Go, JavaScript, C, and Python and don't have any trouble adjusting.

"Why range doesn't require parenthesis? It takes parameters just like make does."

Range is a keyword, while make is a function. Range is used with a single value (the map, slice, or channel being ranged over), while make may take up to three arguments.

Please - it is really silly to critique the syntax of a language if you don't know the language.</comment></comment></comment></comment></comment></comment>


Modd: a flexible tool for responding to filesystem change - <AUTHOR> http://corte.si/posts/modd/announce/index.html <comment><USER2> Kinda related - I wrote a library to hook up file system monitoring to Akka actors: [https://github.com/pathikrit/better-files#akka-file- watcher](https://github.com/pathikrit/better-files#akka-file-watcher)

Here's a Java article describing its internals: [http://www.javaadvent.com/2015/12/reactive-file-system- monit...](http://www.javaadvent.com/2015/12/reactive-file-system-monitoring- using-akka-actors.html)

</comment><comment><USER3> Oh neat! I made something a while back that scratched my itch for this exact problem: [https://github.com/christiangenco/autorunner](https://github.com/christiangenco/autorunner)

I chose to build the commands into the file with a comment rather than add an extra config file. For your test-compile cycle for Go, I think that would look like this at the top of each of your go files:

# autorun go install ./cmd/devd

modd looks like it has the advantage of only specifying this one, and specifying commands to be run when modd first starts up (autorun only has one type of command that's run on startup and on file changes).

<comment><AUTHOR> Neat! The idea of putting the build commands into the code as a comment is very interesting.

<comment><USER4> Not directly applicable here, because you need to work with what you have, but this kinds of stuff always reminds me of [https://www.jwz.org/doc/cddb.html](https://www.jwz.org/doc/cddb.html)

<comment><AUTHOR> Heh, I know what you mean. BTW, directly following that link from here gets you to jwz's wee joke about HN. You'll need to copy the link and paste it in a new tab to see the article.

</comment></comment></comment></comment><comment><USER5> I've been using this tool for a month and it's really great. A focused tool that does its job well.

The only caveat I got, and this is completely due to my inexperience with Go, is to not use `daemon: go run foo.go`, but to `prep: go build foo.go; daemon +sigint: ./foo`

Another good use is to restart webpack when a non-hot-replaceable file changes:

      /projects/foo/src/index.js {
          daemon +sigint: npm start
      }

</comment><comment><USER6> By the author of mitmproxy, which I think is fantastic.

[http://mitmproxy.org](http://mitmproxy.org)

</comment><comment><USER7> Great!

Tup on Windows doesn't support monitoring for source changes. This will fix that nicely I guess.

</comment><comment><USER8> i look forward to playing around with this. i scratched my head at devd initially but now it is an indispensable piece of my development workflow

<comment><AUTHOR> Great to hear. :) Modd was born because because I was trying to figure out how to add the ability to do a build step before livereload in devd. It soon became clear that quite a different type of tool was needed to do this well, and after a few iterations I settled on the current design for modd.</comment></comment>


A King Who Became a Pirate - <AUTHOR> https://narratively.com/the-king-who-became-a-pirate/ <comment><USER2> I knew who this would be about as soon as I saw the title, mostly because I have an ancestor which his successors claimed was of minor nobility. Their claim rested on a court case in the mid 1500's where a purported letter of nobility for their ancestor was presented as evidence of their own nobility, and accepted by the court as genuine.

When I came across this claim, I got curious and wanted to see if it was possible to dig up official documents (it'd have no practical meaning for me other than a fun part of family history - all titles of nobility were rendered invalid in Norway 200 years ago).

It didn't take much digging to realize that there was a major problem with the claim: The supposed date King Erik III of Norway (the numbering is ambiguous - he had a different number in each of Norway (III), Sweden(XIII) and Denmark (VII)) would have supposedly signed this document is right in the middle of his period as a pirate, and so well after he was deposed.

Which means either the document was a forgery, or they somehow managed to get either the date or the name of the king wrong in the court documents. It'd be very fascinating to find some more scraps of information about how that went down, or even the purported letter of nobility, but I suspect I won't get anywhere further - no sign of more documents still existing.

I do lean towards my ancestors in question being forgers rather than nobility, though (frankly that almost makes the story more interesting than if the claim was true).

<comment><USER3> Or perhaps he did actually sign the document, at the date indicated, a pirate with a sideline as a diploma mill.

If he was still considering himself the legitimate king he'd surely not mind signing with that title, just like any other exiled government.

<comment><USER2> That would be quite amazing if it was possible to find such a document. I'd still want to know why the court accepted it, though... But I'd enjoy finding a rogue letter like that more than a "valid" one... Unfortunately I doubt we'll ever know.

</comment></comment></comment><comment><USER4> The ending of the article isn't really true to history, he didn't return to Pomerania because he had given up and had nothing left to fight for, he returned to Pomerania because he inherited the duchy, and decided a life as duke was better than a life as king in exile.

</comment><comment><USER5> While the ordering is unusual (hence the lovely title) the difference between pirate and king is often who wins.

And plenty of kings supported and were supported by pirates, perhaps most famously Elizabeth I

</comment><comment><USER6> At the time the Öresund strait was Danish and not a border between Sweden and Denmark.

What is now the most southern part of Sweden was à resultat of the peace of 1658

</comment><comment><USER7> Oh, better far to live and die under the brave black flag I fly

Than play a sanctimonious part with a pirate head and a pirate heart

</comment><comment><USER8> In reader mode:

> The night of December 18, 2004, began as an ordinary evening for Blair > Cobbs's father, Eugene. At 33, the elder Cobbs was already a seasoned > veteran of the drug trafficking trade.

wtf.

<comment><USER9> wow, that story is very interesting too!

</comment></comment><comment><USER10> I'm curious about when the transition from "vikings" to "pirates" occurred, for Scandinavians who travel in long boats robbing and pillaging.

<comment><USER11> according to stereotype the vikings came on land and took what they wanted, pirates rob ships at sea.

<comment><USER12> Pirates the world over have engaged in (sometimes large-scale) land operations throughout history. Henry Morgan led a force of about 1400 men overland to sack Panama, for example.

<comment><USER11> I believe I started off my text with according to stereotype, as he is remarked as becoming a pirate not a viking.

</comment></comment></comment></comment><comment><USER13> Is there any link where I can find more about the tax system he invented?

<comment><USER14> You can read about it here: [https://en.wikipedia.org/wiki/Sound_Dues](https://en.wikipedia.org/wiki/Sound_Dues)

</comment></comment><comment><USER15> This sounds like a good topic for _The History Guy_ Youtube channel.

[https://www.youtube.com/channel/UC4sEmXUuWIFlxRIFBRV6VXQ](https://www.youtube.com/channel/UC4sEmXUuWIFlxRIFBRV6VXQ)</comment>


Ask HN: Ever found the language remember me on this computer weirdly incorrect? - <AUTHOR>

The language around setting a remember me cookie on some sites feels strangely incorrect. You click remember me and you are only remembered in that browser, use a different browser and you are not remembered. I know why this happens, but just wondering why the language is sometimes along the lines of: "Remember me on this computer" or "Remember me until I log out" when obviously neither apply for other browsers on your machine. <comment><USER2> It has to be that the this language was adopted as a compromise between being technically correct and non-tech-friendly. Most people aren't switching browsers on their same machine, so for non-tech-minded people, their "computer" is synonymous with their browser. Imagine what they'd have to say if they wanted to be technically correct? Something like "Can we store a cookie in the browser you're currently using so we can automatically sign you in the next time you visit this site?"?

</comment><comment><USER3> Some sites like Peanutlabs uses Evercookie (in addition to a whole host of other incredibly abusive borderline malware techniques) to persist sessions, so.. it may apply sometimes.

<comment><AUTHOR> Yeah, those solutions do work, but they are definitely borderline grey area and not always going to work on locked down machines (say in a corporate environment or public computer in a airport or library).</comment></comment>


How Not to Build an Aircraft Carrier - <AUTHOR> https://warisboring.com/how-not-to-build-an-aircraft-carrier/ <comment><USER2> After reading this news article, you may enjoy how Arthur C. Clarke was able to predict something like this happening in science fiction:

[http://www.mayofamily.com/RLM/txt_Clarke_Superiority.html](http://www.mayofamily.com/RLM/txt_Clarke_Superiority.html)

</comment><comment><USER3> >the Ford's four generators were designed to provide triple the total electrical power provided by the eight generators on the Nimitz class — 13,800 versus 4,160 volts.

Nitpick: voltage is not the units that electrical power comes in. At best, you can convert to power delivered by a fixed-resistance conductor - V^2/R , which means that the power provided through equivalent wiring connections has gone up by a factor of nine, not three.</comment>


240 year old programmable automaton writing machine - <AUTHOR> http://www.chonday.com/Videos/the-writer-automaton

<comment><USER2> And today Mr. Jacquet Droz' company continues to do amazing things [http://www.jaquet-droz.com/the-bird-repeater/en/](http://www.jaquet- droz.com/the-bird-repeater/en/)</comment>


Hackers, can I get Obama to consider my father's clemency bid? He's 69 - <AUTHOR> http://freedrprakash.com <comment><AUTHOR> First of all I understand that this is a hail mary attempt, and the odds of anything working are as close to 0% as they get.

That being said, as someone who has followed Paul Graham since the early days, admired Niklas Zennströmin college essays, I believe as entrepreneurs our job is to be dreamers.

If we stop dreaming, the world stops moving, both is and we cease to exist.

Yes the most likely solution is this falls flat on it's face, but what's worse would be to do nothing.

All I want to bring closure to this issue is for President Obama to simply consider my petition, that jailing a man who had a very minor role in a conspiracy for 10 years, when the men above him were only sent away for 2 years is just plain wrong.

Visit the website and see the extent of injustice for yourself before attacking me.

I am debating flying to DC in order to try and deliver this application for clemency in person.

What do you guys think of this approach? I know DC will be crowded, etc etc, but the clock is ticking fast and I figure I might as well get on a plane and figure it out from there. If any of you on here, in my opinion some of the smartest people in the world, have any idea how I can draw attention to this without risk of injury to anybody including myself.

Yes this is slightly off topic for Hacker News, but considering I might be getting on a plane in a few hours to try and get the President to consider my petition I am hoping a 2 day exception can be made so I can get advice from my fellow coders.

I much appreciate any ideas, there are no bad ones, except for most of mine :)

<comment><USER2> From my understanding, the clemency process is actually incredibly time consuming, as every case that receives a Presidential pardon is thoroughly reviewed by staff, before the President himself. I suspect it would be almost impossible to get a pardon at this stage from President Obama, there simply isn't enough time for him to review a last minute case amongst all the other things his office is trying to do before he leaves office.

While pardons are predominantly issued at the tail end of a President's term, there is no requirement that they be so, so you can certainly still appeal once the new President takes office.

<comment><AUTHOR> Everyone said I was crazy to do this. I think the exact words were it is never going to happen, how are you going to crack through all that noise in DC, and that nobody is really going to care right now.

I think people assumed I was stupid, since my response to most was look I know the odds of Obama granting this are practically none, and getting him to look at it, there's not really a chance. I probably have 3 people who have looked at my thread, and it's true that nobody really cares.

Here's how I look at it, the federal government took 6 years of my dad's life, 6 years of my life, our family, our friends, they spent over $2 Million dollars prosecuting this man, who when you look at the site and the facts was a complete waste of taxpayer money. And we continue to pay to jail him, simply to send a message to all of those who dare challenge the federal government by pleading not guilty.

I will be thrilled if we receive clemency, but that's not the most realistic thing in the world. What I think I have earned the right to, is simply have my voice heard. With one swoosh of the pen Obama can change everything and reunite me with my father, is 5 minutes consideration really too much to ask?

Part of Obama's last days in office are about protecting his legacy. Correcting this injustice is one thing Obama could achieve with the swoosh of a pen.

</comment></comment></comment><comment><USER3> The site breaks with uBlock Origin.

      TypeError: Package['okgrow:analytics'] is undefined[Learn  More]global-imports.js:10:1
      ReferenceError: meteorInstall is not defined[Learn More]app.js:1:5
      There is no route for the path: /

<comment><AUTHOR> Thank you very very much for this great feedback! I tracked down the bug while on the plane and for some reason Docker was not minifying the files. I went ahead and tweaked it, sending one js file down the pipeline instead of all the assets, but can't deploy yet due to slow wifi.

Edit, just spent 20 minutes pushing via GOGO, don't have to wait until I get into IAH. Let me know if the fix worked for you.

Sorry for the late response, but I decided to go ahead and take the flight to Washington DC and figure everything out on my way there, landing at 11:30AM</comment></comment>