skysight-inc/HackerNews huggingface dataset:
Wikimedia also provides several sources of data and infrastructure for hosting potential tools like this, if you'd like to take it on. In addition to public data streams like RecentChanges and public API access, we provide hosting infrastructure in the form of Labs (https://en.wikipedia.org/wiki/Wikipedia:Wikimedia_Labs). Not to mention the fact that anyone can write and submit a MediaWiki extension that could get deployed to Wikipedia itself.

One related piece of infrastructure is the automated tagging of edits. There are already several tags automatically applied to edits with a suspected conflict of interest regarding linking or autobiographies (https://en.wikipedia.org/wiki/Special:Tags).
Speaking as someone who is planning to write in the future - by which I mean "Edit a short story tomorrow," "Launch a Kickstarter for a novel next week," and "Participate in NaNoWriMo for the eighth or so time next month" - I can highly recommend On Writing. It's one of the very few books, out of easily a hundred or two, that I first had shipped up when I moved out of state. I'm sitting across from it even now.

Speaking of the Kickstarter: http://planetoz.net. I'm posting a writing tutorial link to the mailing list soon!
I've been an active editor since 2011, primarily on the topics of computational biology and African American history.[1] I started by inserting citations, then by incorporating a couple of term papers I had collecting dust, before finally graduating to major rewrites of (relatively)
popular articles.

Thankfully, in computational biology articles PR flacks and wiki-lawyers are at a minimum. The extent of my experience with the former extends to over-enthusiastic academics promoting their particular software. I recommend it to students, not only as a way to get some use out of old term papers, but also as a way to sharpen one's writing skills. Because it's an important vehicle for outreach there's the potential for recognition as well.[2]

I'd have to say that one of the highlights of my editing career has been receiving an email from the descendant of an article's subject thanking me for telling their story.

[1]: http://en.wikipedia.org/wiki/User:Estevezj

[2]: http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fj...
At Errplane we've written our primary datastore in Go and have been running it in production since January. It has been totally reliable, performant, and easy to work with. Easily handles the 100m requests per day we get. At this point it's my language of choice for any back end systems.
How to fix a rocket moments before it’s due to launch
How would it help you to know that it was a commercial failure? How would knowing that change your conclusion that you can't rely on Google products?
I'd love to see a "go vet" check or the like that complains if you implicitly discard an error return (but can be silenced by explicitly assigning it to _).

That still gives you a way to do odd things, but you'd have to explicitly choose to be odd. And since it's a check rather than a new language rule, old code still compiles.
Interesting, but I have a hard time accepting this. If I accept a type of iterable I would either check isinstance and do separate methods or check isinstance and convert to a single type and operate on it. On the other hand, I also try to minimize accepting multiple types of iterable. I don't do that very often except in the case of list and tuple. Since these two types are very very similar in nature I call a separate method in my code to handle the two types. That's okay, just a few extra lines.

I don't really understand the benefit of mm and dispatch. This sounds useful for building routes in webapp. But for library, it sounds like we are bringing back C++'s single interface, multiple types... I don't even remember what that is called.
Sorry, note my "pedantics:" note on the bottom. If you ignore errors then you're actively going against the idiomatic way to write Go. I never claimed it was compiler-enforced. I'm not arguing for or against either side either (compiler or non-compiler), I'm just trying to state facts.

It is true that panics exist, but panics generally represent non-recoverable errors that deserve to crash. They're very rarely bugs (except slice access, which I mentioned). In practice, in any Go systems I've written, panics have not been an issue and have really never occurred (except, again, slice access, which I mentioned).

Regarding your comment below (I can't comment because it is too deep): where did you quote me saying the compiler forces you to handle errors? It doesn't, and if I said that it is an error.

I don't know how people keep misreading my comments, so in all caps: THE GO COMPILER DOES NOT ENFORCE ERROR HANDLING AND I NEVER CLAIMED IT DID (in any of my comments).
I'm not sure there is a huge amount to learn. You can do a lot through the AWS console. The S3 portion of the AWS console is just like any web storage service I have used. The EC2 portion allows you to start up instances with just point and click.

Much more difficult to pick up is the Linux administration side of things for EC2. If you already know Linux admin, then you are golden. If not, then that's where you would need to spend your time learning.

Since EC2 (and the rest of the suite) is all about using the API to automate things, you might want to add something like Ansible to your list of things to learn. Ansible has modules for starting EC2 instances, moving things back and forth from S3 and for other AWS services as well. This is probably how you would be using AWS in the real world.
I'm confused as to what you mean by "the compiler forces you to handle errors", then. Do you just mean that errors are documented?
The fact that this little blog post stutters and jerks as I scroll down the page (using Chrome) on a fairly new RMBP means they've got a lot of work to do.

I don't understand how these things become so complicated and expensive and still not work right.
Since when does feminism promote childlessness?

It promotes the emancipation of women. When men care about children as much, there is no problem in having kids and a career for women (and men).
I don't like public speaking (but I do it anyway)
We need to enable reload module and memory memorizer like IPYthon
Yay, code by me is now in an official Python release! (data:-URL support)
Twisted is the big one for me. The new async API introduced here sounds really great, but I have so much code built around Twisted that I don't know if it would be worth it for me to switch right away. Maybe I should write my next async project in Python 3.4 and start making a slow transition.
Hey Dan, it's annoying when a someone scrapes your website, and it's even more annoying that this site tried to claim your Mom's images with Getty. But as far as I can tell, the site that you mentioned isn't having any success at all. For all the work that this spammer put into copying your Mom's site, it doesn't look like they're getting even a single digit number of visitors from Google. So they may be annoying, but their attempts at spamming didn't do them any good at all.

Feel free to do a DMCA request, but I'm already passing this to my team as a spam report and we'll dig into it. I don't know how Getty deals with scrapers though, so you'll need to look into that on your side.

I made a video with advice about dealing with scraping a few years ago that might be useful for you: https://www.youtube.com/watch?v=5CosWAVLCZg
Good question. Early anarchists use the words 'freedom' and 'liberty' in a vague manner. This is OK, because anarchy isn't a theory that needs to be based on logical assumptions. It's not a theory at all, but a tendency and a force against the existent. Goldman is using the words in a transcendent fashion, so that when (old) anarchists say 'freedom,' they mean a vague situation beyond the State, unknowable for now- a dream worth fighting for.

Present-day anarchists almost never use the two words in part because of their vagueness and inherent liberalism and in part because of their modern co-optation by neoliberalism and the right. Liberals use the words 'freedom' and 'liberty' to mean the agency of property owners to do what they will with their property and the right to possess things so that others may not use them. It's about markets and money. Freedom of speech, 'having your say,' is important in the marketplace of ideas, where ideas are flattened and life is exorcised.

The anarchist tendency views 'freedom' as the ability to live one's life in a way of their own choosing. It's certainly freedom in the communist sense: the ability to freely access the goods, food, housing, clothes, etc. necessary for life. But anarchy is also freedom from the influences of the State, patriarchy, civilization, white supremacy, all of the great forces which seek to corral us and fuck with our lives and desires.
A decentralised society doesn't mean an unorganised society though.
Security process for Open Source Projects
> Want NoSQL? Use RIAK!

See, you're just perpetuating The NoSQL Problem. :) Riak is well-suited to some tasks, but it is no more a magical fits-every-problem thing than MongoDB is.
its actually 180x faster if it went from 3 mins to less then a second
Ask HN: Do we need any more real-time collaboration tools?
On Saturday, I enjoyed watching the live broadcast of YCombinator's 2013 Startup School. For the first two talks I just watched, but then a tweet came across the stream below the video referencing a Google Doc containing notes on the talks (I'm sure many of you have seen it).

I collaborated on the document with ~6 people throughout the rest of the event, and we worked together with almost no friction. There was a small amount of meta-discussion, but no outside communication and we put together a pretty detailed and well-formatted account of the event.

If Google Docs could get their shit together on inline images, it seems to me that it'd be a tool with relatively little left to improve upon.

TL;DR: I see new real-time document collaboration tools and features every day. Do we really need any more players in this space?
I'd love it if "go vet" or something complained about implicitly discarded errors. If you mean to ignore an error, you can always assign to _.
I thought that the primary use of most roads is to provide transport and access, and only as a sort of side effect they are available as a means of sport and entertainment. So, regardless of whether one is driving a car or riding a bicycle, putting lives at risk is not only illegal, but also breaks the social contract that let those roads exist in the first place. It is a form of free riding, the bad kind, invisible until an accident happens.
That's terribly comical, considering it's just a graffiti piece. Banksy will find the fuzz it creates hilarious, I'm certain.
Actually, the reactions it creates could be seen as the much grander art performance, compared to his previous 'art sale' [1]

[1] http://www.youtube.com/watch?v=zX54DIpacNE
It's so easy to troll HN - just mention PHP
Do you always start with the perfect data structure? I find myself adding, removing, and restructuring schema often. Just as you think it's silly to use an "inferior" db during prototyping, I think it's silly to have to jump through hoops -- even minor ones -- while I'm just trying to experiment with a new technology or play with a concept, product design, or pet project. 99 times out of 100, I don't care if my project survives the weekend. Let me use that database I want to use!

> You'll thank us later when you learn a little bit of SQL and start analyzing your data, running circles around the no-sql guys.

That's a little condescending... do you know a single mongo user who doesn't have experience with SQL? Plus, I love the fact that I can literally run javascript against my database. Good for production? Certainly not. But that doesn't mean it's not fun or useful.

Not every project requires such rigor. If that's how you enjoy development, that's great! Very few of my projects put the db layer to the test, and so I'm happy with the balance that mongo gives me. I use it in about 4/5 of my experiments and side projects.
Riak also has massive problems. Realistically, figure out your data that you want to stick in a database, why, and how you're going to query it, and then work from there.
Chrome Canary is the only Chrome version that has working SCTP (reliable) datachannel support at the moment. It's broken(undetectable also) in every version before that (you can try, the website won't stop any version, just display warnings).

I did have unreliable datachannel support initially, but as both Firefox & Chrome now support reliable, I see no reason to keep that overhead/extra code around. Hopefully working reliable datachannels in Chrome will reach the primary version soon!
Have a look at the linked repository, under src/ and see if it looks anything like what your expectations of PHP are.
When I got started, a perl script in /cgi-bin was not an unusual way to go. :)

And that's exactly the thing about when I started. I already knew Perl. Then I learned HTML and how cgi-bin worked. There wasn't even CSS back then. The I learned SQL, and then CSS. Then eventually Javascript. Then Rails, and JQuery. Somewhere in there I learned more about the parts of the Internet and TCP/IP that matter, like DNS. Then fancy things like the Rails asset pipeline (it is useful, and it is very confusing), and increasingly deep knowledge of the DOM, Javascript, ruby, Rails, etc.

In the end, I learned a lot, but I learned it over several years. And I already started with basic programming knowledge.

I honestly don't even know how to tell someone to get started today -- it's a LOT of things to learn, you just can't learn them all at once (none of us did).

So maybe PHP is the place to start. I don't know, I'm not sure, but maybe. I wouldn't want anyone thinking it's a good way to do anything beyond learning and maybe deploying _very_ simple sites, but I don't know a better way to learn -- it's how most of us did.

What are the alternatives with great exposure you think would be better for someone to start with? I am curious for real!
The reason is simple: PHP is getting better. It took a long time, but people owe it to others and themselves to help PHP thrive because it can only get better with the help of others. Frameworks like Laravel are somewhat responsible for the resurgence in PHP development, it's becoming an exciting language to use again, the quirks and issues the language had are slowly but surely being fixed in versions post 5.3 that's for sure.

You have to remember that no other language has really been able to beat PHP in terms of ease of use and setup. Every shared host in the world has PHP installed. There's no server to start, no scripts to run, you just upload your files to the server and they work. Django/Rails and all of those other languages don't just run on most shared hosts. PHP is easy and that's part of its appeal and the reason why it won't be dying any time soon.

Every language has quirks, not just PHP. If you want to talk languages that were too, once horrible and in some ways still are, look no further than Javascript. That didn't stop it becoming the most widely used scripting language on the web.
You might not be from California, but Merced to San Fernando valley is a pointless commute. Their is no need for high-speed rail in the 5 corridor. The 5 Fwy is "high-speed" and the corridor is both straight and sparseley populated. The benefit of HSR is only in plowing through the "last mile" (in actuality, the last hour).

Look at London's linnk to pairs with Eurotunnel. That is a successful HSR because it drops into Waterloo. If it dropped into Heathrow/Gatwick/Cambridge or something else two hours away, it wouldn't be nearly as useful. It would be a more interesting project to see an HSR from Berkeley to Palo Alto or SF to Monterey, or something that actualy opened up new areas to one another. Right now the Bay Area is hamstrung by these types of regional bottlenecks, which the HSR is not going to solve.

I don't disagree with you on the fact that these bottlenecks exist for the reasons your mention. But that is also my point: there is no consensus on them, so special interests are able to leverage legitimate differences of opinion. The eralier example of trans-continental was exactly the opposite. The consesnsus and political will was so strong, all barriers were basically steamrolled out of the way (legal, ethical, etc).
Ask HN: How Do You Come Up With Blog Post Ideas?
It seems like every one in technology has something to say, and many of them have their own outlet for saying those things (that end up getting posted on HN!)

What is your source of inspiration for deciding what to put on digital paper and share with the world?
Interestingly, in Firefox, this works when I type it into the address bar (goes to localhost, as expected), but not when I click on the link.
As frou_dh points out below, Go does not force all errors to be handled (edit: to be clear, they don't even have to handle it with _ ). See this working example in the playground for reference: http://play.golang.org/p/IPDTG6Ub2b

Edit: The comment that you replied to said "Go does not force you to handle errors." Your comment said "True but it's not idiomatic." My reply was meant to show that it's very easy to ignore errors in code that is not obviously un-idiomatic. Also, note that in your grandparent comment, you stated, "The PRIMARY reason Go is so reliable is also a reason many people hate go: you _have_ to handle every error." In my link, however, the error goes unhandled.
Most master-slave databases don't do auto-promotion themselves; it's a bit of a minefield. (In particular, in cases of network partition, where some applications servers may have a different view to others on whether the master is dead or not).
Probably because.. the author doesn't know..

This article seems to be pointing out something strange, not trying to explain it.
The author would say "the current version is 0.6.4 and its JS hashes to this SHA256 hash: xxx"

Open source already does this for binaries. Why not JS?

This assumes it's even possible to get a consistent hash of all javascript executing on a page, though.
there is infinite opportunity to reinvent the basics
Articles like this make me realize how much people barely know what's going on in Android.

The ability to change homescreens existed for years now, I think the API was even in Android 1.0 (I can guarantee it's in 1.6 at least).

The only thing 4.4 could do to clean up the experience is allow Android apps to theme the UI elements in the settings app, notification bar, face buttons, and apps that use Holo.
Not directly replying, but more amending your comment.

Double dispatch is generally simulated with imperative languages via the Visitor Pattern. Generally used when you have objects that won't change their structure very much (and are backed by an interface of some sort [also needed for the polymorphism aspect of the pattern]), but have to do lots of various manipulations with them. That way, you don't have to change the interface each time you add another method. Also referred to as "inversion of control." I used it before for filesystem type objects and for walking over the structure of an XML file (though both times were for school related projects). I could probably dig up the labs and post them on my Github for anyone interested. It's pretty cool how it works (and sort of hard to wrap one's head around initially), but not something I would consider using often.

Scala has a unique take on double dispatch[1][2] for being a hybrid imperative/functional language.

[1] http://stackoverflow.com/questions/8618082/visitor-pattern-i...

[2] http://blog.nirav.name/2009/04/how-scalas-pattern-matching-c...
What about segments where you need to break the speed limit?

What about segments that go down single-lane bike paths at 60km/h?
Light Pattern May Hold Clues To First Moments After Big Bang (VIDEO)
This is how it works:

"Rock minerals naturally contain certain elements and not others. By the process of radioactive decay of radioactive isotopes occurring in a rock, exotic elements can be introduced over time. By measuring the concentration of the stable end product of the decay, coupled with knowledge of the half life and initial concentration of the decaying element, the age of the rock can be calculated. Typical radioactive end products are argon from potassium-40 and lead from uranium and thorium decay."

-- Wikipedia
Upstate mom: Special needs son suspended for drawing bomb
When we talk about the medium or long term, we should also start to consider the impact of life-extension, and more importantly, youth preservation technologies; the entire issue of "young supporting the old" disppears if people stop aging. There is virtually no government support for research to support this, even though we should consider it one of the most important issues in history (and many diseases simply a subset of the "disease" of aging.) Perhaps trends like the ones discussed in the article will get governments thinking about it (and having Google investing in this area is a nice boost.)
Chromebooks all have a hardware TPM and already encrypt each user's local data:
http://www.chromium.org/chromium-os/chromiumos-design-docs/p...

I'm not sure what you mean by having a good token to get access to the machine, though.
Not a library but I think mercurial currently still only works with Python 2.
I sometimes throw out these things as a quick way to get reactions and interesting feedback as to why something is good/bad. For instance right now I know mostly good things about Riak, that's why I posted this ending to my comment.
The article is a bit confusing as the author may have missed that many of the current smartphones already come with MEMS barometric altitude sensors.

Well, but he was nice enough to link the original article, unfortunately it is paywalled.
http://scitation.aip.org/content/aip/journal/apl/103/14/10.1...

The paper reports a new type of pressure sensor which uses a cantilever with a tiny airgap instead of a diaphragm. Sounds interesting.
Some of them are generated using my own C++ programs. For example, the series on Monte Carlo localization (https://commons.wikimedia.org/wiki/Category:Robot_localizati...) is simply too tedious to be created by hand. The C++ program source code generating the nine pictures can be found at https://gist.github.com/dllu/7076603

As for the diagram of the teletherapy capsule (https://en.wikipedia.org/wiki/File:Teletherapy_Capsule_3.svg), I wrote out the SVG file by hand in a text editor. Extreme boredom sometimes makes one do that kind of thing.
There are lots and lots of people who are using JavaScript under duress because we have no real choice. I for one don't like it, but I get on with it.
> If they want to add styling

The problem for a lot of users is the disconnect between a logical style (the actual boldness of the text) and representations of that style. If you haven't learned to handle this kind of abstract symbolism, plain text markup formats just don't make sense to you. Your brain instead registers it as a combination of "this editor doesn't have bold for some reason" and "the computer garbled my copy and made parts of it bold for some reason" without ever drawing the connection between one and the other.

This is only really an issue in places where abstract thought is seen as an innate ability which can only be tested for and not taught to people. Unfortunately this includes the US.
Even though I'm the one who suggested that maybe PHP was a good place to start...

I think it's probably a mistake to try to learn web programming without learning _programming_ first. Hello world. Loops and conditionals, math, etc.

Because while many of us learned web programming with PHP, many of us also learned programming before we learned web programming.

And you _can_ just create a ruby or python file and start running it, not for a web app neccesarily, but for learning programming. (In this sense, they are better for this than Java, because there's no compilation or boilerplate, you really can just create a file and run it)