skysight-inc/HackerNews huggingface dataset:
> Because when the product is free the real product is YOU.

I disagree with this conclusion. Also, I have a related issue with some of the opinions I hear e.g. on HN that confuse me.

Many a person says in defense of ads - "but surely authors have to support themselves, otherwise there'd be no site/software", "TANSTAAFL", etc. But this seems to me to be in disagreement with observable reality.

What I see is a strong and direct correlation between amount of ads and crappiness/dishonesty. For websites, it is usually "the more ads there are, the more likely content is wrong/crap/nonexisting and the author is there to take your money". For applications, similarly - more ads means crappier downloads, and - if it's the author's site that's full of banners - the program is most likely shit.

What I observe is that there are two reliable types of sources/downloads: 1) linked on author's site, free and free of ads - they signal that the author actually cares about the content they're providing (see "the toilet-paper companies"[0]) and 2) linked on author's site, that ask you to pay up front - here it signals that the author is honest.

So do the authors really have to "support themselves"? Or is it that the honest ones either do it for free (because they care, and they get money needed to support it elsewhere) or sell in clear terms? And the ad-dependent money makers have no business being on the Internet in the first place?

That's why I also feel no guilt for browsing with AdBlock on - neither the ads nor the ad-serving pages are a good deal for anyone in any way.

As for the Downloads.com, CNET, et al. - I hope that the introduction of Windows Store/package manager will shut them down for good. They're evil, they deserve to be down.

[0] - https://news.ycombinator.com/item?id=8319102
Most of the prisoners in America are there for drug related reasons. North Korea doesn't enforce drugs as much. 40-50% of the population is addicted to meth.

America does have far fewer innocents and political prisoners. If you question Obama your whole family won't get thrown in jail for 3 generations.
Someone else has already commented to defend the idea that techy-people can get caught up by this, but I'd like to also point out that a massive portion of the market for computing devices is made up by people who are, by some measures, idiots. Just like how a large portion of the market for automobiles is made up of "idiots" with respect to engine rebuilding.
>There should be no "means of communication" which "we cannot read", he said.

All the more reason to become a member of the open rights group.

https://www.openrightsgroup.org/
Developer's writeup on issues in implementing Bitcoin on an e-commerce site
I'd really like to see a reputable source for this statement. All I can find are people attributing that quote to Peter Norvig.

What I can find, is this: http://c2.com/cgi/wiki?AreDesignPatternsMissingLanguageFeatu...
hah great for Pitchfork... i'm sure they are making much more than the artists off this deal.

regardless, they don't cover the bands i like and half the music i like isnt on spotify so i just do it the old-fashioned way using discogs.com, downloads, and some good sites that have "related artist" webs. wouldn't you know it, the best site i know for related artist webs isn't a major industry service, its a torrent site! & they accomplish it trivially through user-edits...

so i guess my point is i think its true that Spotify can be convenient for some people, but it doesnt refute my point that they are not trying to do anyone favors (unless it fits their current branding strategy). Spotify is not some techno-anarchistic's grand vision of the music industry. it's not helping music fans discover more about their tastes, it is generally colluding with industry to guide listeners toward their profit sectors. I wouldn't be at all surprised if there is a complex sequence of kickbacks between labels, Spotify, and the venues themselves, designed to minimize artist royalty/payouts. If you follow the music industry you know the deals for artists are generally pretty bad & I don't really believe in the "but I go see them live!" rationale because some artists don't tour or aren't big arena acts. AFAIK it's really hard to recoup tour costs unless you are playing decent-sized venues at every stop.

i guess it is just hard for me to get into the feelgood mentality of the music scene when i feel like the technology available could allow us to be much more taste/trend/industry-agnostic but instead seems to just be an extension of industry power (Pitchfork being a major industry player as well...), and I generally feel like the quality of the artistic output is in decline so I don't want to buy into most of the over-produced crypto-pop junk they are selling (fans of 60s/70s/even 80s music are accustomed to a much greater wealth of musical diversity). As I mentioned though, I am not into music journalism i just use artist webs. Maybe if there were some tastemaker I really wanted to follow I would see this as more convenient but I just don't experience music that way. Or at most I'd be like "well, convenient for me, sucks for the artist".

I think I mentioned in my previous comment -- it's not that I can even prove the pricing model false, I just know it doesn't do shit for the artists... 1 sale of a self-published physical album is more profitable for most of them then a year's worth of Spotify listens.

i bet a solely torrents + physical sales model would actually be MORE profitable than involving Spotify... Spotify to me is really only a mechanism for absolving people from the guilt of theft, and conveniently it funnels money back to yet another corp.
Even if it where open source, I'd still pay the yearly renewal - It's worth every penny!
I think explicitly handling error like go is a good thing. Error handling is a tricky thing that needs thought to get right and should be expressed clearly in the code. My only complaint is that `if e != nil { return e }` takes 3 lines of code. Could `gofmt` format that into one line with no line breaking, I am already pretty happy. If they could add a keyword like `ereturn` that only returns when the last parameter (must be error) is not nil, just as an alias, I would be totally satisfied.
This is different from CouchDB’s peer-to-peer or master-less replication where nodes can live all over the world, be offline for arbitrary amounts of time or even be phones or web-browsers.
Well, it depends. I think the primary improvement is that loop is no longer a language construct. It is just another function. As a prime example I would take Clojure.

On first look: "No loops?" "This reduce functions everyhere look ugly."

On second look: "Oh, I can import paralel reduce instead of the single-threaded one?" [1] "Somebody created a library to transparently switch between local reduce and one using hadoop?" [2]

[1] http://clojure.org/reducers
[2] https://github.com/aphyr/tesser
there are tons of good bands that are not on Spotify, even modern (florida noise punk scene is really easy example)
Dreaming of Your Writing Career?
And it will be mind-stretchingly difficult to learn because almost no one uses it[1].

Seriously, it's really hard to learn a language without great and abundant documentation, tutorials, and Q&A.

1. https://github.com/search?utf8=%E2%9C%93&q=language%3AArc&ty...
I don't know. But I wonder how is that those sites haven't yet ended up on Chrome/Firefox "Malware-serving Site" blacklist?
Queens theatre London
This makes C look like it's full of land mines. The minesweeper language.
Netflix has a drama series that has a fairly realistic portrayal. For me, the crux of the show is how they have to maintain "normal lives" in the gender-skewed 50s after doing such critical, technical work they can not talk about in public, nor get recognition for.

http://www.netflix.com/WiMovie/70272998
Even the Windows Java client installer tries to get you to install the Ask toolbar (or at least it did; I haven't seen an update recently). I imagine it must be quite lucrative for Oracle; either that, they stopped caring about Java's reputation as a user-facing technology for web content or desktop applications, or users just don't notice these things.
> By contrast, Americans only (largely, overwhelmingly) end up in prison if they break laws

How is that a productive distinction when the problem (as you admit) is that there are too many laws which are too vague and too broad? "You only go to prison if you break the law" is useless consolation if it's not possible for generally honest people to live their lives without breaking the law. It causes enforcement to be at the whim of the government. You're already a criminal, so whether you go to jail is based on whether they decide to prosecute you. Which is clearly not entirely based on whether you committed a crime.

> false convictions are statistically rare

How do you even propose to measure that?
Don't most of the problems come up in the excluded middle? Things where people are doing things that they think are right but then, through their ignorance or otherwise, have negative consequences that would have been foreseeable by others.

Maybe you have a suggestion for improving the operation of a drill-press, but you still ask for permission on improving it because maybe other people have more knowledge than you do about why things were done in a certain way, as well as seeing potential pitfalls of your new way.
this is my whole point I've been ranting about -- Spotify absolves peoples' guilt but they are just feeding the middleman, who seems to be taking the WHOLE pie.

i think pure torrents + physical sales would actually result in better money for artists than the same situation + Spotify.
Hey! This is pretty neat, do you mind if I add this to my post?
> Go lacks a construct comparable to "with" in Python, or WITH-OPEN-FILE in Lisp, to guarantee that things get closed out on scope exit. Go has "defer", but that's a clunky replacement. You have to explicitly write the "defer", and it's always function-scope, not construct-scope.

The problem of avoiding resource leaks is somewhat orthogonal to error handling, though. Do note that Python's "with" statement doesn't play well with "yield", which is an important gotcha. But in practice, it's quite convenient.
Hi, It’s Google Corporate Development
It would be interesting to work on Amazon and decide how many off-line CPU's you should have ready to "spin up" if needed ... Also considering Moore's law.
ReSharper introduced Regex support in v9: http://blog.jetbrains.com/dotnet/2014/10/27/regular-expressi...
Thermal paper cash register receipts account for high BPA levels in humans
"Error are values", OK, but as a non-Go programmer, how do you handle idiomatically the most common case of wanting to bubble the error up the stack and turn it into something human-readable? Bonus if you do not break encapsulation. Double bonus if you get a stack trace out of it.
DPD announces dedicated delivery accelerator Last Mile Labs
The heck with down, it'd be interesting to try a one-way trip! I wonder how the thinner air up high affects things.
Chevy Bolt Is the Best Thing That Could Happen to Tesla
I regularly get called by people complaining that their computer no longer works. Pretty much every time it turns out that their machine is loaded with crapware. It amazes me how people just put up with random browser windows popping up and having to search via some random search engine that has been imposed on them.

At the minute I just have to put up with spending a few hours removing the worst offenders and then running several different adware removers. It generally keeps them running well for a few months.

I would love to set up a VM so whenever things start going wrong they could just delete the VM and start fresh. Currently VMs are a bit too heavy weight, a lot of people struggle with the concept of working in multiple Windows let alone knowing which machine they are actually working in. I am looking forward to Microsoft implementing containers ala Docker. It will be interesting to see what possibilities will be available for making it seamless and quick enough for a computerphobe to browse within a container.
Object pools in PHP
What I mean is something like a stack trace except without all the extra detail:

- Can't persist shopping cart
- RPC request failed: http://example.com/update_cart
- Can't write to database "carts"
- Can't save file: "/a/b/c"
- OS error: disk full

Ideally, all errors in the cause chain should be logged, and they typically cross abstraction boundaries; the message at each level comes from a different part of the stack. This seems hard to do across languages, but within a language there should be a standard way to do it.

(Go falls down on this too. Perhaps we don't need Java-style stack traces that go on for multiple screens, but we should have more than a string.)
Tennis racquet technology comes with strings attached
Ind.ie drops other products to focus on Heartbeat for MacOS
> In Go I not infrequently make use of a non-nil value AND a non-nil error.

The number of APIs making use of that pattern is very much infrequent, and doesn't justify it for the 99.99% of functions which don't.

> I think it is a very useful idiom particularly when dealing with things where failure is more normal

And you could have the exact same information by returning, say, `Either (Int, Error) Int`. Or even `Either (Int, Error) ()` since partial writes are apparently considered error cases.

Although I would really use a separate data type e.g.

data WriteResult = Complete | Partial Int Cause | Error Cause

and let the application decide whether a partial write is an error or normal behaviour.
The Making of CrunchHunt
Sure it's possible. However trans women scientistst report being treated worse[1], and studies show women are ranked less than men for identical job applications for science[2]. Which all adds up to "women being treated worse than men".

[1] http://www.newrepublic.com/article/119239/transgender-people...
[2] http://www.newrepublic.com/article/119239/transgender-people...
It deprives the user of the ability to record your place in the list if you want to come back tomorrow (or switch to another device or restart your computer etc. etc.), or send a link to someone else.

Technically, you can use history.pushState & replaceState to automatically update the URL to the current position without having to reload the page. Demo: http://scrollsample.appspot.com/items
I think one of the more interesting aspects to this is how much PG has followed his own advice with YC. i.e. he made something people (founders) wanted with YC.

That allowed him to craft the entire experience around what is good for founders which worked out to be great for others (including investors and acquirers).

So much so that this advice he is giving, I am sure many other investors have wanted to give publicly before - but they don't want to piss off people who can provide an exit for their portfolio. The whole fiduciary responsibility thing.

But YC companies are encouraged to think of things quite differently - so much so that even if someone as might as Google (who PG pointed out) thumbed it's nose at YC companies to spite PG....they would be much worse off, because of the quality of companies coming out of YC.

That is the power of seeing "make something people want" to it's natural, logical conclusion.

Being able to say and do what you want, to force behaviour change in an industry to benefit your organization and your goals.

This is also why PG is so well respected by those of us on the outside looking in, is because we see the sheer audacity of him giving blunt advice, about specific tactics that only benefit founders. Even if it may hurt him temporarily.

Thanks again for constantly doing this PG. We appreciate it.
Foundation Bold Theme
North Korea's incarceration rate is not exactly a matter of public record, but don't take fictional Kim's word for it - two attempts to estimate it puts it higher than the US:

http://www.politifact.com/georgia/statements/2013/jan/14/han...
Tools to recover lost contacts and other data from Android phones
There was a British TV show produced a couple of years ago called The Bletchley Circle which featured a group of women who had worked at Bletchley joining together again to solve crime in the 50s.

http://en.wikipedia.org/wiki/The_Bletchley_Circle

Unfortunately, despite fairly high production values, the writing wasn't very good and the show was a bit of a disappointment. There were two seasons but I didn't make it to the end of the first. It might have been better if they had made a more realistic show set during the war and focusing on these women's real experiences.
Werner Koch (the guy who develops GnuPG), when asked about this website:

http://lists.gnupg.org/pipermail/gnupg-users/2015-January/05...

"I have not heard about it but given that the Wau Holland Stiftung is collecting GnuPG donations also via Bitcoin, it is likely that this can't be tracked.

However, if that processing power is used to find many dups for long keyids we will sooner or later neet to invest work to mitigate the effect of this (e.g. adding a fingerprint as signed attribute to each signature)."
I don't get why that Bootlegger K-turn is less likely to lead to a crash. Don't you risk a crash while backing up from A to B? But with a regular K-turn, if you make a tighter turn while backing up from A to B you can stay on the safe side of the road the entire time.

The primary advantage of that Bootlegger K-turn seems to be speed: by swerving across the opposite side of the road, you can make a quick turn into the side street, and then you don't have to make a tight reverse turn to get out. Less turn -> more speed. But if I'm worried about a crash, I'd rater stay on the opposite side of the street.
Of course, USA is far better in every way than North Korea ! I am not confused about that part.

The reason why this question is important is because We generally do not recognize North Korea's sovereignty. We have this notion that we are orders of magnitude more advanced then them.

What I think Kim-John-Un means is we cannot pass value judgement on him. Yes he kills a lot of people but we can judge him for his actions at killing a lot of people. We can even get rid of him because of that. But we cannot make the argument that our way and implementation of governance is way superior to his.
WISP – a SAAS solution for creating mobile employee handbooks
Ah, a non-ASCII keyboard layout is quite different from the software input method for hieroglyph languages like Chinese.

For example, "myFile" in Chinese is "我的文件", and you have to enter the following key strokes in order to enter it:
Ctrl+Spacebar, wo de wen jian, Ctrl+Spacebar.

I guess you can see the overhead.
On puzzles, Prolog and problem solving fallacies
> So, might as write your own ADT and name it right.

http://doc.rust-lang.org/std/result/enum.Result.html

> (Also, a real error-reporting mechanism should support cause chaining so you can see the dependencies; you can sort of do it with string concatenation but it gets awkward after a few levels.)

http://doc.rust-lang.org/std/error/trait.Error.html

Either isn't custom-built for error reporting, so it makes sense that its naming only conventionally matches.
Infographic on the new EU VAT rules
Hi nawitus, how do you define "pretty much a dead project". I have been looking at the decline in google trend and, yes, it looks like it is dying, but the activity in the group is very much alive. And IBM Cloudant is now backing it with very nice integration to the tools of the corporate world.
Thank you for that last part. As a non US citizen i never knew there even was a difference between jails and prisons. Interesting :)
It amazes me how people just put up with random browser windows popping up and having to search via some random search engine that has been imposed on them.

I believe they just feel helpless, they don't know to do - but they are annoyed, because from my experience they'll ask for help the first computer-savvy person they see, even if they don't know them well.

Funnily, situation is actually a perfect dating opportunity for introvert geeks like me. I get a ton of requests for help from pretty much every student of non-CS field I talk to for longer thant 5 minutes. Removing their crapware can be a good start of a closer relationship ;).
That's the #1 reason ALL the computers in my house aren't windows but Ubuntu.
Sortable. No jQuery
Nice one.want to try it.
Pruning Error Messages from C++ Template Code – Roland Bock  Meeting C++ 2014
Instead of dowloading from Sourceforge (loaded with ads and its own devious 'installer'), CNET, Download, etc, there are no-crapware alternatives that offer more management tools as well (remembering your list of apps across machines, automated updates, discoverability):

Ninite: nice, simple, installer: just select apps and let the installer do it all for you.

AllMyApps: all the apps, no crapware (at least for now).

chocolatey: a command-line package manager for Windows

https://chocolatey.org/

https://ninite.com/

http://allmyapps.com/

Ninite is clean and great for managing deployment on multiple machines, although it offers a limited number of curated apps (but they tend to be very common).

AllMyApps has tons of apps and the most user-friendly. I could give that to my mum. Only had some minor issues sometimes when it fails to recognise versions to update. It will even recognise and update apps that were not installed through its manager.

Chocolatey has lots of packages and you can create your setup to make it easy to deploy across machines. It's getting more secure and the authors are putting a review process in place to guarantee quality.

I've used all three and they all offer something useful. All allow you to manage your own deployment across machines.
Don't Let Artificial Intelligence Take Over, Top Scientists Warn
"People say that what we're all seeking is a meaning for life. I don't think that's what we're really seeking. I think that what we're seeking is an experience of being alive, so that our life experiences on the purely physical plane will have resonances with our own innermost being and reality, so that we actually feel the rapture of being alive."
- Joseph Campbell, The Power of Myth
The title is making it seem as the listed behavior is largely unknown to C programmers. It isn't. And it is in the manual.
If your regular expression gets too complicated you should look into using parsers like antler,bison,etc. I was scared of learning about parsers initially since people consider it to be old technology and is usually in the domain of compiler designers and such, but they are really really cool.
A nice list. How long they're all around?

I still can't shake the feeling that it's only a matter of time before Moloch gets to them and they'll start serving crapware like any others. I'd love to be wrong on that.
Well I mean it kind of is. C's my favorite language but it's like a machete, simple enough, fairly easy to use and useful in a lot of places but if you don't know how to use it properly it's very easy to cut yourself with.
Yeah, hopefully if you are programming in C you'll know using an undefined variable is bad.
Yeah, I posted this a couple months ago (https://news.ycombinator.com/item?id=8565019), and it got very little traction. Glad it is this time around!
panic, recover, runtime.Stack
I feel your pain. Whenever family ask me to look at their computer I spent an hour deleting spyware and such. The worst bit is they do have antivirus and Windows defender, but they do nothing to stop it :/

The common advice to stop it before was "don't use IE". Everyone uses Chrome now, and so that's now where everything installs itself (check the extensions and there is usually something dubious). Google even have a tool to remove this stuff: https://www.google.co.uk/chrome/srt/
Yep. :-)

The article doesn't make much sense at times: Dereferencing a NULL Pointer: >>>contrary to popular belief<<<, dereferencing a null pointer in C is undefined.

I guess C programmers are not counted in the "popular" group.