skysight-inc/HackerNews huggingface dataset:
To the people saying that this won't really hurt facebook, I beg to differ, this is a relatively simple to deploy DDOS attack, if enough people start utilising it, I can see a fair amount of Facebooks resources being tied up in these attacks.

They will only fix it when it starts to hurt them it seems.
Http is stateless, so there are no "known sockets". Every request opens a new socket. Unplugging and plugging back in is a no-op in this context.
Regardless of what the US does now, China will do later what the US is doing now. So the US might as well do the same thing now.
This wasn't a bugfix, it was a workaround.
Can't you control the minimum font size on your mobile browser or something?
See http://mr.gy/maintenance/mpc (self-plug).

A friendly fork of Drew Crampsie's Smug¹.

MPC is a monadic parser combinators library. It provides a toolbox of predefined parsers, facilities for error handling and parses arrays, streams and lists.

[1] https://github.com/drewc/smug
It also weeds out the adults who think about what they read and don't have child eyes.
That's because they've formed LLCs to prevent the owners from being personally liable.
> It's like the opposite of Python and Ruby.

Exactly. Many people are running into issues with Ruby and Python that Go solves. Tons of Ruby and Python programmers are flocking to Go.

It's not better because it's the same, it's better because it's different.
Metabolism appears in lab without cells
Because of the state information associated with logins, A Web server has a limited number of login connections it can handle.

You're making excuses for a particular setup - this is not something which holds true of all web servers. It's quite possible to store the state necessary to allow 10000 simultaneous logins if you use cookies and a db to store your state, rather than relying on in-memory state and fragile continuation links like this (created a few minutes ago):

https://news.ycombinator.com/x?fnid=l5qgIWgvnRbHE7owLEaPMw

or tying replies to stored state on the server which expires within minutes. Many large scale sites manage it, I suppose because they don't store data like this in memory or urls. I'm not sure about this idea of storing state in urls, it often backfires, and urls should identify resources and actions, not store state.

There is no good reason the server cannot receive a POST request from an authenticated user against a node id, and perform the requested action (post my reply please), no matter how many intervening logins/actions it has handled.

Looking at the form in question (reply forms) reveals why it does break:

<input type="hidden" name="fnid" value="UswPVmT3a8lZnqPBtcx359">

The server stores a continuation in the comment reply form, which (like the more link above) expires very quickly. The reason it expires is presumably because the server keeps a list of these fnids in memory, and as you say the list is finite, but it doesn't have to do that. There are other ways to create a CSRF (if that's what they use this for) which won't expire so quickly, and this problem is not one which many sites experience.

It is annoying just how quickly reply links, more links etc expire on this site, and if the site used a different method to sign reply forms or construct other links they could get rid of this issue. Keeping data in memory like this will become more and more of a problem as the site scales - eventually things would break in seconds with enough load - that's clearly not acceptable.
It is not enough that they are local subsidiaries. Microsoft said this already in 2011. A subsidiary on foreign soil, under foreign law is required by the patriot act to produce the data that a US authority is demanding, even if it breaks the law in the country it is in. http://www.zdnet.com/blog/igeneration/microsoft-admits-patri...
It's not "cool", it's that the implementation is a quick hack, not intended to be a quality product. It just needs to be good enough to make users grudgingly return and see the PR for YC startups.
I agree with you: HN time-outs and failures (which also occur on reading) are an unnecessary pain. This is one reason you should never write into a web text box (a rule I also fail to adhere to). But really even "modern application grade" web stuff is so flakey if you value your text you write it in a local editor and then copy/paste later.
A login system does introduce a notion of state between the server and client, but the use of the word 'connection' to describe that is probably a misnomer. I'm unaware of any basic HTTP servers that use a persistent socket connection (which seems to be the sort of connection you're describing, given the resource constraints you suggest) with clients in order to manage authentication.

Most often, the server just needs to set a flag associating an auth token with a given user (for whom it has a persistent representation, e.g. in a database.) Lookups against this token => user hash/map/table should be very cheap, especially if it's kept in memory. Further, even for tens of thousands of concurrent users, that's not a lot of memory overhead (1KB/authed user would be a generous upper bound, and that would still only be 10MB of RAM per 10k concurrent users.) Could be that HN is running on a 1990s-era desktop with 256MB of memory in someone's office and that this is an actual resource constraint issue--but my hunch is that this problem lies on the software side, not the hardware/resource side.
I'm not sure what's more disturbing; this reply, or the fact that only 2 out of 5 replies to this reply attempt to refute it.
Nobody was talking about Clojure. Do you also have to hijack CL discussions now? Taking over the term "Lisp" wasn't enough?
What kind of application is Rust well-suited for?
its not impossible, just appears to be coded by someone who over did it with caching in the beginning before the site needed it.
I'm not disagreeing with them, yes, but I do think people tout Rust's Rc and Gc (the latter og which doesn't even exist properly yet...) as overly optimistic solutions to escape Rust's variation of "manual" memory management: they don't entirely free you from the shackles of the borrow checker, and even introduce worse lifetime issues (failure at runtime as soon as (certain types of) mutability is required).

That said, the lifetime system make it hard to get things dangerously wrong, so I'm quite happy with the tradeoff Rust offers.
For the ultimate keyboard experience, get a mechanical keyboard.

http://www.reddit.com/r/mechanicalkeyboards
That's the worse part of Ant.
American Sufi Mystic talks about the coming new global civilization
This is largely correct. Each reply form includes a hidden input field with the name 'fnid' in their form. Many other pages include a parameter with the same name. This is the unique identifier of a closure that's associated with the page you're on. These closures are deleted after X time, at which point requests from that page can no longer be handled correctly.

Yes, obviously it would be great if X were increased. But doing so would require an increase in server resources or a significant change in the way HN's backend works; neither of these options is free. That is the reason why things are this way.

This is an old debate. See, for example: https://github.com/HackerNews/HN/issues/11
I believe on iOS you can increase the font size for the entire UI, not just the browser. Not something I would want to do. No idea about Android.
> Go is like a better Ruby or Python.

I don't think so. Go has its own set of pros/cons just like every other platform. You could equally argue that the huge array of libraries for Ruby and Python would make it "better". And ActiveRecord or Rails alone are major advantages of the Ruby platform.

Personally I see Go being more like Java 1.0. Simple and elegant.
The moderators do not control this process. There is an automated serial vote detection algorithm.

AFAIK, under no circumstances can a Stack Exchange moderator reverse a vote.

More info on the serial vote detection process here: http://meta.stackexchange.com/questions/126829/what-is-seria...

edit: I just looked at your profile and the deletion/banning of a user account will remove rep too, so I suppose in that manner a mod can "reverse" voting, but it's all or nothing. They have no way to flip individual votes.

edit2: Moderators are not employees of Stack Exchange, they are volunteers elected by the community. Of course employees can change whatever they feel like. This discussion is about the moderators.
SO and, in general, SE derailed years ago. The mods ruined these communities. If you want to see the worst of it visit ServerFault, it was horrible a couple of years ago. I think that's how long it's been since I've been to an SE site. The misplaced moderation drives potential contributors and participants away.
Do other countries not get affected? What about India, the UK, and China? Many other countries have even more intrusive domestic spying programs.
Public Service Announcement:

If you're on Chrome use HackerNews Enhancement Suite.

https://chrome.google.com/webstore/detail/hacker-news-enhanc...

No more ass-ugly hackernews font choices and colors.
Yeah, it's really annoying to have to edit the URL on mobile when this happens..
> Tons of Ruby and Python programmers are flocking to Go.

No they aren't. If they were you would be seeing "tons" of job ads or blog posts. I've seen hardly any.
Now that Andreessen invested a huge amount in them, I'm counting the days until it's being acquired by Facebook. Seems to be his modus operandi. An easy 20x ROI with this strategy.
Show HN: My first WP8 game – Made with Unity
Git, in common with every other version control system I ever used, considers adding a column to a CSV file to be "every line was altered" because Lines are all-important.
There was some testing early last year, but I think it's about time for someone to post another reminder

http://git.661346.n2.nabble.com/inotify-to-minimize-stat-cal...
(First stage bootloader)

Yes, I know that.

I have yet to find a device that meets all my requirements (some of which I did not mention).

In RPI's favor I will say that 1. it is not "in development" but is "on sale" and 2. it does not come with Linux preinstalled. Letting users choose their own OS and not limiting the choices is a start in the right direction. There is of course further to go. Alas, it does not stop at the bootloader.

So, where do you recommend purchasing the device(s) you mentioned when they eventually go on sale?
Isn't your work released under a less restrictive license than main Datomic?
U.S. courts (and all courts everywhere) can compel you to produce any document or item under your control, whether or not you actually "own" it.

Your cousin Bob gave you a sealed letter to hold for him and the court says you have to hand it over? You must.

And calling it "theft" is an attempt to prejudice the discussion. Theft is taking without due process of law. By definition, taking at the command of a court is with due process of law.
I really do believe that HN is poorly designed for end users. The UI is not forward with intent, or pleasurable to use. It's been literally years and the expired link issue hasn't been addressed. ---No, I'll stop you right there. It's been acknowledged as an implementation bug, but not addressed. PG's lack of user empathy and stubbornness make HN worse.

The only reason people come here is the content.
Yep, that's what I'm talking about. A Filco with the electronics of those apple keyboards.
I have a Ruby tattooed on my body, we're in agreement. But we're increasingly becoming a minority opinion. Go is certainly eating away at Ruby and Python's mindshare.
NAILED. IT.
The architectural model your comment and the initial post assumes to underlay the behavior is incorrect.

The reason for 'Unknown or Expired Link' is that HN runs on a webserver that uses continuations to maintain state. The continuations are stored in a table and based on load individual table entries get flushed to make room for new entries as needed. The message is actually always the result of an unknown link because the hash is no longer in the table.

Your experiment worked because the relevant continuation [state reference] was available after disconnect e.g. the 'route' so to speak was still valid.

Now obviously one might wonder why HN works this way. The reason is that the HN codebase came about as a way of field testing Arc [Graham's 100 year language]. Until rather recently, HN ran on a single server. It still uses relatively few lines of code.
We must operate in disjoint social circles.
This article does not EVEN mention Shenmue 2 as one of the major games inspired by the walled city. Did they do their job?
This is pretty cool.
To my surprise, I found many language constructs similar to Scala. Is it just me?
It's like go and Scala mashed together with the good parts from both syntaxes.
There is a new layout that is supposed to be more mobile friendly in progress. dang has (briefly) posted about it here:

https://news.ycombinator.com/item?id=7606298
Wow, it seems that the researchers are too young to know that phone cords existed.
> * Because of the state information associated with logins, A Web server has a limited number of login connections it can handle.

a) this is technically incorrect – you can trivially handle this using signed cookies to store the logged in user

b) even using traditional database or filesystem based approaches, those limits would be aggressive even if the site was hosted on an iPhone – you're talking tens of bytes per session.

> To serve the maximum number of visitors, a server needs to recycle connections that are no longer in use.

Also technically wrong: if you aren't doing anything, you aren't causing any load whatsoever on the server. This would be different for something like a chat site using WebSockets but for a vanilla app like HN this is not an issue.

Also, again, even if you were using a persistent connection the absolute technical limits are much, much higher than the traffic HN sees - hundreds of thousands of simultaneous users.

> There's no reliable heartbeat method between browser and server that a server can use to determine whether a given connection is still in use.

Again, technically wrong: plain HTTP sites don't maintain persistent connections but in the case of something like a WebSocket connection you'd simply use TCP keepalives, which are a mature standard feature and very low overhead.

You appear to have confused the concept of a session with something which is actually happening at the network level. Try reading something about the HTTP request cycle (e.g. http://www.slideshare.net/cczona/full-stack-full-circle-what...) for basic background and after that move on to some discussion about the work done to make servers which can handle many simultaneous connections - the C10K problem was the original work tuning operating systems to handle tens of thousands of simultaneous connections and was large a non-issue at the network / basic HTTP leel by the mid-2000s:

http://bulk.fefe.de/scalability/

By now a single server can be assumed to handle hundreds of thousands of simultaneous connections at the network level – assuming, of course, that you have capacity to actual do whatever work those connections are used for. Idle users typing text into a form wouldn't be a problem even if it did use a persistent connection.
You're right, the example does have a glaring bug - and I completely agree with you, examples should not include incorrect code.

Just to clarify, maps can be read concurrently without locking as long as you're not writing to them. As soon as any concurrent operation might make changes to the map (as the example does) you need locking, preferably a sync.RWMutex (a sync.Mutex will also work but will be way less efficient for no good reason).
Alibaba Introduces Their First Hardware Product, Tmall Box
You might want to look at Stack Overflow's younger sibling(? child? cousin?) - http://programmers.stackexchange.com/ which is intended for the design type questions rather than the code type questions.

Realizing that these softer questions are very likely to stray into the discussion and debate realm the caretaker community of programmers.se can be very active in closing the questions (also with only ~50 questions/day, one can look at every question each day).

The exact phrasing of the "Should I use NoSQL or an ACID based approach..." question would likely run into this and cite the Gorilla vs Shark blog post ( http://blog.stackoverflow.com/2011/08/gorilla-vs-shark/ ) and close the question as a recommendation question.

However, if you went through and wrote it "Here is my problem, here is my design, here are the potential issues that I see with that design, would switching the database from A to B solve these issues without creating worse new ones?" it would likely be a question that remains open.

Programmers.SE really does try for a higher threshold of quality than stack overflow in that with higher quality questions it is possible to attract people who will give high quality answers.

One bit to note is that with a small amount of reputation on any stack exchange site, someone can get into the chat part of the site (the minimum rep is to keep the spammers out) where discussions are completely appropriate.

All of the Stack Exchange sites are designed around the "problem and solution" model. Furthermore, the model was designed to avoid some issues of the scale of community by making discussion difficult and not appropriate. To that end, I'd suggest reading A Group Is Its Own Worst Enemy http://www.shirky.com/writings/group_enemy.html

Much of the problems that Stack Overflow in particular is facing (compared to the smaller stack exchange sites) is a clash between the core group (read that group article) and the endless september.

It saddens me, but I do believe the endless september is winning in that the core group lacks the numbers or the tool to properly defend itself within the system.
Google Brings Its Hotel And Restaurant Search To Android
>Give one exemple of a QandA site that has a better system than stackoverflow at that scale(i insist on the latter).There is none,because nobody has done better.

Ok, its not at the same scale, because it has a narrower focus, but PerlMonks is better for Perl questions and encourages the sort of discussion that SO hates. (It probably does have as many Perl specific questions as SO though).

The styling is kind of outdated now, but the content is better. Unfortunately it is Perl specific, and I am mainly using Python these days. You would look up how to do something and come away with more knowledge of the language and reason why things are done, rather than getting just enough material to copy paste until your code works.
For any new readers: this is a "bug by design", it has been extensively complained about in the past, and it's marked "will not fix, stop complaining" by management.

This has been a public service announcement.
I live in an apartment, first floor. I Work from home full time in Bolivia. I accommodate a room with two desks, most of the time I use both and in occasions I share one.

I don't like to have anything else in the room, when I want to rest I just get out of my desk, for a coffe, a nap or answer my cellphone.

No TV in my apartment.

http://i.imgur.com/O5myrqn.jpg
Desk: two sawhorses tables, + view on the left, + view on the right. Shared via G+ because we hipsters love dead technologies ;)

https://plus.google.com/photos/118392785163397399948/albums/...
How is Go a better Python?
I'd love feedback on this, if anyone has any constructive criticism.
I'll also answer any questions of use-cases, etc if anyone's curious about anything.
I had to disable privoxy (ad filtering) to get it working.
I'd like to see better search functionality. It seems I can never find any relevant emails when searching in Thunderbird.
Solving the hate on StackOverflow
It seems like Amazon is fully embracing the death of net neutrality and running with it. Too bad no start-up will ever be able to compete with such a strategy again, once net neutrality is dead and buried. Stuff like this will only become a battle between 2-3 large players in all web services markets.
One positive side effect of the architecture is proper isolation in pagination. When I fetch Page 1, the link to Page 2 will always return the same set, regardless of timing (up until it expires). You will never see the last entry on one page show up as the first entry on the next page.
Please see the other three replies I've already typed in this thread.
There is a lot of reference material on SO that I find useful, and my own reputation score continues to increase on its own, but I haven't posted a new answer on the site in at least 2 years.

To me, the gamification problem has simply led to what's really going on: users caring more about the score than about the quality of the content. 5 years ago, I can recall a single question eliciting awesome input from the likes of Jon Skeet, Marc Gravell, etc. While the scores were interesting (Skeet's rep off-the-charts), the content was fantastic.

Motivations are skewed, now. People are trying to build reputation as a number rather than content. What I'm surprised at is why anyone would want to drive up a high rep score backed with completely inane content? What's the point?

The gamification rules for the site seemed to have transitioned it from a knowledge center to nothing more than a game.
Well, not really true. In fairness though the US population is less than 5% of the world, they amount to lot more than 5% of the market. The distinction is between the population and number of customers of internet/software based services/products.
How Imgur Became a Photo-Sharing Hit: They didn't rate limit or show ads to referers from reddit.com.

Before imgur we had imageshack.us which built it's success on forums.somethingawful.com. ImageShack's attempt at jumping on the Next Big Thing, yfrog.com, was thwarted when twitter added their own image sharing.
Thanks for the reference.

Any idea where the fnids are stored and how they are garbage-collected? Could it be that they're just dumped into a memcached instance and older fnids get pushed out whenever the memory limit is reached?
Not true. It's an open bug. It's just really hard to fix.

https://github.com/HackerNews/HN/issues/11
You can always zoom in or enable high DPI mode if your browser supports it
Reading it now. Thanks for sharing. I have a couple of book projects I've been pecking away at for a couple of years. This will help.

Please consider changing your site so it can be resized (two finger zoom) when viewed on an iPad. The font is on the border of being small. I often do my reading late at night. When tired I find it easier to make pages fill the screen side-to-side in landscape mode. Thanks.
> Edit: please don't suggest one of the other HN wrappers. I know they exist.

What about one of the many apps? Have you tried news:yc?
Rust takes more from OCaml and Haskell than Scala, but it's very inspired by functional languages, it's not just you.
Looking at it from a B2B perspective, I can think of a lot of business situations where my own country spying on the data I store is acceptable, while any other country spying on it is not. Any sort of work with your local aerospace/nuclear/etc program falls into this case. Or any sort of work with a biggish company with ties to the power, really.

It's fascinating to see how some people seem to find silly the idea that their domestic government could be on their side.
Write a book on molecular biology?
Start learning programming after the baby is old enough moving into scientific computing? or software designed for the molecular biology field?
Take the time out of the academia rat race and work on one of the great problems?
Again might result in a book or a position.
Art book of molecular biology references?
Start a blog on reviews of papers for biology?
Start a blog on reviews for biology books?
Develop a small startup for open science for easy, accountable peer review?