skysight-inc/HackerNews huggingface dataset:
So the example I have in mind is that of a Randomised Binary Search Tree (or Treap, if you want). Its interface is pure, however it requires access to an RNG for insertions. Because of this, it cannot be treated as a pure collection: you need to tell the type system, hang on, this RBST carts around some state which changes when you insert to it, despite the fact that the state doesn't change the extensional behaviour of the structure. This is a provable property, but maybe not provable by Haskell's type system.

Now I know that you can hide unsafePerformIO in the interface, and in this case I expect it is fine, but this is not easy, it feels like a hack.

Another example that I have personally watched play itself out in disbelief was in a fairly large Haskell project: There was need of a lookup table, with some 10000 elements. In such cases, I would have stored the lookup in a database, or a separate file at least, but because they wanted to maintain purity so badly, the solution was to write a 10000 line long Haskell file. But wouldn't it be nice if you could load a file and tell Haskell: don't worry, this won't change, so treat reads to this purely.

I never said such things were impossible, merely not easy, and I don't believe this is by accident. I am almost certain that such things are made difficult to prevent abusing such features, but that doesn't stop me from missing them :) .
Western oil companies produce all the oil worldwide.

The fracking guys are minor players.
I'm not sure if most folks really understand the nightmare we're setting ourselves up for. It's the domestic policy equivalent of drone warfare.

The western legal system was built and functions inherently on the precondition that it's people who use, administer, and maintain it. There's a lot of slack and human interpretation built into the process, and no laws are constructed such that they are enforced in a mechanical fashion. In addition, there's the premise that the folks doing the work of enforcing the laws are virtually the same as those being policed. Finally, severely unjust or unpopular laws are many times ignored by both the population and the enforcers.

All of that goes away with machine application of criminal/administrative law. The system was not built for this.
It's nice, but not amazing. Be careful with your praise or there will be nothing left for the realistic scan and exploit shown in Matrix Reloaded.
Nice feature, never heard of that before. Thanks!
SCM Music Player – seamless music for your website
Thanks for the comments @malcolmputer. It would be nice to put some description to your profile, to spare some time stalking your online profile[1].

I'm designing a prototype for an application. If we reach up to the point where optimization/PCB design is needed, I'll drop a mail.

[1] https://www.linkedin.com/in/malcolmgalland
If the US of today is "socialist", the word has lost all meaning. They can't even increase health care coverage without ensuring that corporations profit off of it, never mind the economic waste.

The wikipedia article also contains this apt observation:

"The term socialist has also been used by some politicians on the political right as an epithet against certain individuals who do not consider themselves to be socialists, and against policies that are not considered socialist by their proponents."
I don't think they've solved it.

I also switched to Chromium a few years ago because it felt way more responsive at the time. Then slowly over time it grew into this beast using over 7GB of memory for my ~50 reasonable tabs (nothing extreme, mostly articles) and it started thrashing my system.

I've just recently switched back to Firefox and opened the exact same tabs: it's using 1.25GB. It feels a little slower at times but well within my requirements of usability. I refuse to waste all my memory for some text in a browser.
Exactly, the fact that the content isn't really monitored or classified into sections makes it interesting because you end up reading about any kind of topic but the rate at which submissions are made makes it difficult to reward the best ones by putting them on the front page.

Maybe limit the amount of submissions each person can make per day...I guess it really depends on what each one of us finds interesing ;)
Do you honestly believe that the people advocating alternative plans (low carb, etc) don't understand this argument? Why just keep on repeating it?
That would break a very large number of existing scripts that depend on being able to replace a file with a traditional ">" redirection.

You can set it as the default for your own interactive shell if you want by adding

set -o noclobber

to your ~/.bashrc file. It is probably a good idea to add it after the line that check if it is being used non-interactively, which probably looks something like this

if [[ $- != *i* ]] ; then
# Shell is non-interactive
return
fi
# add interactive-shell-only settings here

While you're editing .bashrc, you may want to also add these options that are available in modern bash that I find make the experience a lot nicer.

# support new glob patterns like !(foo|bar|...)
# for example, this move everything EXCPET the .h files
# mv !(*.h) /some/dir/
shopt -s extglob

# support ** in globs to match zero-or-more-recursive-directories
shopt -s globstar

# if you're annoyed at having to type "nohup" to prevent
# programs from closing when you close the shell window
shopt -u huponexit
It does. Also kinda lost interest after reading the word Bluetooth. High latency is the last thing you want in body augmentations.
PetitParser: Dynamic Grammars in Dart
It's in the context of why cat paper* > paper.all blows everything up. Of course it's meaningless.
Are you sure that 3G license fees are paid on this phone? From my experience sourcing cheap phones this price is not possible unless you avoid the licensing.

Lowest we could go for a SC7715 was about 35$.
Refined sugar is probably the devil in the details in all of this.

As i have come to understand it, sugar in easily digestible form do not show up much in nature.

Thus our ancestors likely developed a instinct for binge eating once such a source have been found (ripe berries etc).

So once refined sugar comes along it does a number on our sub-consciousness.
My reaction was:

1) Jeez, who comments their code in a such crisis situation

then,

2) Man, no wonder he got selected. He must be a good programmer
Multiplex.js – A Comprehensive Data-Structure and LINQ Library for JavaScript
I always find munificent's essays super insightful and entertaining. Perfect weekend reading material.

Somewhat (un)related: check out his book on Game Programming Patterns (http://gameprogrammingpatterns.com/). Great read of software design and patterns (not only for game developers).
You can also do that with uWSGI: http://uwsgi.readthedocs.org/en/latest/Symcall.html
servo is a research project and will not necessarily replace gecko anytime soon.
I understand the point you are making, but it feels like employer lazyness to me. A decent employer should be able to see the potential (2) when meeting (1), at least within two or three interviews.

That lazyness can be appropriate if as an employer you have an infinite supply of very good candidates. But IMO that's a pretty rare case, and even then you have to weed out good candidates from not so good ones, and pay attention to a mountain of other non obvious factors.

Like, past performance is not everything. You might get better work from someone stepping up to a new position than a burned out veteran holding that same position for years already.

Or someone unemployed for a long time seeking back a job might stay longer than the freshman already choosing between a dozen of other companies. And even if the candidate inps not the best fit for the job, you might want him/her for diversity in your team, etc. etc.

There's so many things that could impact how an employee is doing in your job, focusing only on 'proven' skills when choosing candidates is usually a bad choice IMO. The exception would be if you don't intend to keep the new employee for too long anyway, but then that's a bad sign for you business I think.
Most awesome animal ever. Next to the echidna.
Why not leave the reason as a comment instead? I don't really see a need for a new feature.
Slashdot was/is good in this regard. You don't upvote and downvote, you give a reason, like "Interesting", "Troll", "Offtopic", "Funny".
Crystal: life after Ruby
Process per connection does not scale no matter how light weight, even with COW. kore's connection handling model is the reason apache2 mpm_prefork fell out of favor many iterations ago.

The only valid argument to avoid a single event based I/O is some sort of hard blocking I/O such as disk or non-queuing chardev.

However I'm still not biting, this is solved...and as usual the answer is somewhere in between. For example, in RIBS2 there are two models for connection handling, event loops for connections and "ribbons" for the non-queuing bits [1]. RIBS2 is also written in C for C.

[1] https://github.com/Adaptv/ribs2/blob/master/README

Edit - mention RIBS2 is also written in C
Sweet Ruby syntax + close to C speed are promised.
One may find this interview interesting: http://rubyc.eu/posts/24.
First, that was an amazing story and extremely well written! Second, the analogy it represents and your critique afterwards were fabulous! Kudos to you sir!
How do you find out the number of open tabs?
Years back down-votes were rare on HN. It was relatively easy to infer why a comment was down-voted. Now you mostly can't tell, just wonder why.
Because people who follow their advocacy generally don't understand this.
I mentioned Azure Mobile Services because (as it's node-based) it can be used to implement exactly the same application as the OP, line-for-line exactly the same.

A static webpage, that calls into a javascript based service, you can register a script to run in that service without any infrastructure hassle, because, well, it's a service.

You are right that there are many comparable Mobile Services that can do many other things and might be branded differently, but this just adds to my point: I don't see what's new here, other than that the OP has seen the light on static webapps combined with platform services.
Kore does not fork per connection.

It uses per cpu worker processes which multiplex I/O over either epoll or kqueue.
I was just thinking about this the other day. I think it'd be useful if you could specify DH{0,1,2} as reasons for downvoting (http://paulgraham.com/disagree.html), as these are essentially useless comments that add nothing to the discussion.
I'm so happy that Yo sponsored this. I can't think of anyone more fitting.
If someone upvotes your negative comment, the complete thread goes up a bit. Thats the opposite, that your want with a downvote.
It seems to try to use the same language for the "normal" expression as well as type expression. Is this an implementation of dependent types, or something different?
First time i used an ATM, one of my parents were there with me. As such i got instructions in how to do it.

I don't have a car with a built in GPS.

Operating a stereo comes back to the whole experience thing, as most of the buttons are "old". Most of the button icons to operate a CD player are the same that was used for a casette player back in the day. And likely ones first encounter with either was back when one was a kid trying to get their parent to put on some music or other.

The closest i recall to reading about coming at computing "tabula rasa" was about a computer in a wall in India. And there the kids did what kids do, they poked and prodded and broke stuff to see how it worked.

This to the point that they developed their own cultural contexts for various icons (one was referred to via some deity name because it looked like a set of drums the deity was depicted using).
This is a nice Easter egg. Though seeing that code did momentarily take me out of the story to cast judgement on the director (as I thought it was a result of poor research.) So while I love this, I wish they had stuck to something that fit the context of the story. Great movie though.
YMMV, but my impression is that downvotes are usually obvious and expected, either bad style/inflammatory or unpopular opinions in the given context (i.e. any criticism of e.g. Perl in a Perl-related discussion where many fans of the language are present).

Requiring a comment is probably less effort than all the captchas I have to solve because of Tor (many more than the number of downvotes I pass around...), but it'll lead to unnecessary meta-discussions ("he downvoted me because of foo but he's wrong because ...").
Notes won't change anything. There's a culture of comment suppression here that goes all the way up. If you've been downvoted it means that you failed to match somebody's expectation of what you should be writing. Now you're toxic and you need to be punished for the common good. Be glad you weren't also hellbanned. Yet.
The Wikimedia foundation is well aware of the problem and considers it their top priority. However, it's not clear exactly what a solution would be. The "irrelevant projects" are their best attempt at fixing the issues.

Complicating the fact is that the relationship between the Wikimedia foundation and Wikipedia is not like that of a conventional private company to a product they've built. The WMF intentionally delegates large parts of the governance of Wikipedia to the community and cannot autocratically come in and force change without community buy in.

This is a philosophical position that was established a long time ago and one which the WMF supports, even if it makes the process of change harder.
I'll admit, it took me longer than it should have to figure out why an open-source OS X package manager was getting into VC.

Cool list though.
C is a good solution for things like realtime multiplayer with lots of state, lots of side effects, etc. A lot of the modern abstractions actually get in the way, for example:

* List traversal order matters a lot when it's something like a list of monsters getting struck by a spell and the spell has complicated side effects. Brushing it under the rug with abstract iterators or functional Array.map's is a recipe for not knowing how your own game works.

* Realtime is an illusion, it really means "fast turn-based", you don't want players with fast connections to get an advantage by spamming commands and having them executed the instant they're received. You want to queue commands and execute them fairly at regular pulses. So much for all your abstract events infrastructure!!

* Certain object-oriented idioms become eye-rollingly silly when your application actually involves _objects_ (in the in-game sense). Suppose it's a game where players build in-game factories, suddenly the old "FactoryFactory" joke just got a million times worse.

I'm not saying C is the best for those sorts of applications, but it's certainly not bad, and a lot of modern language features just aren't appropriate.
I completely agree, but I feel it should be mandatory. (I've proposed this same "explain why" mechanism for downvotes a few times in the past.)

Currently downvoting has unbalanced incentives. You need a fairly high level of karma to use the feature, which suggests that it's considered a privilege. Yet, once you have it, there's no responsibility attached to the privilege.

This can make downvoting kind of sophomoric: "I was unreasonably downvoted when I was a newbie, now it's payback time!"
If you consistently have no idea why you got downvoted, then HN might not be the place for you. Learn quickly to adapt, start lurking more, or find another community without high standards for replies. If you don't read the community guidelines [1] and then complain about negative karma you are to be avoided.

If I did not get downvoted for my very first flame-y, half-assed or dumb replies, then I would have continued making them.

Wickedness and cruelty is forcing low standards upon a community and sucking away all the fun.

With downvoting comes a little responsibility: to not only reward good posts, but lower the visibility of posts that do not contribute to the quality or enjoy-ability of HN. That is why you need 500 upvotes to get downvote functionality.

[1] https://news.ycombinator.com/newsguidelines.html
Ah, good find. Bookmarking this for next time I need an example of a smart person believing something incredibly stupid.
I don't have issues with the vote system. I always understand why users up/downvote me and they usually describe at great length their point of view.

On the other hand, Reddit has an awful downvote culture.

For example https://news.ycombinator.com/item?id=9526798 I stand by my point, but I can see why a few users thought of my comment as inappropriate.
Imagine combining this with Photosynth or whatever the project was that could stitch random photos into a 3D scene.
ctrl-shift-e should open a canvas like area where you can group tabs. Similar to a file folder, I prefer it to bookmarks
I have, and it works great. And the fact that it uses Mustache-like templates makes it much easier to collaborate with the designers.
IMHO too much hubris about how we reason logically and formally led this top-down approach.

"
Our opinion, and that of the knowledge representation community, is that it is better to provide computer programs with common sense concepts, suitably formalized
" - McCarthy.

The recent successes with deep neural nets arriving at seeming reason, or a statistical approximation to it, by complex hierarchical statistical inference, bottom up from the real data.

Word2Vec suggests that neural networks come up with different representations of the data than symbolic ai but ones that have much utility semantically.

High Level logic, semantics and representations become as transformations and vector mathematics in the word2vec context space.

Symbolic AI was probably the wrong way to look for strong general AI because that is not the way meat brains really reason.

High level logic is often a justification or proof of something that jumped into ones thought intuitively as if from nowhere.

McCarthy's work is reasoning about reasoning, real reasoning as practiced by animals is probably more like the sort of heirarchical, fuzzy, stochastic society of processes neural nets use to jump to conclusions.

Both Turing and von Neumann saw that mechanical computing could be performed in two distinct ways either logically and sequentially or statistical and evolutionary.

All through AI there has been a dichotomy between embodied robotics, evolutionary statistical methods, and raw data versus hand engineered, sanitised, abstracted symbolic logic.

A hybrid approach may yield great results.
Slashdot had (it's pretty dead now, I guess) meta-moderation, which worked very well. I.e. you could vote on whether a particular rating and reason were appropriate in your opinion or not (with my 4-figure user-ID I often got 15 meta-moderation points to "spend" this way).
Microsoft's Charm Offensive Is Actually Working
It's by Nick Bostrom[0].

He's the same guy that wrote 'Superintelligence: Paths, Dangers, Strategies'[1]; which is reportedly the book which 'alerted' Elon Musk to the dangers of AI.

---

[0] http://en.wikipedia.org/wiki/Nick_Bostrom

[1] http://en.wikipedia.org/wiki/Superintelligence:_Paths,_Dange...
I'm talking about the Monad style in general, with the do notation, closures and what have you. Typically such things add an interpretive overhead, in the same way that a formatting print function adds interpretive overhead unless it is implemented with a macro, some kind of metaprogramming technique to evaluate and inline the interpretive component, or other techniques. I've read that the monadic style in Haskell has this kind of overhead, which is further pronounced with monad stacks. Is that not the case?
The more I hear about what life is like in South Korea, the more I wonder whether the actual difference in quality of life for the average person between North and South is as great as we are led to believe.
You state facts, here are some additional ones from the article:

* “people who simply dieted experienced greater weight loss than those who combined diet and exercise.”

* “You would have to walk for more than 45 minutes to burn off the 300 calories from eating just three cookies.”

* “researchers concluded, “active, ‘traditional’ lifestyles may not protect against obesity if diets change to promote increased caloric consumption.”

* “It’s calorie intake that is really fueling the obesity epidemic.”

Personally, the most weight I’ve ever lost was over a six month period of zero exercise, but with a restricted diet. (Consequences of a work assignment out of town.)

My most physically active periods (3-4 hours daily in the ocean) have been accompanied by no weight loss, sometimes even weight gain.
This is a good idea, but I would go one step further - giving a reason should be required for downvoting, but not for upvoting. Praise is always more effective communication than criticism. Especially as more members join this community steps must be made to prevent the toxic downvote-to-express-kneejerk-disagreement culture that pervades Reddit.
Very interesting project. They show a few "failure cases" at the end of the video; I'd be interested to see a few more of those. The ones they showed really didn't look all that bad.

I wonder what the copyright on such a timelapse would look like?
What you're describing isn't clear. I assume you meant to say "If someone comments on your negative comment ..." otherwise it appears you're describing how upvotes are generally expected to work.

I expect HNs algos could spot such a comment thread quite easily (thereby avoiding what you've described). That doesn't require a new user feature.
The best solution to all the questions posed by sceptics about the Abbottabad raid is contained in the book Osama's Angel. Why the Pakistani doctor was hung out to dry by the CIA. Why a burial at sea was chosen to disguise the truth. Why the DNA identification was unreliable and lastly and most importantly, why did the US administration send men to fetch the man when a missile from a drone would have killed bin laden and done everything a burial at sea did, without risking American lives.
Why was no attempt made to capture the single most valuable source of information available?
Why was a helicopter filled with SEAL Team 6 soldiers shot down shortly after the raid and why is the usually most secretive American combat unit publicly squabbling over who shot bin Laden?
The story is much more convoluted than Seymour Hersh believes.
I think the main point of the article is that the algorithms are applied without deference to real world conditions or impact.

This particular example appears to be a serious violation with the Americans with Disabilities Act, which I have noticed often falls by the wayside when developing many systems like this. In this case the humans deferred to the machines the decisions, most likely because the administrative regulations say so and leave no way to get around it "manually".

I have myself encountered these sort of issues, at one point many years ago I stopped filing for unemployment because I had found a job, weeks later a computer decided that my job search records needed to be audited for the period I was not filing, and if that didn't fly, they would want the last 6 months of UI back. I filed a blank form with a letter saying I was employed and who to talk to to verify that. This was based on advice of the employment department. There was no process for this, so a blank job search form was entered and nothing else done, I then was subject to collection actions, appealed and an administrative law judge interviewed me, and determined the collection was in error. A year later the employment department stopped many of the practices.

We should not blindly defer to machines, the more we do, the less we know how to, or have power to, correct situations when they go out of hand.