skysight-inc/HackerNews huggingface dataset:
You think I'm joking, right? I'm not.

Think of the keywords that apply to the title. "OpenCV" and "circle" definitely are. I don't consider "detect" and "image" as keywords here because if you are using OpenCV, there's a very high probability that you want to detect something in an image. So "detect" and "image" are pretty much implied by "OpenCV". And I'm going to give you the benefit of doubt and include "red" as a keyword.

So we end up with "OpenCV", "circle", and "red". Three keywords. "circle" being technically wrong means that you got 1/3 of the keywords wrong. That's actually no small mistake.

Let's say you are working on a project and you are in urgent need to find out how to use OpenCV to effectively detect actual circles (not red discs). You type these keywords into your favourite search engine: ["opencv", "circle"]. And you get this article as the top result because it has the right keywords and it ranks high in popularity. Then congratulations, you just wasted your precious time. Of course, you can start from this article and get to your correct solution. But remember I said that you're in urgent need, you're in a hurry, you don't have time to waste.

The converse is also true: you want to detect actual red discs but you can't find this article because the article's keywords are wrong.

When I saw the title of the article, I really was expecting it to talk about detecting circles, not discs. I started at the beginning and I thought "ok, maybe the author's approach is to start from discs and eventually get to circles". I followed through to the end expecting to see actual circles, but then... nothing. I was really disappointed.

I could be even more pedantic and point out that in mathematics, a circle has no width, but if we take that extra pedantic definition, then we won't expect to detect anything at all in an image. The difference here is that when we talk about "circle", we know that we are really talking about an approximate representation of a circle. But a circle is not an approximate representation of a disc, or vice versa, period.
When I read about the hair, the first thing I thought of was Steve Ballmer. Then I thought of Jeff Bezos. Then Andreessen. Then Horowitz.

And then I came to this conclusion: you certainly don't have to be handsome to be a CEO! It is democratic in that way.
Agreed that it _can_ make code challenging to understand.

However, the engineer in me thinks that this is not a linguistic deficit, but rather illustrates poor judgement and taste on the part of the implementors. The litmus test of 'can this be expressed as a function?' will usually suffice for determining whether or not macros are being abused. Under this rule, debugging macros is no harder than debugging "normal" code.

Of course, people will disagree with me regarding poor taste, offering something that boils down to "if everyone using a tool is doing something poorly, then surely the tool is to blame." The problem is (1) that obviously isn't true as it boils down to a fundamental lack of skill and (2) in this case, there are numerous examples on the web of good use of macros that make code easier to understand. Tools themselves are casually inert and deserve no blame for the outcome of their uses as directed by the will of a separate entity, i.e. the programmer.

Judicious (read: professional) usage of macros will only ever make code easier to understand. If a macro is obfuscating meaning, then the macro has been used poorly. Luckily, a few books (LOL) have numerous examples of tastefully done macros. Lots of Clojure libraries have also shown what macros can do.

TL;DR: we're free to write good code, we're free to write bad code.
What China Has Been Building in the South China Sea (2015)
What is Stephen Downes primary job? He describes himself as a senior researcher and makes bold claims of pioneering and important work in the field of e-learning.

Maybe I'm missing his peer reviewed research, I don't see any. I read one unreviewed paper on "Learning Objects" and it had so much fluff it bordered on crankery.

Best I can tell he writes blog posts and articles for web sites.
To get an overview of the area of binary interchange formats that are language agnostic, the author of Cap'n Proto does a good job in this:

https://capnproto.org/news/2014-06-17-capnproto-flatbuffers-...

"Protocol Buffers" has been the go-to for a long time but there are more options now.

For uses where serialization/deserialization CPU time is a concern, it seems to really a question of Cap'n Proto versus flatbuffers ( https://google.github.io/flatbuffers/ ).
Neat project, though as the author points out it's easier to switch to a microcontroller - and cheaper nowadays; you can get an ATtiny84 that would replace that whole circuit for less than what the 2716 EPROM alone costs.
For some reason, the banner (infinitely faster?), name, and introductory FAQ-style responses made me think the whole thing is a joke - similar to Vanilla JS [1].

Anyways, it seems like a cool project, so I'll be sure to follow its development closely.

[1]: http://vanilla-js.com/
Thanks for the reply!

This is really cool stuff, please post more if you decide to build some nice abstractions.

Nice work:)
Show HN: A Smarter Approach to Commits Browsing in Bitbucket Server
By the way, one thing I have discovered (the hard way, mostly) in teaching as an adjunct is that there is no penalty for being boring but there can be a penalty for being interesting, at least for many values of "interesting." I wrote a post "How do you know when you’re being insensitive? How do you know when you’re funny?" (https://jakeseliger.com/2014/12/22/how-do-you-know-when-your...) that deals in part with these issues.

The tedium of the school system is real, but it is also in part a reaction to a simple nature fact: A single unhappy student (or parent) can cause a great deal of stress and a great number of problems for a given teacher or set of administrators. Consequently, the default of the individual teacher is towards material and processes that are inoffensive—and easy to grade on a pass-fail basis. The worry for many teachers and administrators is about the worst-case scenario.

I used to wonder why school is so boring and I used to promise myself that if I were in charge it'd be different. Now I know why.
Your assessment of Downes may be correct. But I can tell you, that even in actual academic journals, "education research" is a level of self-sustaining garbage like nothing else you have ever encountered. I say this as someone that completed a MEd among some others that went on to be absolute magicians in the classroom. But 90% of the reading assigned for that degree could have passed for parody.
It works by heating ammonia and water to create ammonia vapours, which are then released into its main chamber when cooling is needed.

https://en.wikipedia.org/wiki/Absorption_refrigerator

This does not seem particularly novel, just a miniaturisation of a very old type of refrigerator.
I had the exact same reaction. I really had to read for a long time (including code) before deciding it was real. "infinitely faster" confused me too.
A slight difference of opinion.

Citing authoritative sources doesn't convey expertise, but is a courtesy to the reader. If you're going to say or claim something, back it up. I'm also picky about how sources are cited, and for anything more than a brief reference, I prefer the author and work be mentioned at least on the first instance, in the text. I'm reading Vaclav Smil currently, who follows the model of (Smith 2015), which I find ... kind of useless:

* It's more invasive than a simple footnote or endnote.

* It's less descriptive than "George Smith, A Work of Some Note". Which tells me, without having to turn to the back of the book, what I want to look up.

* Footnotes, as opposed to endnotes, allow me to quickly find, on the page what it is that's being referenced. This is quite out of fashion. So am I.

(On the other hand, endnotes allow quickly skimming all notes of a book in one place. I don't believe this compensates for their numerous other disadvantages.)

Expertise isn't based on citing an expert, but in noting the dimensions of a topic or concept, and in particular, the credibly disagreeing points of view.

William Ophuls is an author I respect in this. He's absolutely got a point of view (he writes on applying ecological limits to political concepts). But he also notes his principle critics and exemplars of opposing points of view, and frequently considers their views, data, and arguments. This increases my consideration of him greatly.
True, but manufacturers may be less than willing to tool up to produce them if anyone can jump in on it and under cut them. He may have a higher purpose in mind but almost certainly the manufacturer doesn't, and just wants to get paid.
Like this [0] guy?

[0] https://en.m.wikipedia.org/wiki/Jeff_Bezos
Well it's one of those things...
http://mediarelations.cornell.edu/2016/06/21/in-doctors-we-t...

Disclosing bias makes you sound "more trustworthy" or something so people discount the bias.
I know some people like videos, but just a reminder: some of us really hate videos, so please don't skimp on screenshots and, you know, text.
If we can't rely on governments to protect us, I'm beginning to think there's a start-up opportunity for home food testing kits.

Or a publicly funded group.
If you're doing sufficiently focused sorts of queries - the question mentioned "find the path from A to B to C" - then you might get value out of a DB specifically focused on that question (a graph DB, or a time-series one). The Postgres FDW stuff may help you make integrating one of those less painful.

Before you do that, though: have you thrown RAM at the thing? 35m events sounds like a lot to humans, but not when you can rent machines with 1.2TB of RAM by the hour...
If you want to play around with the GitSense add-on for Bitbucket Server, you can do so at

http://bitbucket-server-demo.gitsense.com

The add-on is free, and it makes it possible for you to browse multiple commits as a single entity (changes tree) in Bitbucket Server. The tree is designed to provide an alternative, to how commits browsing is currently done in Bitbucket, GitHub, GitLab and other related Git hosting solutions.
Last time I checked you couldn't get a patent on something that already exists, and he already owns the copyright.

In fact he needs to make sure he explicitly grants other people permission to copy his design, otherwise it will be protected under copyright law, whether he wants it to or not.
last updated 7 years ago lol
I originally released it on April 1st, 2013, with the announcement post:

So, uh… I have a confession to make.

I may have rewritten Protocol Buffers.

Again.
What? Did Sierra stop being Unix and nobody's mentioned it before now? Or is there something about owning a MacBook Pro that makes it impossible ever to buy a Thinkpad again? Something about owning an iPhone that makes Android unimaginable?

Perhaps you'd argue that there is. In order to do so, you'd need to explain why there is a distinction to be made here between Apple and literally every other software and hardware manufacturer on the planet. That such a distinction exists constitutes an implicit prior in what you've said above. I don't agree even that that is true, let alone that it's self-evident. You have the opportunity to convince me otherwise.
This is a draft which is being updated often, the latest version will be linked from here: http://www.mit.edu/~evanchen/napkin.html

That site also contains a description of what this book is and why it exists.

(I know this because I saw it linked from https://news.ycombinator.com/item?id=12429349 "learn advanced math without going to university" thread the other day)
The 2010 census [0] gave different numbers. Are you using a different source?

[0] http://factfinder.census.gov/faces/tableservices/jsf/pages/p...
Scientists ‘find key to longevity’ in Italian village
5 Invites Free Unlimited Hosting Forever
Hi there,
We've recently launched OneSite - The Ultimate Free Hosting Experience ( https://onesite.co/ ). We are giving away 5 Invites for those of you who want to use OneSite, if you are willing to tell us how to improve it and then share your experience about it!

Comment on this post so I can reach you out with an Invite :)
https://onesite.co/
I haven't had any postgres projects in the last year or so, so no - it does look a lot more functional than 3.
I was speaking to some chemists recently that claimed some U.S. nutritional supplements have human hair as an ingredient. They went on to mention that the hair is often sourced from China and lately has tested for higher levels of heavy metals.

I can not verify the above claim from an internet search. But does anyone know why the protein in hair might be more beneficial as a supplement than other forms of protein ?
> Macros

I don't want my teammates writing macros. When the whole programming community constantly talks about situations within regular, more expressive languages (with syntax) like Python et al, where teammates look at each others code and are baffled ... I struggle to see a scenario where inventing syntax through macros is a good idea, and won't make that situation so much worse.

> arbitrary syntax transformation in macros

See above.

> object system as powerful as CLOS

If I wanted object systems, there are plenty of options that don't involve so many parens, and do involve far more expressive syntax than lisps offer.

> and the ability to comfortably use almost any paradigm

I kinda want my team to pick a set of known paradigms. This is not an advantage. I've never used a modern programming language and thought 'this lacks paradigms, if only I could let my team invent some, that none of us will understand 6 months from now'.

> It's not always useful, but you'll be thankful when it is.

From what you've said, I won't. I'll just be upset my teammates invented their own language with macros and whatever paradigms they chose to use that day.

The lisp 'trade-off' (homoiconicity over expressive syntax) just seems like it's looking for power in the wrong places. Power like that is more often bad than good.
Although this is listed on the introduction page, the author is also the same person that co-founded Sandstorm.io[1].

[1] https://sandstorm.io/about
9/11 – 15 years ago today
Interesting and powerful looking, but no releases or significant community activity since 2013? There are some answers in StackOverflow, so it doesn't seem to be dead by any means, but worrisome.
Interfaces! Inheritance! Looks promising. Protocol buffers are nice for their compact encoding and multi-language generator support but as a schema language they are really cumbersome. Composition is pretty much all you get, there are no longer required fields, you can't even use enums as a key type in a map. I'm sure their use cases are not necessarily the same as mine but sometimes I miss just using plain old XML.
Blender's file format does something similar, it essentially saves a core dump to disk.
Comfort with freshman physics and math is really all that's required.

You can always review those first.
US Paralympic team – should do better?
Church Encoding in Elixir
A complete implementation shouldn't need new releases... ever. Is there a bug or feature that is not implemented?
Anyone who has ever made coffee should have a fair idea of how much water is in it...

I think the concern people have with coffee is that caffeine is a diuretic, so you lose more water than you take in. While it's technically true that coffee does make you urinate more, it's a very tiny effect.
Hi all, Cap'n Proto author here. Thanks for the post.

Just wanted to note that although Cap'n Proto hasn't had a blog post or official release in a while, development is active as part of the Sandstorm project (https://sandstorm.io). Cap'n Proto -- including the RPC system -- is used extensively in Sandstorm. Sandboxed Sandstorm apps in fact do all their communications with the outside world through a single Cap'n Proto socket (but compatibility layers on top of this allow apps to expose an HTTP server).

Unfortunately I've fallen behind on doing official releases, in part because an official release means I need to test against Windows, Mac, and other "supported platforms", whereas Sandstorm only cares about Linux. Windows is especially problematic since MSVC's C++11 support is spotty (or was last I tried), so there's usually a lot of work to do to get it working.

As a result Sandstorm has been building against Cap'n Proto's master branch so that we can make changes as needed for Sandstorm.

I'm hoping to get some time in the next few months to go back and do a new release.
Big fan of Materialistic here. By far the best Android HN app I've found. Didn't realise this but I must have downloaded it just after you put it on the play store. Even the first versions were solid.

No shopping list of features :). Just wanted to say good job (posted with Materialistic)
Yes you are absolutely right. On rereading that I wish I had used more meaningful phrasing.
This essay is a counterexample to its own argument.

It's poorly written, verbose, poorly organised, self-serving, and offers little in the way of solid advice.

An expert essay should have a point and purpose, and execute it with competence. This means a few things, but among others, it means having a grasp of your subject, an understanding of others' understanding or lack of it, a firm grasp of the boundaries of your subject, if those are salient, and the capacity to communicate clearly and with interest. Recognising that all writing is a favour to the reader and not the author is also key.

I'm contrasting this essay and its glib advice to Neal Stephenson's "Why I am a Poor Correspondent", in which Stephenson excuses his infrequent presence in email, online discussions and social media, and on interviews and conference panels: he requires long blocks of time, and days of them on end, to be able to produce his primary product, long and complex novels.

I've occasionally spilled out long essays in a single continuous pour with little further major revision necessary (though numerous fixes, corrections, and tweaks are virtually always needed). The experience is an exception, and almost always happens only on material I've been thinking over for a long time -- weeks, months, years.

I'm sitting on at least a half-dozen essays and reviews right now that I've been kicking around for most of the year, so nine months, simply because I've not had the time and space to organise my thoughts and secure uninterrupted keyboard time in front of a system at which I can call up and incorporate references, and do the topics in mind proper justice. It's frustrating, but as with David Byrne, when I've nothing to say, my lips are sealed. Or at least that's my goal.

There's a difference between firehosing words onto a page or into an edit-buffer, and actually writing a coherent, cogent, intelligent piece.

This piece fails at that, and fails (other than by contradiction) to show how.
I've been looking for super minimal Debian images as docker baselines, perhaps someone could marry the two ideas of quickly testing Linux distros with docker and live distros on CD/USB.

On an unrelated note, the web site is unreadable on my smartphone (androids chrome), and I'm quite fed up with web sites that are either superslow or unreadable on small devices...
This kind of stuff does happen and really needs more attention.
Graphically Design the Database for Your Django Code
You cant patent something that has prior art.
Ask HN: What will be the effects of the upcoming rise of AI and Automation?
I feel like we are living in a tipping point of human history. The rise of automation and AI will make our lives easier. We will finally be able to get rid of all the "useless" tasks we have to do.

However, my main concern is with ecomonical and sociological effects of this?

Will world GDP finally contract because of drastic reduction in cost of everything made?

Will joblessness become a norm and people can easily live off without working since humanity will finally be afford to do that?

Please someone smarter than me explain what can possibly happen in this future.
> now has an obligation to check whether or not the owner of every single linked page owns the copyrights

That isn't what the ruling says: you can still assume content is legal. Only when you know (or "should have known") it isn't do you need to unlink it.

In this case, geenstijl.nl (which is a professionally-run news site that likes to troll and stir up anything to get traffic) repeatedly linked to leaked playboy pictures uploaded somewhere on the internet. There was no way they could claim innocence. They expressly and repeatedly decided to link content they knew was illegal and would get them a ton of traffic.
To be clear, Cap'n Proto's serialization layer, from a schema perspective, is almost exactly the same as Protobuf (though with a very different underlying encoding).

The interfaces and inheritance relate to the RPC system. The interfaces are for remote objects.

See: https://capnproto.org/rpc.html
There was actually a lawsuit on whether the iPad was based on designs for the 1969 film, 2001 - A Space Odyssey. This was unsuccessful though: http://thenextweb.com/apple/2012/08/02/judge-rules-out-samsu...
Is it faster than MsgPack?
The very purpose of a clandestine intelligence service is to obtain the facts and analysis necessary to advance foreign policy objectives.

Within that context, the expectation is that the advancement of those goals is for the benefit of your own citizens (and possibly at the expense of other people).

This is very different than advancing policy goals at the expense of your own citizens.
I wonder why this doesn't use WebRTC (at least it wasn't mentioned)?
I agree on both points. First I think the headline is wrong because this only happened in one area of Kenya rather than reflecting the whole country. Also I think it is almost certain they did not successfully communicate the purpose and context.

Part of the context they might mention, since apparently it was only $30 per month, is the income difference in the United States where even some relatively lower-income individuals can afford to donate that. So to me a program like this could partly be about reducing the overall income inequality between countries. But at least if that income difference (how much money it actually is in rich countries) is part of the explanation it may seem like it is less likely to be an obligation.
Of all of those, why am I positive that we're both imagining Steve Ballmer's shining face/pate? "Woooo!"
Well, we all owe an abusive person a chance at rehabilitation. Speaking rationally, morally, and ethically.
I don't actually know how I feel about the contents of this article, but it _did_ generate a lot of lively discussion and made a lot of people think. So in that regard, I feel that it's a success.
Not sure I would have the courage to say this, but then again I am sure I don't have the courage to do what he did in the first place.
I've always liked Cap'n Proto because it was (quite literally) the ideas behind Protobuf taken to an extreme, or, depending on your point-of-view, reduced to its most basic components: data structures already have to sit in memory looking a certain way, why can't we just squirt that on the wire instead of some fancy bespoke type-length-value struct?

Of course, the hardest part is convincing everyone that it's not your bespoke type-length-value struct, but that you have good reasons for what you're doing. I think the humorous, not-so-self-serious presentation has worked in its favor (but that's just a subjective opinion and I can't back it up with data).