Ask HN: App for finding your cognitive siblings? - <AUTHOR> Hey HN,
I have this idea: An app that lets you find your 'cognitive siblings' - people that share your viewpoints, interests, etc. based on (a subset of) your browsing history.
Would like to see if this is something worth building a prototype for.
Facebook, but for connecting with people that you haven't met yet. Twitter, but finding also 'non-famous' cognitive siblings.
The idea is a plugin, that records your browsing history and shows you people with similar histories that you can then connect with.
Do you think that would produce interesting sibling results? Why / Why not? Has it been attempted before - why didn't it work out? (Maybe leaving privacy issues aside here for now) <comment><USER2> I think this is a pretty interesting idea.

Someone mentioned why not just follow subreddits. I noticed that subreddits are often a collection of the extremes of a hobby or interest. I would say that I'm a collection of interest that make up my unique personality, while subreddits often have people that are really deep into a specific topic.

One thing to note about your idea, is I've used apps in the past that connect you with people that you share interest with, but I often flake when it comes to actually meeting with people in person... I wonder if this is a common trend? I feel like I almost ended up using them as a self validation.... but never followed through much with meeting people.

<comment><AUTHOR> Hearing friends talking about flaking, I would say it is a very common theme. I would also think, that you may not want to meet up with that person, because either not in the same city, or because you may match with a lot of different people which also may change over time.

I also thought of it more like a self-validation thing, a source of more information, recommendations, etc. What you would get back may be an online conversation or a feed of relevant websites.

</comment></comment><comment><USER3> I like the browsing history concept, because browsing and search history really delves deep into who someone is, but you might get a more accurate image of someone's real-life self by using an interests questionnaire alongside or in place of browsing history to better see the offline interests someone has.

For instance, I really like cycling, but my programming-related Google searches eclipse my cycling-related ones by a huge margin, so your hypothetical algorithm would rank programming as a much greater interest than cycling, even if I spend about equal amounts of time on each.

</comment><comment><USER4> Connecting with similar people would be good.

Getting relevant link recommendations would be great.

Similar ideas: delicious, prismatic, StumbleUpon.

Biggest issues are probably chicken-and-egg problem and privacy concerns.

</comment><comment><USER5> The idea is to have a conversation with someone who's read as much of the same things you have as possible? What do you learn from this?

<comment><AUTHOR> Good question! Could see that a conversation with that person may go very stale very quickly, but may have some other benefits?

\- Great reading recommendations

\- Great proof-of-competence like a 'badge' or 'degree' when hiring

<comment><USER6> there's plenty to discuss whenever you've read something someone else has read. just think about book clubs that get together and talk about books that everyone has just read based on questions that they might have shared before hand. you can always share your insights into the book, your opinions on the content, connections to other things, etc. It's funny to me that people are saying that conversations around these things would get stale.

My tip would be to have a group of friends, potentially online in a group chat or in person, all read one or two _short_ pieces that you have selected so you can discuss them, and then have another person select pieces, etc. I highly doubt that you will find another person out in the ether that has read a lot of the same stuff as you have at the level you want or expect.

</comment></comment></comment><comment><USER7> Why not just go on reddit and look for subreddits you are interested in, to find these like minded people?

<comment><USER8> Because you somehow have to ferret out the ones who recur on many of those subreddits. "Oh look, bob123 is a regular on seven out of the nine subs! My cognitive sibling"

</comment></comment><comment><USER9> In any case such a tool may warn the user against its potential echo chamber effect.

[https://en.wikipedia.org/wiki/Echo_chamber_%28media%29](https://en.wikipedia.org/wiki/Echo_chamber_%28media%29)

</comment><comment><USER10> This would either be a very good or very bad dating site. I'd like to be positive and say very good, but I've been online long enough to have concerns...:)

</comment><comment><USER11> Wonder if spotify will ever release something like this as a feature</comment>


Day 1 of NY State Health Insurance exchange -- Internal Server Error - <AUTHOR> https://nystateofhealth.ny.gov/individual

<comment><AUTHOR> You'd think a little QA might go a long way here...</comment>


List of school shootings in the United States - <AUTHOR> http://en.wikipedia.org/wiki/List_of_school_shootings_in_the_United_States

<comment><USER2> List should, per recurring points of discussion about such events, include whether it occurred in a "gun free zone", how the assailant was stopped (of note: other armed non-police), and whether the assailant was on psychoactive medication.

<comment><AUTHOR> That's a good point. That would be interesting data to analyze.</comment></comment>


The need for good vocational schools for programmers  - <AUTHOR> http://programmingzen.com/2011/07/09/the-need-for-good-vocational-schools-for-programmers

<comment><USER2> Already exists in Europe, the 'hogeschool' in Belgium & the Netherlands and the 'fachhochschule' in Germany. I attended one and I would not advise anyone to do so; you're better off with a proper CS degree. I wouldn't (easily) hire anyone who did the studies I did.

It's funny in a way, I met a lot of people in the 'underground' scene in the mid to late 1990's, and by the time they were 18-20 many of them started off at CS programmes but many couldn't keep up and dropped 'down' to the fore- mentioned vocational schools. Many of them spend 14 hours a day in front of their computers but all their 'interest' and 'passion' didn't make them great programmers. Yes they had the patience to poke at a stack overflow until they could get the offset to the payload of their shellcode in eax, but that didn't make them (us) great programmers, despite what we thought back then. I'm really torn on the issue - many of them have great careers in IT and programming now, but they're mostly not great programmers. I don't like the current rhetoric of 'don't go to university, you'll be better off with an apprenticeship/vocational school' - experience shows it's simply not true. Maybe I'm just getting old.

<comment><USER3> That's a little bit unfair. The reason 'hogeschool' studies aren't as good as a proper CS degree has very little to do with vocational studies being inherently inferior to a more theoretically grounded education, it has to do with the fact that these vocational schools are known for being easier than their university counterparts, which attracts a certain audience, which leads to the courses getting dumbed down. Probably similar to how community colleges work in the United States.

The core problem is that vocational studies are considered to be inferior, which is a self-fulfilling prophecy.

It's like how, in Belgium, to get the best language education in high school, you'd choose advanced classes in maths, not language, because pupils who pick a maths focus are considered to be better students all-round and thus get tougher material in anything from geography to French.

<comment><USER2> Right, but the same thing will happen to vocational schools. It's not like a vocational school is like a proper CS degree but with different courses, equally hard. So the vocational school needs to cater to an audience that, let me say this in the nicest way possible, is not very much interested in fine intellectual nuances.

Now it depends on how one defines 'inferior', but vocational training _is_ inherently 'easier' than an academic approach; vocational training is about telling people how to solve certain problems, showing the the steps to take to tackle a specific situation. The Wikipedia article on 'vocational training' says more or less that, although I just learned that it's called 'procedural knowledge' there, which is a nice euphemism.

To me, this is the antithesis of the problem-solving nature of programming. I guess one can call widget-plumbing 'programming', but I wouldn't (and don't) hire people who install and maybe, with much effort and pain, customize Wordpress plugins and call themselves 'programmers'. Nothing wrong with Wordpress, but we shouldn't strive for a situation where that is the pinnacle of a programmer's expertise.

</comment></comment></comment><comment><USER4> I think that even the "brand-name" CS schools have this problem. Most of our students aren't /really/ going to be practicing computer science (heck, I don't, in industry... not in the purest sense); many of them will be writing software for a company. (Well, or they'll go work in finance, which is a whole different topic.)

While I definitely agree that (as with pretty much any complex skill) the only way to learn is by doing, over and over again, our undergraduates frequently go out into the world having only taken one or two classes that include any sort of nontrivial software development.

Now, these students are largely smart people, and they figure it out---but after two or three years in the workforce. I've heard this from other people, too, who have way more experience with the subject by virtue of having been around longer.

It's sort of an identity crisis thing: are we trying to produce computer scientists, or are we trying to produce software engineers? Neither is a wrong answer; they're just very different goals.

</comment><comment><USER5> My son is 15 and is interested in Full Sail or Digipen, which are geared toward game programming. My concern is that a vocational school may be good for immediate job placement but it could be a hindrance later on and limit his career prospects. I just can't see forking out $80k to train my kid to be a cube farmer.

<comment><USER6> I know very little about Full Sail's programming degrees, but I have a very good friend who graduated salutatorian from one of their film programs a couple of years ago. He directed shorts, music videos, etc. so he has something of a portfolio, yet Full Sail wasn't able to offer him any help once he graduated and stopped paying tuition. He lives in NYC, and yet according to him they weren't even able to set him up with informational interviews with contacts in the film industry. Some of that is the economy (he graduated in '09 when nobody was hiring), but he didn't even get any contact information for alumni once he got out. All he got was a second bachelor's degree and the debt to go with it.

He believes, and I agree with him, that Full Sail's industry contacts are limited because of their location in Orlando, and that since they are aggressively "for profit", their incentives to fix that are limited. They cater primarily to young people who don't know any better and who won't ask too many probing ?'s about job placement, etc. I don't see these problems as unique to film.

As I said, I know nothing of their programming offerings, but from what I've seen of their film offerings, I think your son should pass on Full Sail. I'd highly recommend that you tell your son to enroll somewhere accredited get a real CS degree. A CS degree offers at least a minimal credential towards other work in the field. A game programming degree isn't going to get you very far at all outside of game programming.

</comment></comment><comment><USER7> This is what Turing College[1] apparently aims to fulfill. I'm a bit wary since they are yet to be accredited, a process which needs at least 1 student to have graduated from their program. They are enrolling their first class ever so it should be interesting how it all turns out.

[1] <http://turingcollege.org/>

</comment><comment><USER8> Universities can and should do more to provide CS students exposure to _real_ software development, but I'm not sure that a vocation school is really the way to go.

In my mind the greatest benefit of a strong CS degree is that it gives you a broad knowledge base to draw on that lets you easily pick up new technologies and concepts. The exposure to particular programming languages or technologies is less important, in large part because our industry moves at a fast enough pace that focused knowledge can quickly become outdated.

All that aside, the best "hands-on" experience you can get is _actually working in the industry_. I'd much rather see existing CS programs step up their efforts to place students in good internship and co-op experiences than add more software engineering courses.

</comment><comment><USER9> The problem with vocational schools is that, from listening to people that've attended vocational schools, the modern vocational school industry feels more like those courses you took in your hometown community college the summer of your sophomore year in university.

Then again, I'm a university senior that's a bit disillusioned by the upper education system. I pine for a respectable education that isn't full of $1,400 menial courses like History and Government. I'm also a self-taught programmer that scavengers for free time to pursue my programming projects and education, struggling mostly with a free time deficit caused by said university courses.

</comment><comment><USER10> Github is the vocational school for programmers.

</comment><comment><USER11> So much of good programming can't be taught. In real world programming there are so many variables, you can't really teach when it's a good time not to unit test because you need to get something out the door. Or how to pad a dev schedule post rush to add all the tests you didn't do to get it out the door. Or how to migrate from one DB (eg. MySQL to Postgres) to another while keeping the whole system live.

<comment><USER12> That's why vocational training should (and often does) include lots of working as an apprentice.</comment></comment>


Anybody know anything about a new Bitcoin mining site RastBTC? - <AUTHOR> https://rastbtc.com/?a=88698 <comment><USER2> On first glance, it looks like a scam. I'd stay away.

<comment><AUTHOR> Good call. We signed up to see inside. Seems pretty basic. We'll see if anyone else knows anything.</comment></comment>


What Car? Real Range: which electric car can go farthest in the real world? - <AUTHOR> https://www.whatcar.com/news/what-car-real-range-which-electric-car-can-go-farthest-in-the-real-world/n18159 <comment><USER2> It's nice to see this comparison, but what do these ranges look like after 5 years of use on those batteries?

The temp was set to 18C (64F). What about -18C (0F)? What about 38C (100F)? The worse case is far more determinitive and important.</comment>


Try D3 Now - D3 Visualization Tutorial - <AUTHOR> http://christopheviau.com/d3_tutorial/ <comment><USER2> D3 is getting a lot of love lately! I like this tutorial as it nicely explains how to use events and animation. If you missed it, I wrote a D3 tutorial two weeks ago that shows how to do basic charting: <http://www.recursion.org/d3-for-mere-mortals/>

<comment><USER3> Thanks for writing it. I decided to start learning D3 last night and your tutorial was really helpful.

</comment></comment><comment><USER4> I released a visualization I completed yesterday which is written in D3 (source on Github) - <http://dealloc.me/demos/crime/2011.html>. Also, I've written an introduction to D3, focusing on what makes it different than your average charting library - [http://dealloc.me/2011/06/24/d3-is-not-a-graphing- library.ht...](http://dealloc.me/2011/06/24/d3-is-not-a-graphing- library.html).

</comment><comment><USER5> We use d3 extensively here at TwoSides and love it.

Here's some examples: [http://www.twosides.co/issues/185-should-euthanasia-or- physi...](http://www.twosides.co/issues/185-should-euthanasia-or-physician- assisted-suicide-be-legal/) <http://www.twosides.co/jono> (the venn diagram/bar graph wouldn't be transparent if you had an account)

<comment><USER6> This is the best web UI I've seen in a long time, both in terms of functionality and beauty. Good luck.

<comment><USER5> Thank you!

</comment></comment></comment><comment><USER7> D3 and ClojureScript:

<http://keminglabs.com/cljs-d3/>

[http://groups.google.com/group/clojure/browse_thread/thread/...](http://groups.google.com/group/clojure/browse_thread/thread/0ec135ec63457e79)

</comment><comment><USER8> The website's examples are much more eye catching: <http://mbostock.github.com/d3/ex/voronoi.html>

</comment><comment><USER3> I might be missing something, since I just started learning it. But instead of drawing a circle like this

        sampleSVG.append("svg:circle")
            .style("stroke", "gray")
            .style("fill", "white")
            .attr("r", 40)
            .attr("cx", 50)
            .attr("cy", 50)
            .attr("width", 100)
            .attr("height", 100);

I'd prefer to express it like this

        sampleSVG.append("svg:circle")
            .style({
                "stroke": "gray",
                "fill": "white"})
            .attr({
                "r": 40,
                "cx": 50,
                "cy": 50,
                "width": 100,
                "height": 100});

That way, I can just pass object literals as arguments to functions such as attr.

<comment><USER9> Checkout this branch of d3:

<https://github.com/mbostock/d3/commits/map> <https://github.com/mbostock/d3/pull/179>

We're working on this syntax for: style, classed, property, on, attr, attrTween, style, styleTween. It's a more concise syntax, especially when the attrs are functions. An example from the tutorial:

      d3.select(this).selectAll("rect")
            .data(function(d){return d;})
            .enter().append("svg:rect")
            .attr("fill", "aliceblue")
            .attr("stroke", "steelblue")
            .attr("stroke-width", "1px")
            .attr("width", function(d, i){return (histoW/dataset[0].length)+"px"})
            .attr("height", function(d, i){return (d/dataMax[rectIdx]*histoH)+"px"})
            .attr("x", function(d, i){return i*(histoW/dataset[0].length)+"px"})

Becomes:

        d3.select(this).selectAll("rect")
            .data(function(d){return d;})
            .enter().append("svg:rect")
            .attr(function(d,i ) {
              return {
                "fill": "aliceblue",
                "stroke": "steelblue",
                "stroke-width": "1px",
                "width": (histoW/dataset[0].length)+"px",
                "height": (d/dataMax[rectIdx]*histoH)+"px",
                "x": i*(histoW/dataset[0].length)+"px"
              };
            });

Three anonymous functions become a single function which returns an object.

</comment></comment><comment><USER10> I have eyed d3 eagerly for a while and now we enjoy using it for our node knockout entry (<http://rapminder.com/>).

This tutorial comes in handy - thanks!

<comment><USER11> This is great and quite amusing. I just wish I could compare the # of references to Cristal vs. Dom P over time :)

<comment><USER10> Thanks asanwal - you will! We have quite a few things we want to finish today before the competition ends, and even more afterwards.

</comment></comment></comment><comment><USER12> My first thought upon seeing this was "Why is the D3 database on the top of hacker news???"

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

</comment><comment><USER13> Aww, thought this was for Diablo 3...

<comment><USER14> Same here bro, same here :(

</comment></comment><comment><USER15> So it's like an incredibly verbose Raphaël?

<http://raphaeljs.com>

<comment><USER2> Unlike Raphaël or its predecessor library Protovis (<http://mbostock.github.com/protovis/>), D3 uses SVG as the graphical representation.

This is more verbose, but is actually really powerful, because there's no translation between what your code is doing and what the browser is using to display your graphics. You can do anything SVG can do in your visualizations, and it is much easier to debug.

<comment><USER15> Raphaël uses SVG (and VML for IE browsers). Says so on the main page.

<comment><USER2> Yes, and so does Protovis. But you don't interface with SVG directly. To draw a circle in Raphaël, you use Raphaël.circle. In Protovis, you use pv.Dot.

To draw a circle in D3? svg:circle.

<comment><USER15> So both use SVG, you just use the SVG syntax. How is that an advantage? The whole point of libraries like that is not to abstract the presentation layer.

Raphaël can be switched to WebGL, for instance, and you won't even need to rewrite any code using that library, while you're stuck with the verbose low level calls to a particular implementation of SVG.

<comment><USER16> You're missing the point.

Raphaël is a simple, unified interface to SVG and VML. You ask for a circle, and it will make one, whether in SVG or VML.

But if you have an array of data and want to visualize it, you have to write the code that creates the circle (and its position, size, color, etc) for each point. And if that data changes, you have to write the code which adds circles, removes circles, or animates the update of existing circles with the new corresponding data.

D3 is a general library to help you write that code, but it assumes you are working with DOM objects. It will create/remove/update HTML, SVG, or VML elements -- whatever you want. D3 is not a renderer abstraction library like Raphaël; it is a data to DOM mapper.

You could make something like D3 for Raphaël, but it makes sense to just assume you have SVG support now. You get to use its groups, CSS, and standard DOM events, without reinventing those wheels.

</comment></comment></comment></comment></comment></comment><comment><USER17> I fucking love D3.</comment>


Show HN: Birds Near Me – Birding with citizen science - <AUTHOR> http://birdsnearme.com

<comment><USER2> What a great idea. It sits quite well in the spot of giving people with a passing interest in birds, and nature in general, quite a decent amount of information. It might even be a gateway app, transforming casual users into full-time birders.

What I think might be missing is some form of call to action where people could engage with local groups or NGOs to find out about organized field trips and other events that would better inform people about a range of conservation issues and make them more aware of the world around them.

The work that the Cornell Lab of Ornithology is doing is pretty interesting. There are many online databases for recording bird sightings but as far as I know eBird is the only one with a strong focus on data quality and monitored by network of local volunteers that work as curators and moderators. They are also leaders in making the data open through their API which is generating a lot of useful projects and ideas.

[http://ebird.org/content/ebird/](http://ebird.org/content/ebird/)

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

[https://confluence.cornell.edu/display/CLOISAPI/eBird+API+1....](https://confluence.cornell.edu/display/CLOISAPI/eBird+API+1.1)

<comment><AUTHOR> Thanks for the compliment. This is just the 1.0 MVP release. I've got a number of ideas on the roadmap.

My intention was to build a birding app for the casual birder. Birds Eye covers the hard core birder market, I wanted something more approachable.

eBird is really great. It's amazing that it's been running for 10 years. It's really caught on in North America. I'm hoping with this app we will start to get more data around the world (localization is scheduled for the 1.1 release :)

<comment><USER2> I think there's a decent amount of latent interest in the environment in general and birds in particular since they are probably the most visible. The hard part is getting from somewhat interested to quite interested - that would make a big difference in environment issues - but that's hard to do unless you find out about local birds clubs, etc. which are really targeted at the serious/obsessed birder. Cornell do a reasonable job of engaging people's interest and the data available on eBird should help.

eBird adoption is growing here in Portugal - the main advantage is the moderation which is useful in keeping out the, shall we say, less reliable observations. As a result we see a decline in the use of other databases as people move to eBird.

I use the eBird API for www.birdinglisboa.com which provides a news service for birders in the Lisbon area.</shameless plug>

</comment></comment></comment><comment><USER3> Nice! Is it open source?

FYI, me and three others developed one for plants as part of GovHack hackathon [1]. The information is sourced from Atlas of Living Australia database.

One of these days, I'll pick up the code and complete it :) Very time poor right now, unfortunately.

[1] - [https://github.com/govhack-botaniser](https://github.com/govhack- botaniser)

<comment><AUTHOR> Thanks! It's not open source at this time. I'm running it as a bit of an experiment and as a way to give back to all the people that have contributed in many ways (data, pictures, recordings, libraries) etc...

I had the initial version working in a couple of weeks and was using it quite a bit. It does take a lot of effort to finish all the loose ends. Hopefully you'll finish yours as well.

</comment></comment><comment><USER4> Very cool, thanks for sharing.

I would like something similar for Odonata (dragonflies and damselflies) to help with our local surveys

[http://www.mndragonfly.org](http://www.mndragonfly.org)

There is a nice Odonata website/database, but it doesn't have API support like eBirds does

[http://www.odonatacentral.org/index.php/PageAction.get/name/...](http://www.odonatacentral.org/index.php/PageAction.get/name/HomePage)

I've been meaning to build such an app but it hasn't made it to the top of my todo list yet.

</comment><comment><USER5> I second hhandoko's question: is it open source? Or better yet, is it FLOSS? Also, is an Android version coming anytime soon?

<comment><AUTHOR> It isn't open source but it will remain free. There is a similar Android app called Birds Around Me [1] that is very similar. I have no plans to implement on other devices. This is just a hobby. Ironically found after I built most of this app.

[1]: [https://play.google.com/store/apps/details?id=com.sobremesa....](https://play.google.com/store/apps/details?id=com.sobremesa.birdwatching&hl=en)

<comment><USER5> Yeah, I saw that on your support site after I asked. Sorry for not checking before, but thanks for answering!

</comment></comment></comment><comment><USER6> I bet many people from the UK wouldn't click on this link since they'd think it's another crappy dating site.

<comment><USER7> I dunno, "Birding with citizen science" might be quite an _interesting_ dating site...

</comment></comment><comment><USER8> eBird is pretty much the definitive siting database. Interesting that its leveraging it. I'll try it out (maybe find some more birds for my flickr (which is inself a bad bird pun).

[https://www.flickr.com/photos/acomjean](https://www.flickr.com/photos/acomjean)

</comment><comment><USER9> how does this compare to Birdseye? [1]

[1] [http://www.birdseyebirding.com/](http://www.birdseyebirding.com/)

<comment><AUTHOR> BirdsEye has a dedicated database so it can provide more accurate distributions but its limited to North America (there are other regions). BirdsEye is also a paid product.

If you are serious about birding it's worth checking out but poor UI IMO was the primary motivation for me to build this app.</comment></comment>


Sharpen your computer skills for free freeapril - <AUTHOR> I'm in no way affiliated, but this does seem like a really nice offer: all the courses are free in april at https://www.pluralsight.com/
A really nice way to spend your time, not worrying about covid.
I'm sharpening up my UX skills, but yeah, there are quite a few topics to choose from. <comment><USER2> I really like pluralsight. Convinced my boss we (aka me) needed a subscription :-)

<comment><AUTHOR> Smart boss :D

</comment></comment><comment><USER3> I was searching for digital marketing courses</comment>


In The Pursuit of Becoming Unlimited - <AUTHOR>

Hi hackernews, lately I have felt like I am limiting myself too much so I decided to unlimit myself entirely. My blog To Be Unlimited will chronicle my journey to become unlimited http://tobeunlimited.blogspot.com/ any feedback on it is much appreciated. <comment><USER2> The first step to being unlimited is to learn how to post links correctly.

<comment><AUTHOR> Yeah sorry about that, still new here.</comment></comment>


Show HN: OKR Example Directory – Incl. Roles Like DevOps, VP Eng, etc. - <AUTHOR> https://soapboxhq.com/goal-examples <comment><AUTHOR> Direct link if you want to skip straight to engineering examples: [https://soapboxhq.com/goal-examples/engineering](https://soapboxhq.com/goal- examples/engineering)

The examples are actually in our app (Soapbox) but we decided to surface them publicly as a resource for anyone to use whenever they do goals.

Hoping it's valuable for inspiration

</comment><comment><USER2> This is awesome! Would love to see ML eng OKRs in the future as well.

Sharing this with my team and bookmarking.

<comment><AUTHOR> Absolutely. We're working on adding more and more!

</comment></comment><comment><USER3> This is great!

</comment><comment><USER4> 180+!!! Wild.</comment>


Thought police muscle up in Britain, soft totalitarianism arrives - <AUTHOR> http://www.theaustralian.news.com.au/story/0,,25361297-7583,00.html?from=public_rss

<comment><AUTHOR> Before anyone complains or flags, let me say that I debated whether or not to submit this, as HN has been especially touchy about government-oriented posts lately. I decided to submit it anyway because 1) the piece is careful, non- hysterical, and thoughtful, and 2) as PG has implied elsewhere, the existence of thought crimes are particularly onerous to innovators. Try to imagine Feynman living in this place...

<comment><USER2> Non-hysterical?! It compares modern-day Britain to East Germany and the October Revolution, on the basis that Britain criminalises hate speech (lots of other countries do, too). The author is Australian, and doesn't live in Britain as far as I can tell, so I'm not sure why he's purporting to lecture about how life is here. Ironically, hate speech is also a criminal offence in Australia, and the Australian section is the longest in Wikipedia's Hate Speech article. The sort of trivial, tabloid-type stories he tells (but doesn't link to) aren't really enough to make a serious case that the UK is some sort of North Korea-esque totalitarian regime.

Anyway, I won't flag you -- I'd be interested to read what others think -- but I don't think it's a very good article.

<comment><AUTHOR> Without living in the UK myself, it is difficult for me to separate the exceptional cases from the general trend. What I can say is that in America, things that would have seemed exceptional ten and twenty years ago have become depressingly commonplace.

Also, from an epistemological perspective, you almost have to use the exceptional cases to spot the trend while they are still exceptional. Once they become commonplace, we stop noticing them. They are no longer new, so they are no longer news.</comment></comment></comment>


Shiva Ayyadurai's defamation suit against Techdirt tossed by judge [pdf] - <AUTHOR> http://ia801509.us.archive.org/32/items/gov.uscourts.mad.185980/gov.uscourts.mad.185980.48.0.pdf <comment><USER2> It's good that this was thrown out, although a little disappointing that the court considers the whole issue to be "just, like, your opinion, man".

</comment><comment><USER3> The strange thing is that the core claim (if true) creating an electronic messaging system in the early 70s while being 14 years old is an impressive feat on its own, not sure why if that is the case did he felt the need to do the mother of all CV paddings.</comment>


Ask HN: How to approach the dot-com domain owner of "my" domains? - <AUTHOR>

I own 2 domains (dot NET and dot ORG) and would like to get the dot COM , how do I approach the owner if I don't have a fortune to spend? Can I just "trademark" the domain name like Groupon did http://news.ycombinator.com/item?id=1547943 and go after the guy? <comment><USER2> In the first instance, just ask as one human to another if you can track down contact details - you might surprised. I went through something similar recently and it all worked out amazingly, although I don't imagine my experience is the more common one (the owner basically said 'i tried something with it but it didn't work out, good luck' and gave it to me).

<comment><AUTHOR> Thank you for the advice, you were very lucky to get your domain, your experience isn't indeed a common one, but I'll try it, worse case could be the guy could rising the price just because of my interest.</comment></comment>


Show HN: Fo: An experimental language which adds generics on top of Go - <AUTHOR> https://github.com/albrow/fo <comment><USER2> I liked certain aspects of Go, but lack of generics was a deal-breaker for me. You approached it a way better than I (and many others) did. Instead of arguing on forums you started writing code.

<comment><USER3> Isn't interface{} a generic?

<comment><USER4> No, interface {} is more like void pointers in C and C++ or Object in C# and Java. It can hold values of any type. One of the major selling points of actual generics is that they provide type safety, but interface {} doesn't provide that.

<comment><USER5> Go type assertions are quite safe on the other hand, unlike C type casts. The only thing generics will do is to avoid that extra assertion step and the bit of overhead that's involved in that. You could argue wether it will actually increase readability of your code.

<comment><USER6> Generics (when used/implemented correctly) provide way more than just elimination of type assertions. It provides compile-time type safety, rather than runtime safety. It also provides elimination of the overhead (which isn't trivial, reflection is not inconsequential) and boilerplate code. It also allows you to use the same function/method for many different types without having to resort to boxing everything to an interface/object.

<comment><USER7> Depending on the implementation, too, generics can be more friendly in other ways. C# emits code for both value types and reference types when appropriate and uses the correct paths as needed.

</comment></comment></comment></comment></comment></comment><comment><USER8> For generics:

How do recursive types and self-referencing types work? What about generic types that themselves require generic types? Can type constraints be applied? What do generics look like on interfaces? How about in slices? When compiled, are specialized functions written or is the code shared? How is runtime reflection for type params implemented?

Also, oblig ref of a now-defunct lang on top of Go: [https://oden- lang.github.io/](https://oden-lang.github.io/)

Finally, good work, I hope it was fun! Don't take criticisms too seriously, they are good things (as opposed to silence) and par for the course on this site.

</comment><comment><AUTHOR> Author here. I've been working on Fo part time for 4 months. Feel free to ask me anything.

<comment><USER9> Did you consider parameterized packages? The idea is you can declare a set of related objects/types/methods as well as have concrete type specific initialization. E.g.

      package stack[t]
      type Type []t
      func New() Type { return Type{} }
      ...

Then it can be used so:

      import s "stack"[int]
      var s1 = s.New()

<comment><USER10> I've seen this in ocaml and always thought it strange. I think it's useful, but binding it to a package seems odd since packages are units of code distribution or some such.

<comment><USER11> It is not strange if you think of objects in OOP as modules/packages you can inherit from.

</comment></comment></comment></comment><comment><USER12> Nice work. But, serious question - When going with parameterized types I know from Haskell how you always end up needing one more language extension and always end up banging your head against the wall that separates types and values a little more. At least if you're not a math genius, but probably even then.

And from Java I know that there's a pretty trivial example that showcases how its Generics implementation is unsound when mixed with inheritance.

And I know that the Go maintainers have been hesitant for a long time because they didn't know a good version of Generics to add.

So, is there any version that just works, and never leads the user down any rabbit holes? And that doesn't lead to ever increasing type boilerplate?

Because I've been super happy ever since I decided that worrying about occasional usage of void pointers in C is just not worth my time. And where configurability is really needed, function pointers are totally fine - I don't think there is any need for static polymorphic dispatch (function pointers are probably even preferable, to avoid bloated machine code).

<comment><USER13> Haskell is a proving ground, so it's picked up a number of ideas that never quite panned out.

I think you can identify a core set of features that are pretty reasonable. I think that'd be type classes, constraints, and functional dependencies.

If they made a handful of extensions standard (GADTs, etc.) it would mostly Do What You Want without a lot of prodding.

> And from Java I know that there's a pretty trivial example that showcases > how its Generics implementation is unsound when mixed with inheritance.

I'd be curious to see that. There's a well known limitation that mutable containers (and they're all mutable in Java) need to be invariant, but that doesn't make them unsound.

The type system was also already unsound due to covariant arrays and nulls being a member of all classes, but if you don't break those rules or disable checks, Java generics work as far as I can tell. By "work", I mean I've yet to get a ClassCastException in a fair amount of work with some gnarly Java generics.

And, really, 99% of the boilerplate in Java's typing is that you can't declare aliases for types; that seems to be more due to engrained hostility to syntactic sugar than any technical difficulty.

> So, is there any version that just works, and never leads the user down any > rabbit holes?

Most of the "gradual typing" projects for languages like Javascript, Python, Ruby all seem to accomplish what you're looking for, by virtue of the fact that you can just ignore it when you don't want it.

<comment><USER12> > There's a well known limitation that mutable containers (and they're all > mutable in Java) need to be invariant, but that doesn't make them unsound.

I see. Yeah I don't know precisely what these terms mean. If the creators of Generics mistakenly made them covariant, that only goes to show that maybe it's a little too complicated. IMHO.

To be more precise, what we want to do might be too complicated for practical (i.e. relatively simple) type systems to describe. So, why bother at all? Better learn how to structure programs simple enough to make them obviously correct (i.e. mistakes will be obvious and can be easily fixed). Instead of catering to the needs of impractical type systems. I think that's why C is still so popular: It removes most of the boilerplate (i.e. strides for array indexing, arithmetic operators, structs, other ABI things) but gets out of the users way if s/he needs to disregard these constraints for a while.

Even in C, there is a similar problem with _const_ compatibility of pointers of more than 1 level of indirection. Example taken from [1]

        const int **pp2;
        int *p1;
        const int n = 13;

        pp2 = &p1; /* not allowed, but suppose it were */
        *pp2 = &n; /** valid, both const, but sets p1 to point at n */
        *p1 = 10;  /* valid, but changes const n */

[1] [https://www.sanfoundry.com/c-tutorials-concept-pointer- compa...](https://www.sanfoundry.com/c-tutorials-concept-pointer- compatibility-programming/)

</comment></comment></comment><comment><USER14> The only time I find I need generics is when I'm prototyping things and making lots of changes. Node, Ruby, & Python are great for this. In fact, PHP's associative array is really powerful/sloppy since it can be used as a list, hash/dictionary, iterable, or object.

That aside, I don't think I've ever _really_ been bothered by the lack of generics for actual work code.

<comment><USER15> I've been working full time in Go since 2012. I've never had a use for generics.

<comment><USER16> How does Go statically type check collections, then? It seems like a pretty common, desirable use-case to me.

I could understand not missing this if you're coming from a dynamically typed environment, but understand that many people aren't.

<comment><USER17> Go can statically type check hash maps, arrays, and channels. If you want some other container type it must be written with a concrete element type in mind.

<comment><USER16> Wait, really? The language designers gave themselves (effective) generics and then kicked down the ladder afterwards so that other container implementers couldn't follow? That's hilarious.

<comment><USER18> Why does it need to be fair? Serious question.

<comment><USER16> It doesn't, obviously, it's just hypocritical and patronizing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Has anyone worked on Lisp-like macros in Go? Executing code at compile time to emit AST and compile it.. That is what I feel is really missing. Even with strictly a compile-time phase (no run-time macro evaluation) it could be quite useful.

Starting with generics seem to lead down the dark path of C++ template metaprogramming..

I would rather do something like

type StrBox = MakeBoxType!(string)

...and have clean hygienic macros to generate my "generic". Syntax candy can be added to that to get generics...but starting with generics and only supporting that went really really badly for the C++ ecosystem.

<comment><USER8> Completely agree. Go has parsing and type checking and what not as part of its stdlib. However they choose a code generation approach which is a separate step and often relies on code comments. Even if security fears of compile time execution were allayed, the Go stewards are very unlikely to support altering the very strict-yet-simple grammar for multiple reasons. Macros would be very welcome, but they can't help improve the language if the language is intentionally inflexible.

</comment></comment><comment><USER10> This is suuuper cool. I've thought of doing something similar for a while, but I tried approaching it from the "generate Go" angle. I also found the Go syntax too tedious to write a parser for (because I've never written a parser before, nor any kind of compiler, so the learning curve was too steep). So I was just going to try to build a simple, expression-based language that compiled to (and interoped with) Go. Unfortunately, I ran out of steam because the learning curve was so steep.

<comment><USER20> One approach would be to use the existing Go parser packages and modify them to suit your needs. Unfortunately (last time I checked) the standard library packages for this (go/ast, go/types, etc.) differ from the actual packages used by the Go compiler. But they might be close enough to suit your needs.

<comment><USER10> I recall experimenting with that, but I had a hard time making them work correctly (although I don't recall the details--might've been something to do with their parser DSL or something). The compiler doesn't use the stdlib because the compiler was originally implemented in C, and then they did a mechanical C -> Go translation.

</comment></comment></comment><comment><USER21> You really missed the opportunity here to call your language Foo

<comment><USER22> Or, "Go" but pronounced "Jo" for Generics.

<comment><USER23> "d͡ʒoʊ".

</comment></comment></comment><comment><USER24> but go already has generics [https://www.reddit.com/r/rust/comments/5penft/parallelizing_...](https://www.reddit.com/r/rust/comments/5penft/parallelizing_enjarify_in_go_and_rust/)

<comment><USER25> Go _actually_ has generics.

Just not for user-defined methods and types.

<comment><USER26> If you're referring to the map type, that is implemented in plain Go. (Though it does import "unsafe") . There are no generics like you would see in other languages.

[https://golang.org/src/runtime/hashmap.go](https://golang.org/src/runtime/hashmap.go)

[https://dave.cheney.net/2018/05/29/how-the-go-runtime- implem...](https://dave.cheney.net/2018/05/29/how-the-go-runtime-implements- maps-efficiently-without-generics)

<comment><USER20> Well, it's not quite fair to say it's "plain Go." The compiler converts expressions like x, ok := m["foo"] into function calls. User-level code can't define syntax sugar like that. Also, the hashmap implementation imports some internal packages, so you can't just copy and paste it. (I would know, because I mostly did copy and paste it for one of my own projects: [https://github.com/lukechampine/randmap](https://github.com/lukechampine/randmap))

<comment><USER26> When discussing whether go has generics, "plain go" is a reasonable thing to say.

Besides it's a compiler. It's going to take an input in format X and translate it to an output in format Y. That's just what they do. Syntactic sugar debates aside there's still no generics in there.

<comment><USER25> "generics" is mostly a matter of type system, not of implementation - as Java and this Go implementation showcase. Indeed, "untyped" generics is trivially implementable in Go, via `interface {}`, you just loes all the type safety (and you have to write more verbose code).

My point is, Go _type system_ DOES support generics, but _only_ for "primitive" types, not for user-defined types.

</comment></comment></comment></comment></comment></comment><comment><USER27> C++ style (compiler) or Java style (boxing) implementation?

<comment><USER28> Looks more like C style macro token pasting with sugar.

</comment></comment><comment><USER29> Is there any support for bounded type variables? Or plans to add them?

<comment><AUTHOR> Yes, see [https://news.ycombinator.com/item?id=17305563](https://news.ycombinator.com/item?id=17305563)

</comment></comment><comment><USER30> Should be called mofo.

<comment><USER11> It would not be a good idea in Portuguese speaking countries (mold).

</comment></comment><comment><USER31> Nice work!

</comment><comment><USER32> Interesting, now all you need to do is add exceptions :)

<comment><USER26> Perhaps. But if Go itself adds exceptions they're going to have to catch a MassDeveloperExodusException.

The standard reason I see for people wanting exceptions in Go is because they're sick of writing the following:

```go

thing, err := things.New()

if err != nil {

        log.Fatalln(err.Error()) // Or `return err`

}

```

But I would argue that it means they're not writing idiomatic go. A good reference for the value of error values is this go blogpost[0]. The HN discussion[1] of that post was also interesting, I like this comment in particular:

> _In Go I not infrequently make use of a non-nil value AND a non-nil error. A > canonical example of this is the io.Reader interface in Go 's standard > library [1]. I think it is a very useful idiom particularly when dealing > with things where failure is more normal - e.g. dealing with network > services, disk IO, decoding partially corrupt exif data from images. Often > you want a best-effort at the value even if you run into problems._

Handling every error from every function that returns an error can be verbose. But for that verbosity you get a much easier to understand failure model, and the tools (defer) to handle failures reliably no matter what comes up. Exceptions are part of the reason that RAII is so critical in the C++ world.

[0]: [https://blog.golang.org/errors-are- values](https://blog.golang.org/errors-are-values)

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

<comment><USER33> Eh, rust's result type has shown that you can do the same thing in way that is more type safe and more ergonomic.

<comment><USER26> Sure, if I had proper sum types + pattern matching in go that'd be great. I'm just saying that I'd prefer the status quo over adding exceptions specifically.

<comment><USER33> Oh for sure.

</comment></comment></comment></comment></comment><comment><USER34> Shouldn't it have been called Ho ?

<comment><USER35> And then we can take this, but put it on the JVM, and we end up with Jo!

<comment><USER36> Yo?</comment></comment></comment>


Ask HN: Suggestions for accepting payments in India - <AUTHOR> I have recently code completed my side project and am looking for a gateway which allows me to collect payment without registering a company for it . I would like to see the response and register in future , but I really need to check the market response first . Any suggestions ?? <comment><USER2> Meesho maybe?</comment>


AWS billing is broken and Kubernetes won't last - <AUTHOR> https://www.techrepublic.com/article/aws-billing-is-broken-and-kubernetes-wont-last-says-irreverent-economist-corey-quinn/ <comment><USER2> Corey is so right on this. It's only a matter of time before all these vc funded k8s shops die. (They won't be acquired.) All the k8s users themselves will have to return to their barista jobs.

<comment><USER3> No he isn't.

There is a huge gap to fill in the operators' space.

Basically every service offered by the public clouds should be provided as an operator (automatically managed with little human involvement).

And every one of these operators can sustain its own company.

<comment><USER2> Bullshit. People that actually use linux won't ever get fired. K8s hipsters definitely will be fired. EOS.

K8s is a dying over hyped pos.</comment></comment></comment>


CSS Full Width Background Image - <AUTHOR> http://www.snippetrepo.com/snippet/css-full-width-background-image/40

<comment><USER2> How is this better than "background-size: cover;"?

Example: <http://css-tricks.com/perfect-full-page-background-image/>

<comment><AUTHOR> Because 'background-size: cover; only works with IE9+'. This example is not supposed to be best practice or most preferred practice, it is meant to educate people and give an alternative to the one everybody already knows :)

<comment><USER2> That's not true; you use:

-webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;</comment></comment></comment>


Voat: What Went Wrong? - <AUTHOR> https://battlepenguin.com/tech/voat-what-went-wrong/ <comment><USER2> > People with more controversial ideas no longer want to contribute content to > a website which censors difficult topic

I'm sorry, but I just think this a horrible mis-characterization of what reddit does. I'd encourage people to go look at the list of communities that have actually been banned[1]. Every single community that was removed was removed for particular problematic _behaviour_ , not for the difficulty of the topic. /r/fatpeoplehate wasn't banned for its views on fat people, it was banned because it was harassing the people that appeared on the sub-reddit. And take the counter example - /r/The_donald arguably has been involved in some real dodgy stuff including actively pushing pizzagate including the harassment of the businesses accused to be involved in it. Reddit has gone to extreme lengths to try not to ban it because of the cooling effect on discourse that would have.

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

</comment><comment><USER3> Most practically speaking? Assumed the subreddit bans and controversies of 2015 were going to cause Reddit's Digg moment and lead to an exodus of users to Voat (in the same way Digg's redesign boosted Reddit), but only attracted the controversial ones due to a large majority of the site not caring.

Then found itself struggling to attract less... politically charged users/communities as the site became known for the racism and far right views there. That's probably the killer really, a good community site needs a large audience of people who aren't constantly fighting over culture wars and who can create interesting content about everyday topics as well.

</comment><comment><USER4> Voat: What Went Wrong, The Summary:

Reddit didn't let racists run rampant. Reddit didn't let racists run rampant. Reddit didn't let racists run rampant. Today, Voat is overrun with Racists and is a terrible place. Why didn't Reddit let racists run rampant?

If its any consolation you really don't have to look too hard to find a bunch of hardcore racists and bigots of all kinds on Reddit spouting violent hate rhetoric so I guess it all worked out?

<comment><USER5> Counterpoint: 4chan is full of racists and worse, and is one of the most vibrant (for lack of a better word) communities on the internet.

I think Voat's failure to become notable is not due to the prejudice of its userbase, but rather 1) it was trying to fill a niche that didn't really exist - it was trying to be "edgy reddit" when plenty of existing communities offered the same thing, and 2) lack of network effect - there was no reason to go there because no one is going there. This type of site needs to reach a "critical mass" of traffic in each reddit/subverse/board to be viable.

<comment><USER6> I'd say one of the reasons why 4chan works and voat doesn't is because /pol/ is reasonably well cordoned off from the majority of 4chan which just wants to talk about anime.</comment></comment></comment>


Gimp project gets $68.34 monthly - <AUTHOR> People like to shit on GIMP for not being a free Photoshop clone, meanwhile it gets $68.34 monthly donations...<p>https://liberapay.com/GIMP/ <comment><USER2> I am far from shitting on GIMP. But truth to be told, it's not very pleasant user experience. And I feel like there are several fairly affordable and significantly better commercial alternatives to Photoshop.

<comment><USER3> There are better free alternatives too.

[1] [https://krita.org/en/](https://krita.org/en/)

and

[2] [https://www.photopea.com/](https://www.photopea.com/)

to name but two.

The Gimp is dire software and needs taking out and shooting. It's one of those awful apps that people who know nothing about digital design always trot out whenever others bemoan the lack of Photoshop on Linux. A recommendation that does more harm than good, as anyone who's used Photoshop and gives The Gimp a spin will end up thinking _" If that's the best Linux has to offer, Linux must be rubbish!"_

<comment><USER4> Krita doesn't have feature parity with GIMP.

<comment><USER3> Given how difficult and unintuitive it is to use, I don't think Gimp has feature parity with itself.

</comment></comment></comment></comment><comment><USER5> Correction: that is how much they make WEEKLY on 'librapay'. That is not the only way they take money.

Not how much they get from other methods, like paypal and flattr. They also accept bitcoin, cheque via GNOME.

<comment><USER6> One of the devs runs a Patreon: [https://www.patreon.com/pippin](https://www.patreon.com/pippin)

GIMP also has sponsors, though I don't know how much they contribute: [https://www.gimp.org/donating/sponsors.html](https://www.gimp.org/donating/sponsors.html)

That still isn't much at all for a program trying to compete with Photoshop though.

</comment></comment><comment><USER7> Don't know why people hating on GIMP.. maybe it's not exact replacement for photoshop.. but I've used it for product photo touch-up work and it gets the job done. Which is great job for free

<comment><USER4> I agree. It's a good tool and gets the job done, and it's been a tool that I've reached for a long time.

It's unfortunate that their funding situation is so dire. It's a project that could use a cash injection like Blender got. Blender went from having a terrible UI to winning awards.

<comment><USER8> Blender already has a solid and enthousiastic user base before the 2.7 UI update.

Blender was also the forerunner in having a kickstarter-like scheme to raise enough money to make it opensource.

There's an interesting interview between Ton Roosendaal and Blender Guru about the history. [https://www.youtube.com/watch?v=qJEWOTZnFeg](https://www.youtube.com/watch?v=qJEWOTZnFeg)

The Blender guys were also a lot less hostile towards people trying to make improvements to stuff like UX.

One of the things that GIMP also desperately needs is a name change, while Blender is an odd choice it at least doesn't conjur up sexual images.

<comment><USER4> > _One of the things that GIMP also desperately needs is a name change, while > Blender is an odd choice it at least doesn 't conjur up sexual images._

[https://glimpse-editor.org](https://glimpse-editor.org)

</comment></comment></comment></comment><comment><USER9> Yes it's what they deserve for ignoring usability forever.

Krita is where it's at.

I guess I should give Gimp team a shout out, bit frankly I've never used it the last 20 years.

<comment><USER10> I agree, for me it is hard to understand reasons behind it's state - level of stubbornness is almost irrational, it's like project maintainers took some kind of secret oath to never ever surrender and bow to those pesky _users demands_.

</comment></comment><comment><USER11> That's unfortunate. Meanwhile the JavaScript framework Vue is bringing in the following and more from other location:

* Patreon, 15,873 per month - [https://www.patreon.com/evanyou](https://www.patreon.com/evanyou)

I find it odd that a technology I could easily reproduce myself brings in so much money compared to a project that is so incredibly far beyond my capabilities.

</comment><comment><USER12> This is wrong. The link says $68.34 per week, not per month.

</comment><comment><USER13> Is liberapay the only funding venue for GIMP?

<comment><AUTHOR> Individual devs seem to have their own patreon accounts but their income is still around few monthly Photoshop subscriptions.

</comment></comment><comment><USER14> GIMP is great for most tasks if you have used it for a while.

I started on 2.6 and I use 2.10 now.

</comment><comment><USER15> Can I pay for GIMP training?

</comment><comment><USER16> is there a way to donate crypto? im in the mood

</comment><comment><USER3> That's about $68,33 too much

<comment><USER17> This is not reddit:

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER3> Nah. On Reddit they'd have gone for the full '$68,34 too much'. You get a more subtle class of snark on HN.

<comment><USER18> Be kind. Don't be snarky. Have curious conversation; don't cross-examine. Comments should get more thoughtful and substantive, not less, as a topic gets more divisive.

Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something.</comment></comment></comment></comment>


Does it make sense to replace all disks with SSDs? - <AUTHOR> http://perspectives.mvdirona.com/2009/10/14/ReplacingALLDiskWithSSD.aspx

<comment><USER2> Those Fusion IO cards are wicked fast, so long as you don't mind paying like $8K for 160 GB.

</comment><comment><USER3> No.

<comment><USER4> Ask again in 5 years.</comment></comment>


Show HN: Prototype and Style Web Apps with HTML Snapshots - <AUTHOR> https://pinegrow.com/snapshots <comment><USER2> This sounds like a great tool. So if I understand the tool correctly:

1\. you snapshot the rendered HTML of a webapp at a specific page

2\. Send it to someone to style that snapshot

3\. Developer gets back that styled snapshot and incorporates the changes back into the app?

Is there a means for the developer to diff the old snapshot and the newly styled HTML? That could make it much easier to manage the changes.

Cool idea though!!

</comment><comment><USER3> The product sounds great to me! The workflow is pretty much the same as the one I'm using currently with my girl friend.

I haven't tried Pinegrow Snapshots or Pinegrow Web Editor yet. Just by reading the description, I'm not sure how I go from "STEP 2 - EDITING" to "STEP 3 - SHARING & FEEDBACK". Concretely, when do the edited snaphots got pushed to GitHub? Step 3 mentioned GitHub and Slack, are they required tools or can I substitute them with, say, Dropbox and talking to each other face to face?

<comment><AUTHOR> Using Github and Slack are just examples. Snapshots and Pinegrow Web Editor work with your local files, so you can use whatever tools and workflow you prefer.

Pinegrow Snapshots has a single feature – taking HTML snapshots. Use your other tools (like Pinegrow Web Editor, GitHub, Slack…) for editing, collaboration and implementing changes.</comment></comment>


Product support redirects to Stack Overflow - <AUTHOR> http://meta.stackoverflow.com/questions/195558/product-support-redirects-to-stack-overflow

<comment><USER2> It's a tough position other companies are placing on SO. On one hand you can't alienate a portion of your community by closing all API/programming questions which are of a more proprietary nature just because they're of a proprietary nature. On the other hand, the general trend these companies are starting, to not build out a real support channel, is indicative of developers who don't really understand sales channels which should not be SO's problem. I wish more start ups would get better guidance about support if their products are aimed at developers. Really, they're missing another channel of communication and new business discovery.

</comment><comment><USER3> I'm in favour of this for developer-focussed issues. One of the libraries I maintain ([http://simplepie.org/](http://simplepie.org/)) directs support to Stack Overflow, since the majority of questions are basic programming questions (along the lines of "how do I use substr"). I'm usually there to answer SimplePie-specific questions, but those are pretty relevant anyway.

</comment><comment><USER4> Are there any YouTubers/Googlers here who could offer their insight given YouTube API [1] moved there just under a year ago?

[1] [http://apiblog.youtube.com/2012/09/the-youtube-api-on- stack-...](http://apiblog.youtube.com/2012/09/the-youtube-api-on-stack- overflow.html)

</comment><comment><USER5> I've seen this in a couple of places of late. Have been waiting for a "don't do this" post from the SO team.

<comment><USER6> No need to bother. SO is pretty notorious for shutting down threads at the merest hint that the discussion isn't in line with their remit, which is that of collaboratively solving specific programming problems. I'm guessing most of what comes across Nitrous.io's support desk doesn't qualify.

When most of Nitrous' paying customers get annoyed that their support queries on the 'official channel' are being nuked by some third party outwith both their and Nitrous' control, Nitrous will get the message.</comment></comment>


True Colour support in various terminals - <AUTHOR> https://gist.github.com/XVilka/8346728 <comment><USER2> You know I tried to hack to play a gif upon SSH login, /etc/issue.net does not accept ANSI chars, but /etc/motd does.

So I mkfifo /etc/motd, use some monkey patched shell commands to stream gif to /etc/motd, tried SSH login, the animation totally works, adjust the sleep you get different speeds.

I was totally satisfied with this and logged out of my VPS server. Oh wait....

Since my scripts was not in a loop, so it only feeds data into /etc/motd once, after I logout every SSH session, I can no longer login. Even local login fails because Linux would stuck forever reading the fifo /etc/motd.

I had to mount the disk into another machine and restore /etc/motd to normal.

Lessons learned, don't mkfifo /etc/motd.

<comment><USER3> Isn't motd only displayed on interactive login? You could probably have gotten back in if you did something like ssh foo "sudo rm /etc/motd"

</comment></comment><comment><USER4> I use this fairly often, when working on the image parts of our API (image caching, map tiles etc).

I tweaked the "img" script linked from the article to download and display an image, so I don't need to leave the terminal.

      img http://sipi.usc.edu/database/preview/misc/4.2.03.png

My result is this, in Konsole (KDE): [http://i.imgur.com/34fjSas.png](http://i.imgur.com/34fjSas.png)

</comment><comment><USER5> Sad infodrop: the main reason this is a nonevent is because ncurses encodes fg/bg colors in an unsigned int. :(

<comment><USER6> I don't understand the problem, could you please elaborate?

<comment><USER5> Sorry, sure.

Emitting colors to terminals is trivial, but ncurses - the dominant text UI library (since the 1980s!) - needs to hold the color information for the "windows" or frames that it maintains for you so that it knows how to repaint things when you switch from one view to the next (eg, if some kind of popup opens and then gets closed, ncurses maintains state about what was underneath so it can redraw it for you. This was novel in the 80s because of the number of competing terminals; see /etc/termcap for a very good idea of why everyone was happy to let a library do this for you).

* The following is my understanding of the situation; I welcome corrections *

Unfortunately, ncurses encodes the foreground and background as an unsigned int, which only stores 0-255. That bit I said before about ncurses existing since the 80s - unfortunately that's more important than I wish it was; ncurses ("new curses") is merely the OSS variant you find on Linux, it has existed on UNIX (as the "curses" library) in many forms. For Reasons™, the commercial curses implementations of the day all tried to stay binary- compatible with each other. Of course, ncurses did the same.

And so, ncurses is pretty much based on a de-facto ad-hoc standard (AFAIK) that's not really ratified anywhere (it might be, not sure) and which specifies very strict in-memory data structures because of the way the API was originally built. Changing any of this would break binary compatibility.

IIRC, ncurses' author/maintainer, Thomas E. Dickey, hasn't really made any noises about for example adding a new function and doing some kind of backward-compatibility dance to allow ncurses to preserve but ignore the legacy color data. I'm not sure if this would actually be technically impossible or whether it's a case of "eeeeh, that doesn't sound like fun, I don't feel like doing that". I can understand the latter, but I definitely hope the former is not true, as it would be the death knell for truecolor for at least the next 10 years - ncurses isn't going anywhere anytime soon, and it would be _the_ canonical way to get the capability popularized.

In case you were curious to see how much depends on ncurses on your system (uses ldd and assumes "libncurses"; unsure if Linux specific):

      (IFS=:; for x in $PATH; do ldd $x/* 2>/dev/null; done) |\
        awk '/^\//{FS=":";p=$1;}/^[ \t].*libncurses/{print p;}'

There are some obvious things in here like htop/top, alsamixer, dialog, vim, irssi, links, mc, etc; I assume most of what I'm seeeing is depending on ncurses as a result of pulling in another library.

Your package manager's "list packages that depend on this package" may produce faster results.

<comment><USER7> This sounds like an opportunity for somebody write a backwards-compatible ncurses replacement in a modern systems language. I promise to try using whichever language manages to do this first.

<comment><USER8> Or even in C! The (n)curses API is _ancient_ \-- it dates back to the early 1980s, and has not changed much since then. We've learned a lot about API design over the last 30+ years; we could do much better today.

<comment><USER7> Fair point, and today's C is far from what it was in the '80s! Regardless, this is an excellent project for a programming language shootout --- ncurses is well overdue for a rewrite, and I'd love to see the C++17 partisans take on the Rust fans, the Go-ers, and the C diehards.

</comment></comment></comment></comment></comment></comment><comment><USER9> Serious question: will terminals ever support P3 color? Maybe that's too much to ask for?

[https://webkit.org/blog/6682/improving-color-on-the- web/](https://webkit.org/blog/6682/improving-color-on-the-web/) [https://webkit.org/blog-files/color- gamut/comparison.html](https://webkit.org/blog-files/color- gamut/comparison.html)

<comment><USER10> It only improves images, no?

<comment><USER11> It's a wider color space. It improves the color range of everything, assuming the source hasn't been flattened to SRGB.

<comment><USER12> Well, yes, but what are the benefits for text over 24-bit colour? To have two even less different shades of a colour adjacent to each other? For images there's a very clear benefit, but for a text frame buffer I'd say not so much.

<comment><USER13> See my comment above: it would allow more precise specification of a color by avoiding the need of indexing an implementation-dependent palette.

<comment><USER14> citrusui originally asked about DCI-P3 color space, ygra then confused this wider color space with higher bit-depth. Now you want to further confuse everyone by referring to your comment about advantages of 24-bit RGB over paletted colors which is completely irrelevant to the original comment about DCI-P3 color space. DCI-P3 contains colors which are outside of the gamut representable by the 24-bit RGB (which uses sRGB color space).

<comment><USER13> Sorry, it wasn't my intention to hurt you with my comment.

<comment><USER14> No problem :)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> What I think is really interesting in this is not the possibility to use 16 millions colors per se, but rather the ability to directly specify the RGB components of the color to use.

The current approach used by terminfo and ncurses is to refer to an index within a palette, which has the drawback of giving little guarantees about the final shade of the color. (Look at the color table here [1] for a comparison among different terminals; here it is stated that xterm changed the RGB components of two shades of blue from one version to another!)

Allowing true colors in terminals would make curses programming very similar to what you do in HTML and CSS, where you directly specify the color you want. It would surely be a nice improvement.

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

<comment><USER15> Except you can already query/set the color palette to arbitrary RGB values with control sequences (at least with xterm, rxvt-unicode, and I imagine others).

As far as I've been able to tell, "truecolor" terminal support is about simultaneous display of a range of colors beyond what fits in a palette. Which, eh...seems a bit much for a terminal.

<comment><USER13> You're right, but I think that truecolor support is easier to program.

I vividly remember when I wrote DOS programs which used VGA/SVGA graphics in the early 90s; switching from palette-based colors to RGB colors was something I really enjoyed! Back in the 90s, loading a 256 color image that used its own palette into DeluxePaint would change the colors of DP's interface too.

Something similar would happen today under tmux, I think: if two side-by-side panels contain two different programs, and one of them reprograms the palette, the other program would be affected too.

</comment></comment></comment><comment><USER16> Here is an image printing function for bash/zsh:

      function img { for image in "$@"; do convert -thumbnail $(tput cols) "$image" txt:- | awk -F '[)(,]' '!/^#/{gsub(/ /,"");printf"\033[48;2;"$8";"$9";"$10"m "}'; echo -e "\e[0;0m"; done ;}

Example: [http://i.imgur.com/d5RzWAC.png](http://i.imgur.com/d5RzWAC.png)

<comment><USER4> I think yours has stretched the image vertically, though it is simpler than the one linked in the article [1]. That uses "Upper Half Block" characters to give square pixels, and sets a foreground and background colour -- doing two rows at once.

With that, I see this: [http://i.imgur.com/uqCHAmF.png](http://i.imgur.com/uqCHAmF.png)

[1] [https://git.gnome.org/browse/vte/tree/perf/img.sh?h=vte-0-36](https://git.gnome.org/browse/vte/tree/perf/img.sh?h=vte-0-36)</comment></comment>


Apple macOS 10.15 vs. Windows 10 vs. Ubuntu 19.10 Performance Benchmark - <AUTHOR> https://www.phoronix.com/scan.php?page=article&item=macos1015-win10-ubuntu&num=1 <comment><USER2> I'll just leave this here

> Where macOS tended to perform the best was with the Firefox web browser > benchmarks</comment>


Economic Anxiety Didn't Make People Vote Trump, Racism Did - <AUTHOR> https://www.thenation.com/article/economic-anxiety-didnt-make-people-vote-trump-racism-did/ <comment><USER2> Don't worry, due to demographic changes, whites' influence on politics is diminishing quickly: [http://www.pewresearch.org/fact- tank/2016/03/31/10-demograph...](http://www.pewresearch.org/fact- tank/2016/03/31/10-demographic-trends-that-are-shaping-the-u-s-and-the-world/)

Soon anyone advocating enforcing borders will be unelectable.</comment>


Author on leave after Harvard inquiry - <AUTHOR> http://www.boston.com/news/education/higher/articles/2010/08/10/author_on_leave_after_harvard_inquiry/?p1=News_links <comment><USER2> Wow, that's really quite the height from which to fall down.

I was surprised to learn that the peer review process did not include giving the reviewers access to the raw data. Is that the way it is normally done? What is the reason for that?

<comment><USER3> Are you referring to this bit?

" _Gary Marcus, a psychology professor at New York University and one of the co-authors of the paper, said he drafted the introduction and conclusions of the paper, based on data that Hauser collected and analyzed._ "

As far as I can tell from just this article, raw data is available (he supplied it to a skeptic for a disputed study in the '90s), it just wasn't shared with the co-author for no doubt division of labor reasons.

It should also be noted that raw data is generally quite messy in format (lab notebooks, recorder paper strips and the output of other machines, in this case a set of videos, etc.). Releasing a copy, especially in a form that will make sense to others (e.g. adding annotations or explaining your labeling system) will take time and money you'd rather spend on doing more science, so you only do it when necessary.

Climategate certainly told us that the sharing of raw data with peer reviewers or skeptics is anything but routine or normal (they weren't called on the carpet for merely refusing to do that); you might recall that one of the things that cased it all to fall apart was when a member of clique published a paper in a journal they didn't realize had a "supply your raw data" requirement....

Raw data can most certainly be tampered with, see <http://en.wikipedia.org/wiki/Thereza_Imanishi-Kari>, a case I know an awful lot about due to overlapping social circles plus incidental contact with NIH's "fraud busters" in the mid-90s. Here the Secret Service "inks and paper" types were called in and found that some raw lab notebook level type data was falsified after the fact, or at least this was reported in _Science_ in quite a bit of detail.

The important real test is reproducibility. That's why there can be a lot of fraudulent science without it hurting the general scientific endeavor: if it's unimportant, no one will depend on it and it gets the "publish or perish" job done. If it's important, people will try to build upon it, that won't work (that's where Imanishi-Kari lost), they'll try to reproduce your work to see how they're screwing up, and the fraud/mistake/whatever will get caught.

I am a bit surprised at how terrifically opaque Harvard's handling of this is. As the journal editor said:

" _[...] he had not been told what specific errors had been made in the paper, which is unusual. "Generally when a manuscript is withdrawn, in my experience at any rate, we know a little more background than is actually published in the retraction,'' he said. "The data not supporting the findings is ambiguous.''"_

No kidding. This is not a satisfactory state of affairs, as is pointed out elsewhere.</comment></comment>


Ishango bone - <AUTHOR> http://en.wikipedia.org/wiki/Ishango_bone

<comment><USER2> Can we create a rule that the submitter must provide a comment when submitting wikipedia links?

There's a ton of interesting stuff on wikipedia but I'm often left wondering why a submitter felt a particular article was worth submitting here on HN.

<comment><USER3> In this case I'm guessing it's something along the lines of "hey, this is interesting".</comment></comment>


No, That Meeting Could Not Have Been an Email - <AUTHOR> https://hbr.org/2015/04/no-that-meeting-could-not-have-been-an-email

<comment><USER2> Ok, not an email, but certainly it could have been on-line. You get all the feedback, better access to documents and web resources, and you get to know who everybody is (little names over their avatars).</comment>


Google announces web app store for Chrome - <AUTHOR> http://www.smartcompany.com.au/internet/20100520-google-announces-web-app-store-for-chrome-browser.html <comment><USER2> This is pretty sweet, and a natural progression of Google's entry into both the handset and browser markets.

Of course, if the Android market is any indicator, nobody's going to be making a lot of money on this thing any time soon. Still a great idea, though.</comment>


The after-party balloon effect - <AUTHOR> https://envirobites.org/2019/05/28/the-after-party-balloon-effect-disastrous-consequences-of-balloon-releases/ <comment><USER2> Releasing these balloons is littering. It's _exactly_ the same as throwing the empty balloon into someones garden or into a river. Get people to perceive it as littering and most will stop releasing balloons, or will no longer perceive it as cool or pretty. Make it seem gross. Shame any events that do this on instagram - that's probably a good start.

Then maybe we can get started on cigarette butts, the one thing that is bizarrely socially acceptable to litter anywhere - even in places with a strong social stigma for other littering.

<comment><USER3> I thought it was obvious to everyone that this is littering, but I forgot how stupid people are.

<comment><USER4> That's pretty harsh and really incorrect. Some people didn't have great role models growing up to teach them these things and have to learn them themselves later on.

<comment><USER5> The average person is probably less intelligent than the people surrounding you at home and work. Don't underestimate idiocy - though it's probably a combination of both.

<comment><USER6> Well of course the average person is less intelligent than the rest of us.

After all, 90% of drivers have above average skill!

</comment></comment></comment></comment></comment><comment><USER7> See also _The Balloonfest That Went Horribly Wrong_

[https://www.theatlantic.com/video/index/562556/cleveland- bal...](https://www.theatlantic.com/video/index/562556/cleveland-balloonfest/)

<comment><USER8> The video is like it came from some alternate reality [https://www.youtube.com/watch?v=n0CT8zrw6lw](https://www.youtube.com/watch?v=n0CT8zrw6lw)

<comment><USER9> "No one's quite sure where they went but at least they are both longer posing a threat to fish and wildlife."

Goodie, I guess they went outside the environment then. /s

It's like no one of those who collaborated thought of the consequences past the first ten minutes of release and even days later people still fail to see past what's immediately perceptible.

<comment><USER6> For anyone unfamiliar with the reference, here is Senator Bob Collins of Australia explaining what happens when a tanker ship is towed beyond the environment:

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

<comment><USER10> It seems like you might have eaten the onion, I'm afraid: that's not senator Bob Collins, it's satirist John Clarke.

<comment><USER11> It seems you might not understand context.

</comment></comment></comment></comment></comment></comment><comment><USER12> I normally see balloons and think of the wasted helium, which is a bit of a nerd response. We in tech worry about the loss of helium on these petty applications but lose this battle.

The damage to wildlife from ingested balloons and how they are more toxic than previously imagined is something I will be astro-turfing from now on. I care about the birds a lot more than the helium.

</comment><comment><USER13> Are biodegradable alternatives to latex available?

e.g. Could you make balloons out of something like polyvinyl alcohol (think dishwasher pods) so that they dissolve in the rain?

<comment><USER14> Weren't the original balloons animal bladders, which seem gross but certainly biodegradable?

<comment><USER15> Why is it gross? Sausage skins are still commonly made out of pig guts.

The vegetables you eat are probably covered in insect poo, even more so for the expensive organic stuff.

Those leather shoes on your feet are the skins of dead animals.

Even plastic is made out of dead rotted dinosaur.

<comment><AUTHOR> > Even plastic is made out of dead rotted dinosaur.

Not true. Oil (from which most plastic is derived) is formed by bacteria [1].

[1] [https://www.thoughtco.com/does-oil-come-from- dinosaurs-10920...](https://www.thoughtco.com/does-oil-come-from- dinosaurs-1092003)

</comment></comment></comment></comment><comment><USER16> Like the war on plastic straws, this is such a small part of the problem. Come visit Cambodia or Vietnam and see the coastline. I've driven almost the entire coast of both countries and there isn't a single beach that isn't literally covered in heaps of trash.

<comment><USER17> Well yeah, each individual type of thing is going to be a small part of the overall problem. But if it's the most effective way to get people to care then I don't have a problem with singling out plastic straws, or balloons or whatever.

Straws are a good one to single out too because a vast number of them come from just a few major fast food chains, so if you get them to care you get rid of them relatively easily.

This strikes me as another form of whataboutism, like "oh you're only dealing with such a small part of the problem, what about all this other stuff you're not doing, obviously you you shouldn't even bother". If noone ever bothers with the individual parts then the whole problem is never going to stop.

<comment><USER18> Except straws make up less than a percent of ocean plastic, while almost half is fishing gear. Fishing is destroying the ocean for that and several other reasons. Even if we're wildly successful and completely outlaw straws and a dozen other things, the impact of the real problems is going to outweigh all of the former victories.

<comment><USER17> That might be _true_ , but bringing it up in a conversation about a different solution to a different problem in a tone that suggests that people shouldn't be trying to use less plastic straws (especially when most of them have no connection to the fishing industry) isn't _helpful_.

If you care about it, talk about it in the context of fishing, don't just bring it up as a way to snarkily shut down people doing something _good_ , no matter how small.

This is exactly the kind of "plausible deniability" tactics that people who actively push to disregard all environmental concerns use.

<comment><USER5> But for any sort of rational cost/benefit analysis, _the plastic straw wins_. Lower energy cost than a disposable paper straw, it works better, feels better, and (while I'm not positive of this) lower monetary cost too. And when you consider how few straws make it into the oceans _from California_ , there are _far_ more worthy targets. Or, to put it another way - banning plastic straws is a passable way to reduce the number of _straws_ added to the ocean. It's a really shitty way to reduce _plastic_.

It's things like this (and opposition to nuclear, and refusal to consider geoengineering) that make people skeptical of the general environmental movement. After all, if this was such a huge problem... People would be trying to _actually solve it_ instead of virtue signalling.

<comment><USER19> Not all plastic pollution is created equal. Plastic straws are especially dangerous for sea turtles, in the same way that balloons are dangerous for sea birds and 6-pack rings are dangerous to both. People didn't single out plastic straws to "virtue signal".

As for 'the plastic straw wins', I'm unconvinced. The energy cost might be lower, but none of your other reasons factor in environmental cost at all. I don't think any amount of 'feels good' is worth any amount of environmental damage.

Lastly, even if it were entirely symbolic (which it isn't) there's still value in that.

<comment><USER17> The "you're just virtue signalling" bullshit is infuriating. People need to consider the possibility that some other human beings actually have empathy, or different values to their own.</comment></comment></comment></comment></comment></comment></comment>


DensePose – Dense Human Pose Estimation in the Wild - <AUTHOR> https://github.com/facebookresearch/DensePose <comment><USER2> I find this highly interesting from a personal perspective, as I am an author of a Personalized Advertising patent[1] from the early 2000's. I was unable to capitalize on my work, and ultimately sold the patent. Interesting to note, the month the patents' expired (due to aggressive early filing dates of my original patents) I noticed Facebook's AR Kit was released, which touched multiple aspects of what is protected by the global patents.

This tech is key for Personalized Advertising where consumers are inserted into still and video adverting in place of current spokespersons and side-by- side with celebrities. Advertising is about to get surreal and the fake news consumers are about to get exploited something unbelievable. "Deep Fakes" for porn is kid stuff compared to what this tech opens: Pandora's Box if you ask me.

[1] [https://patents.justia.com/inventor/blake- senftner](https://patents.justia.com/inventor/blake-senftner)

<comment><USER3> >This tech is key for Personalized Advertising where consumers are inserted into still and video adverting in place of current spokespersons and side-by- side with celebrities.

What a boring dystopia.

Seriously though, if a company ever did without my permission I would sue the pants off of them.

<comment><USER4> Even assuming that there isn't already some precedent that a checkbox allows them to use your uploaded likeness in whatever they want, is your premise here that you have more time and money to spend in a legal battle with Facebook or Google?

<comment><USER5> And there are _still_ people complaining that the GDPR is not a good idea...

If this becomes "a thing", I fully intend to use my UK citizenship and send GDPR boilerplate deletion requests to all the data brokers, social networks, and digital advertising services I can find.

<comment><USER6> > use my UK citizenship

Better hope it becomes a thing before March.

</comment></comment></comment></comment></comment><comment><USER7> A few years ago, I would have thought this technical feat was amazing, and stopped there. Now I think it's creepy. Ah how times have changed...

<comment><USER8> Is there any other upside to this besides novelty and amusement? It's easy to imagine a dozen applications where this would threaten human privacy and safety.

<comment><USER4> > _Is there any other upside to this besides novelty and amusement?_

* Automated injury detection. You've got a warehouse, you've got cameras, now you've got an instant alert when one of your workers appears to be injured but out of sight of other workers. You've got street cameras, now you've got automatic detection of someone having a heart attack and laying down on a sidewalk. (Dystopian application: "homeless person detected, deploying zap-drones") Hospitals and old folks' homes could use this, too.

* Lifeguard Assist programs - automatic detection of drowning-like behaviors. (Of course, over-reliance on this would be bad...)

* Children separated from parents might be easier to detect in places like malls, etc. (I'm going to stop listing obvious parenthetical dystopian applications)

<comment><USER9> I see a huge possibility of replacing expensive mocap hardware and software using this tech, allowing for video games and VFX to become more accessible and use commodity hardware.

I've been eyeing things like the Kinect and iPhone X face tracking for this kind of task (for a fun side project I'm working on), but it would be great if I could track at least position and pose of multiple actors in a scene using just a standard webcam or camcorder.

</comment></comment></comment></comment><comment><USER10> CC-Non commercial is a disappointing license to find. The project is very cool otherwise.

<comment><USER11> I wonder how they arrived at Creative Commons' CC-BY-NC as the license. These licenses are not meant for code but for artwork, Creative Commons actually discourage the use of their licenses for code [1]. I recently noticed the same with the FastPhotoStyle code [2] by nvidia, so I'm wondering if there is something that draws their legal departments to this license?

[1]: [https://creativecommons.org/faq/#can-i-apply-a-creative- comm...](https://creativecommons.org/faq/#can-i-apply-a-creative-commons- license-to-software)

[2]: [https://github.com/NVIDIA/FastPhotoStyle](https://github.com/NVIDIA/FastPhotoStyle)

<comment><USER12> If the dataset it was trained on is CC-BY-NC, I'm pretty sure the model also has to be CC-BY-NC. However I think this is not respected, or even considered by most people.

I'd go with limiting how competitors can use it as the main deciding factor.

<comment><USER5> <cynical thought>Note that two of the three team members are from Facebook...

</comment></comment></comment></comment><comment><USER13> Would it be possible to map the first detected pose to a 3D model, scale and deform it to match the pose, and then use each next pose to manipulate the 3D model (vs generating all the vertices again)? This should result in smooth animation, without artifacts, and joint limits might even help with position estimation.

</comment><comment><USER14> I'm too much of a newbie to figure this out but maybe someone here can tell me: Do they provide the final trained model? Or just a precursor model and code that trains a final model given bring-your-own data?

<comment><USER15> The site says "The dataset will soon be available on this website!", but apparently it's been saying that for at least four months.

<comment><USER14> Yes thanks. I was asking about the trained model though. I realize you can get the model by training with the data, but I don't believe for a minute that any data they release will be anything but a small fraction of what they trained their real model with.

</comment></comment></comment><comment><USER16> It can probably be used to identify potential criminals on the way the pose walk threatening pose. Police can then screen them. Like the movie Minority report.

<comment><USER17> Do you mean using gait analysis to identify humans and match them to a known criminal database or do you mean finding suspect criminals based on some "criminal" way they walk? If the latter, I don't think that's really based on anything more than current cultural profiling.

<comment><USER4> "Take that pep out of your step, citizen!"

</comment></comment></comment><comment><USER2> Makes me wonder how much better they have in closed source to release this openly...

<comment><USER18> It is closed, the non-commercial license means almost no one can use it.

</comment></comment><comment><USER15> Previous thread (I hadn't seen it either): [https://news.ycombinator.com/item?id=16289057](https://news.ycombinator.com/item?id=16289057)

</comment><comment><USER5> I _assume_ this would make it fairly easy to do bone-length estimation and comparison, leading to a way to uniquely identify someone from a video feed of them walking - even without any facial features...

Now I wonder how much of that tech is already deployed...

<comment><USER19> Gait analysis has been around for awhile. I guess this technique just makes it even easier.

What's crazy to think about is Gait Analysis from orbit [https://www.schneier.com/blog/archives/2008/09/gait_analysis...](https://www.schneier.com/blog/archives/2008/09/gait_analysis_f.html)

</comment></comment><comment><USER20> I can imagine this tech being using in some pretty interesting/scary ways:

* Generating avatars in Facebook's VR land from photos you're tagged in

* Recognizing a person IRL from photos they're tagged in

</comment><comment><USER21> No-one's said it yet so i will (but not my idea..) This is going to be super useful for a future Oculus AR headset.

Basically, imagine the current oculus go headset, but with cameras on the front, and instead of showing you the actual world, it shows you a game, based on the existing current world, but morphed to look like Starship Troopers or something.

<comment><USER21> The Diamond Age - Neil Stephenson, touched on this.

<comment><USER22> I think you mean Syndicate. ;)

</comment></comment></comment><comment><USER23> There are a variety of technical things where I think "wow, that's pretty clever and/or innovative - hats off!", and then there are things like this where I'm like "OMG wizardry!". But that's one of the things I love about the field of "computer stuff": there's so much interesting stuff I don't know.

</comment><comment><USER24> Is there any reason this would be restricted to human pose estimation, as opposed to, say, rangefinding of moving objects of a specific roughly-known size?

</comment><comment><USER25> I can't tell - is this able to extrapolate pose information into three dimensions, or can it only project onto two dimensional scenes?

<comment><USER26> It's something in between the two possibilities you describe.

Each human pixel in the image is labeled with an index and two coordinates: x, y (u and v are the traditional names, but think of 2D x, y coordinates)

The index specifies which patch that pixel is on, and the x, y coordinates specify where in the patch the pixel is on. This is for a pre-specified set of patches that cover a human mesh. See [https://github.com/facebookresearch/DensePose/blob/master/no...](https://github.com/facebookresearch/DensePose/blob/master/notebooks/DensePose- COCO-Visualize.ipynb) for more detail.

So, no, it does not extrapolate the full mesh, but also for all human pixels, you are getting 3D information.

</comment></comment><comment><USER27> So is this basically 3-D rotoscoping?

</comment><comment><AUTHOR> This just popped up in my github feed, looks interesting.

</comment><comment><USER28> Leave it to FB to come up with the most creepy and invasive tracking and surveillance.</comment>


Ask HN: Pointers for Remote/part-time ROR jobs - <AUTHOR>

Hey, I am looking for part-time/remote/telecommute jobs for ROR. Any pointers would be great? <comment><USER2> Looked at Elance ([https://www.elance.com/](https://www.elance.com/)) or oDesk ([https://www.odesk.com/](https://www.odesk.com/))?

<comment><USER3> I could not find a job for months on any of these. If you are ok with 15/hour, then may be you can try, otherwise - do not waste your time.

<comment><AUTHOR> Yup, there are certain low rates bids you compete against with.

</comment></comment></comment><comment><USER4> The standard job search sites have them as well. I get lots of recruiter emails about them, especially if you're interested in full time remote work.

<comment><AUTHOR> Which exactly are you talking about?

<comment><USER4> Climber.com, SimplyHired etc. I think are particularly good for remote work.

<comment><AUTHOR> In India, we have Naukri/Monster but remote positions are seldom as Remote working isn't a culture here.

It is yet to start.</comment></comment></comment></comment>


Ask HN: What did you learn from the "no politics" experiment? - <AUTHOR> Elsewhere [1], dang discussed what the moderators learned from the no-politics experiment.  The main thing: "a change like that won't solve HN's civility problem".  He shared several other good learnings as well, in his original comment and the replies.<p>I'm curious, what did others learn from this experiment?<p>[1] https://news.ycombinator.com/item?id=13131585 <comment><USER2> My take was it was too broad.

Several things got taken out for "political" that frankly shouldn't have been.

The post of YC's Winter Reading List, as the list contained some political volumes, was the most silly to my mind. Book lists usually spin up excellent recommendations in the comments and are especially topical this time of year. Yet it got flagged off the front page and discussion died.

An international story completely unrelated to US or EU politics, Trump or Brexit etc.

<comment><AUTHOR> Thanks, I had missed the discussion of the reading list!

</comment></comment><comment><USER3> I learned some people get _really_ bent out of shape if you tell them they can't talk about politics for a week. I noticed heaps of people complaining. As far as content goes, I didn't notice a difference.

<comment><USER4> Disagreeing is not always equivalent to "complaining" or getting "bent out of shape." Plenty of people _disagreed_ and said so.

</comment></comment><comment><USER5> I didn't even know it ended. I read the initial post but since then forgot about it and HN seemed like usual business.

<comment><AUTHOR> 'wingerlang, I quoted you in [https://medium.com/a-change-is-coming/learning- from-hacker-n...](https://medium.com/a-change-is-coming/learning-from-hacker- news-political-detox-experiment-996db0187c35)

</comment></comment><comment><USER6> I have a feeling that this post will turn political discussing what we learned from the no-politics experiment.</comment>