skysight-inc/HackerNews huggingface dataset:
As a Haskell User, ....yes I can totally be a non-productive artist, but I can also bite my tongue, disable the language extension, and get shit done too :).

Consider from other perspective. Yes there are some pretty crazy libraries out there, but I assure the more (in)famous are indeed used, and used practically by much of the people who do, let's say, work professionally in Haskell. Now maybe that does create an inner-circle trap that impedes broader adaption among developers, but the services/app/executables do get made.

The thing that bugs me about OCaml is many of the flaws are just so damn simple-stupid. Not module limitation, but == and friends, let's say (to use things from link). I respect the ML tradition, but I think Rust is going to eat OCaml's lunch on the pedagogy/developer-mind-share front.
Hence the name of 2600 Magazine.
Most interesting bit is in the end:

An investigator for the Connecticut Lottery determined that terminal operators could slow down their lottery machines by requesting a number of database reports or by entering several requests for lottery game tickets. While those reports were being processed, the operator could enter sales for 5 Card Cash tickets. Before the tickets would print, however, the operator could see on a screen if the tickets were instant winners. If tickets were not winners, the operator could cancel the sale before the tickets printed.

Lack of atomicity of the operation is the key here.
If thinking about ownership of orphaned data is horrible, that still doesn't mean that there is no general solution.

I can't support your argument, because I'm not capable. If I was, I probably wasn't asking in the first place.
I'm a huge fan of credit card points hacking. I've probably redeemed over $100k in free travel in last 4 years between flights and hotel stays. The avg user acquisition cost for these issuers must be over $800-$1000
Introducing Google Stackdriver: Unified Monitoring and Logging for GCP and AWS
I think it's hard to argue that Google is in the wrong by not wanting to rely on std::bad_alloc for dealing with OOM.

> Google's C++ standards also teach people that it's okay to use the STL and not worry about allocation failure, which hurts program robustness generally.

Actually, I think making std::bad_alloc call std::terminate improves program robustness by a lot over trying to gracefully recover from all allocation failure. Certainly it reduces security vulnerabilities.
Could the reality be that storage needs for the average user have plateau'd for a combination of reasons such as network/internet speed limitations, rise of cloud computing, rise of streamed movie subscriptions (netflix, etc) thus muting the financial benefit to develop new technology to drive exponential drive storage technology forward. I think once we have a reason to grow our storage again, we could see storage technology pick up again.
Digitally Imported (http://www.di.fm/)

They have great stations, some nice liquid DNB will get you into flow
You could also ask what ended the kink. The timing looks like it matches up with the Thai floods, which killed price decreases for years afterwards. The experience curve means you need bulk to achieve improvements, and the floods shattered a key part of the supply chain.
I'm a fan of experimenting with voting systems, and as this never happens, i'm always disappointed. I think it would be great if the order of comments was always random and scores were never shown (I don't care what people think of other people's comments; how can an opinion have a score? the very idea is preposterous). It would encourage people reading more comments, and not being either fearful of losing points or posting comments just to get a higher score.
How to Apply for Adsense and Get Approved
Egan doesn't sound like the stuff you want to read when your brain is not in a great shape :)
Yes, yes. I wish we had https://www.mpi-sws.org/~dreyer/papers/mtc/main-long.pdf too. http://plv.mpi-sws.org/backpack/ and http://www.lpw25.net/ml2014.pdf will bridge the gap between OCaml and Haskell from both sides, but I know of no plan for doing something about the rather embarrassing facepalms mentioned in the OP.

At least most of Haskell's facepalms are in the std library, not the language (monad fail, applicative monad), which makes there after-the-fact remedy slightly less herculean.
You have just persuaded me to give Rust a try... I like the idea of an advanced programming language with a pedagogical bent, that still allows me to get shit done. Since you seem to be a functional guy, the fact that you respect Rust is a selling point for me.

EDIT: oops - no REPL in Rust. Big hurdle for a data-science guy like myself. Scala/Ocaml/Haskell: all have REPL. That's also a big impediment to the pedagogical angle.
I think the author means raw pointers to memory addresses, rather than pointers to variables/objects.
This question requires either understanding or experiencing physics: gravity (a force that can cause objects to fall) and properties of glass (brittle) and iron (not brittle). The question also contains certain assumptions. For example, that the (hollow) glass ball is smaller than the (well-constructed, non-rusty) iron table. Lastly, answering this question depends on a deep comprehension of English combined with complex memory abilities.

If someone has solved this particular type of problem (Winograd Schema), I'd be keen to know.

https://www.cs.nyu.edu/davise/papers/WS.html

https://en.wikipedia.org/wiki/Winograd_Schema_Challenge

http://commonsensereasoning.org/problem_page.html

http://spectrum.ieee.org/automaton/robotics/artificial-intel...
Just sell him some inn-sewer-ants first. ;)
No, it's pretty unique to the Costco business model that they can do that. (Costco is not a "typical" retailer.)
I suspect it's the same reason we use thin propellers for moving boats through the water rather than strapping a bunch of prosthetic limbs to a motor.
Can someone enlighten me as to why the first snippet has a data race? Won't the resulting array become [2,3,4]?

let mut data = vec![1, 2, 3];

for i in 0..3 {
thread::spawn(move || {
data[i] += 1;
});
}
After 3.5 years at an enterprise software shop in Atlanta, I was making 80k. This was in 2010, and I'd been working there since graduation. My skills/value had advanced much faster than my comp. I left for a new role in NYC with a base salary of 150k and a bonus of 75k (225k total). Quite a bump overnight.
Note that this article is 2 years old.
> lack of demand for storage

and in turn, demand for storage is slowed by lack of need for storage.

The real question should be: Where's my 4K video? My 10-bit-channel images? My lossless audio?

Yes they are here but not nearly as common as content delivered in ancient formats from over a decade ago. For example go on a wallpapers subreddit, the vast majority is still in 8-bit 1920x1080 JPEG. Video is still mostly 1080. The leading music services still deliver in 2-channel lossy formats. And this is 2016.

Most of this I suppose is because of the general slowness of the internet and the usage caps in many areas of the world.

So maybe improve internet service -> create more detailed content and let people save it -> people will want to demand more storage to store all that in.
It's even worse than TCP/IP only, it's mostly HTTP only these days. Things like SCTP got pushed into niche use and we're reinventing SCTP on top of HTPP(2) on top of TCP on top of IP.

I'm hopeful to see the trend go back though, if it's really a circle :).
You say browser cache always goes on the SSD (I do that too, whenever there's no configuration to put it into RAM, which I prefer). Aren't you concerned about wear? If you stream high resolution video files from, say, youtube or twitch, you write gigabyte after gigabyte into that SSD.
nice old-time "slashdotting" jargo, though I doubt that Slashdot does any slashdotting anymore (sadly). "HackerNewsing" just doesn't do it, does it.
I feel like you need to do a lot more research into this.

There's a reason that the highest value cards don't generally offer more than around ~2.3%. You do not receive 2.9% on every transaction, and you need some of that margin to cover your expenses.

It seems like your business model is somehow trying to market your customers to transfer partners in exchange for better rewards, but that's just not how it works. The merchants are generally the ones in the driver's seat. As the article points out, they have relationships with customers and they're the ones actually offering compelling high-end rewards. All you are is a random other issuer—you have to compete to get them, not the other way around. (AmEx just lost that competition to Citi.)

If you're targeting higher end purchases, the 30 cents is meaningless.
I don't think that there's any guarantee in Rust that malloc failure will abort rather than panic. That just happens to be the current implementation. I'm not sure I've ever heard of anyone running into that being an issue in practice, as opposed to this kind of abstract discussion. But I think that it wouldn't be considered a breaking change to switch from aborting to panicking if there were any kind of demand for it.

In Rust, exceptions (panic) are used for truly exceptional situations, like programmer error (indexing beyond the end of an array, division by zero) or things that practically are not expected to happen in a recoverable way in the course of ordinary use, like malloc failure. On modern virtual memory operating systems, malloc failure is so unlikely, and in application code there's so little you could reasonably do if it happened, that it is considered be a truly exceptional case.

On the other hand, Result is used for those kinds of errors that are expected to happen in practice even with working code on reasonable systems. IO errors, errors decoding UTF-8, etc.

Right now, catching exceptions (panics) using recover() is still considered unstable. There is some work ongoing to try and work out the API to help ensure safety, by marking types based on whether they are exception-safe or not; so you can use recover() with types that are built in an exception-safe way, or you can wrap types in AssertRecoverSafe to assert that you are providing exception-safety guarantees yourself, but you can't just arbitrarily recover from panics in code that has access to arbitrary data without someone having added an annotation somewhere that they believe that the code is exception-safe. https://github.com/rust-lang/rust/issues/27719 Note that based on the latest discussion, recover() will likely be named something else involving "unwind" to be more explicit about what it's doing.

And exception safety is quite important to the Rust authors. Note that Mutex has a built-in exception safety mechanism, poisoning the mutex on panic so that other users can't accidentally access the protected resource without being aware that another thread panicked while holding it.

Now, there are times when handling memory allocation failures properly is more important, such as in embedded systems or in operating system kernels, where you don't have a virtual memory abstraction with over-provisioning. However, in those cases you couldn't use the standard library anyhow, as the standard library depends on OS support; so you might as well use alternate data types that do return Result on allocating operations.

I'm just not sure about the utility of providing a convenient way to recover from malloc failure in applications running on virtual-memory operating systems. Can you show me an example in C++ (or any other language) where this is handled properly in application code in any way that doesn't simply log and abort, in which all unwinding code in the same application also avoids allocation as it may occur while unwinding from an allocation failure, and in which these code paths are actually tested in the test suite to ensure they behave properly?
The rush to attribute blame to something technical and pass a quick fix law is obviously a tactic to draw attention from the real question:

Why did the authorities so utterly fail to protect us ?

The facts remain:
'Europol' knew ~400 radicalised EU citizens were at it.
Turkish Intelligence gave the bombers name to the Belgians - seemingly ignored.

The Belgians, before the Belgian bombs, interrogated the French bomber for only an hour, seemingly fruitlessly.

This echoes previous tragic incidents where the vital intel was known and passed on but seemingly ignored or lost in the noise.

For instance the Boston bomb where the older brother was known to have been radicalised at training camps by his ethnic government but the intel was not properly utilised by the American authorities who had him on their books but ignored the intel and seemingly considered him an 'asset' working for them.

Or the Paris cartoonist deaths, again a radicalised native, known to the authorities to have been radicalised in jail when as a young drug dealer he was incarcerated with Al Quaeda's no.1 european recruiter.

Where are the calls for a public investigation into the near total failure by the intelligence services to stop any plots they haven't trumped up ?

They have near total electronic surveillance at great chilling effect to freedom and great inconvenience to the economy yet still fare worse against unsophisticated plots than we should expect.

"Perhaps the real secret the spies don't want anyone to know is they are not very good at their jobs."*

<sarcasm> Yet of course our protectors were flummoxed by 'burner phones', that no-one could have suspected (despite this been the MO of previous Euro Islamist Bombers - and a entire season of the Wire). If only we made something else illegal we would have got them... </sarcasm>

Perhaps mindlessly handing more power and budgets over to these morons without any public oversight is the problem.

We need real police, real detectives, acting on intelligence not more of the same.

[*] http://www.bbc.co.uk/blogs/adamcurtis/entries/3662a707-0af9-...
Not all modern art is devoid of artistic skill. The good photorealists are pretty amazing [1]. Richard Estes is my favourite [2].

1. https://en.m.wikipedia.org/wiki/Photorealism

2. https://en.m.wikipedia.org/wiki/Richard_Estes
On pastrami and the business of PLOS
Surveillance Is Power: The Information Advantage
I recently ran into the issue that the multiprocessing.pool.ThreadPool class is not cancellable in Python 2. It seems that only in Python 3 can you exit a ThreadPool with eg. a KeyboardInterrupt before all tasks are finished.

Since then I've been using this code, which works great across all platforms and Python versions: https://github.com/metachris/pdfx/blob/master/pdfx/threadpoo...
Genome sequencing an entire species. First 40 kakapo genomes announced
Instead of using the right tool for the job on side projects I use technologies that will benefit me in my real job. For example I wanted to go fr java dev to nodejs and I used it for side projects that were also used as portfolio
Not very likely.
While quotemstr's reaction is over the top, I do see the need to have a memory allocation approach that can handle OOM gracefully. Many types of software that could benefit from Rust's compile-time safety will want to allocate right up to the limit of available memory, such as audio/video processing software where more memory equals more simultaneous effects and less I/O.

I am endlessly frustrated by poorly designed audio software that aborts without saving if an OOM occurs. At the very least, a process should have the oppprtunity to save its state to disk, or ideally continue operating at a reduced capacity (e.g. a video codec might use fewer reference frames) after freeing some resources.
Ask HN: How do you cope with quickly fading interests?
Hello,

I am currently studying computer science and mathematics at university and still figuring out what I want my career to look like once I get my degrees. The problem is that the things I find interesting today are not the things that I will find interesting in a week.

Two months ago I could not stop thinking about differential geometry and was sure it would be awesome to do that kind of research. Two weeks later and all I thought about was deep learning and convoluted learning. Then a month goes by and I find myself in love with zero-knowledge proofs and crypto, or learning how to build a home studio to record some music, or buying wood to build a DIY skateboard.

I believe this can be problematic as I will not be able to deepen my knowledge in any of these disciplines and then make a living out of one of them.

Do you have this problem? How do you cope with it?

Thank you very much
Even then you can have a GC. It just has to be conservative and non-compacting. Even C/C++ have a GC via boehm-gc, a LIBRARY that implements garbage collection!

(This is why I love C. No other practical language can claim to be able to implement a full-fledged GC as a library.)
"The I put all the information I don't want to lose in dropbox." I don't think its healthy to consider cloud storage backup. For example I am pretty sure you could loose everything to Ransomware.
Conversely, if you're a responsible driver then it prove that you are in the right.
> They use these non-arbitration clauses, and they are always right.

What do the clauses look like? What does it mean that they are "always right"? What is the consequence of this rightness?
As a celiac myself I welcome the new technology. However I doubt that I would use this myself, as it is often quite easy to figure out if something is gluten free, in my experience. But of course it could be beneficial in some cases.

Also, the new "gluten-free" diet fad scares me, and I hope this does not become yet another thing they use to fuel their illusion of health.
Besides the definition you know, "organic" is a certification label used to brand crops grown that meet certain standards. Not using chemical fertilizers or pesticides is one of those standards[0].

[0] It's more nuanced than that, but it's good enough for this explanation.
Forgotten audio formats: The Highway Hi-Fi
Not gonna lie, I made it through the first chapter of Schild's ladder - slowly, but at least I tried. Then I tried reading the second chapter, and that's when I realized I should just save it for when I'll better appreciate/remember it..
>Like all good developers, rather than attempt to build it myself, I had a good look around to see if anyone else had attempted the same thing, and it turns out, someone had. Unfortunately, the example I found isn’t open source, so we had to build it ourselves.

I came across an open source (MIT licensed) project to draw these kind of charts a few years ago: https://github.com/bhagany/nchart

(The algorithms used by nchart and d3-layout-narrative are not the same)
The most common I see is 1/4 i.e. 1 year cliff and 4 years vesting.
Ask HN: Why we still typing our credentials to login?
Instead of scanning QR code for instance? The idea stroke me some time ago, spent few hours drawing prototypes but then found an existing service http://www.ekaay.in/

Why Facebook/Google didn't implement such a feature yet?
Let me interpret the situation in managed languages from a Rust programmer's lens: All managed resources are actually owned by the runtime, and merely borrowed by your program. Thus, killing threads is “safe”: no managed resource can possibly become orphaned. The result is very pleasant as long as your program only uses runtime-managed resources. But things quickly become hairy when you want to use foreign libraries (typically written in C, or exposing C-compatible interfaces), because it's very difficult to arrange things so that cleanup routines are guaranteed to be called before your thread is killed.
ThreadPool would lock the GIL, wouldn't it? I think multiprocessing.Pool uses processes and that's where you can avoid the GIL (each process gets its own) at the cost of making data sharing harder.

Even with the GIL, ThreadPools are still fine performance-wise for tasks that release the GIL such as I/O or a number of functions in numpy and scipy.
Thanks, will check this out.
Do both of you have the same clause? I would get a lawyer
What's the difference, in practice? Just the fact that you can do pointer arithmetic on the former?
Ivory and otter foot, together at last.
This is a good reminder to assume that anything you contribute to any database will potentially be used against you. This is the biggest problem I have with the idea of electronic medical records: they create the potential to be caught up in a future "fishing expedition" by authorities whose motivations are not in your interest.
Games are more like web products than you think, I'd say. If you come up with a game-stack: 3d engine, netcode, the works, that vastly outperforms a game like League of Legends, that does nothing to threaten them either.

I'm not siding with this notion that Twitter (or webdev in general) is ahead, mind you, but it's fair to say that neither websites nor games are about selling software. They're more about entertainment.
Ask HN: Anyone else getting frequent DNS resolve errors on the web lately?
Not a tech support question, just curious if others are seeing this. It seems that lately every 1 out of 5 or 10 requests fails due to a "DNS server address error" according to Chrome. I thought it may have something to do with my setup or connection but I'm hearing from other people at different locations experiencing the same.

I'm starting to think that Cloudflare could be the root cause, and since so many sites depend on it a lot of the web suffers from it. Thoughts?
Artificial Gills to Breathe Underwater: A Million Dollar Scam?
There are a wide variety of keyboard layouts in use in Europe, and a quick investigation suggests few include ½.

What country are you from?
How long does it take for them to subpoena you? That is if I were in an accident, and they don't physically confiscate the memory drive, could you extract any video that supports your case and delete the rest before they request it?

I figure this happens with police dashcams and bodycams all the time.
Great! I am a functional programmer at heart. But I definitely have masochistic system programming tendencies, and Rust is a good outlet. I have high hopes for Rust to be the gateway drug to the world of good languages. I do which it was more powerful in some respects, but it's definitely slick. There's plenty of really head-shaking mistakes in OCaml that everyone will run into from day one, that, like the OP, I can't imagine why they were made in the first place. Rust doesn't have those.
I'd appreciate comments from someone who follows this research about what John Hawks says about ancient DNA studies and their recent findings. I get the impression that he is reaching some different conclusions from the author whose essay was kindly submitted here.

http://johnhawks.net/weblog/reviews/neandertals/neandertal_d...
Oh,

I might add, the vast majority of prepaid cell phone use is not criminal use [citation needed]

I'd be willing to wager the vast majority of the use of most things currently being argued (encryption is the hottest one right now) is not criminal.

So you want to force the majority use to give up their privacy and trust every retailer of prepaid phones with their personal information, because of the fringe cases of criminal use?
I just found a great signal for filtering people I do not want to date. PITA celiac and their wannabe friends, please buy this!
Modern SSDs will survive hundreds of TBs of writes, sometimes even PBs. Techreport did a long endurance test with multiple drives:

http://techreport.com/review/27909/the-ssd-endurance-experim...
"All of the drives surpassed their official endurance specifications by writing hundreds of terabytes without issue."

I expect to upgrade for increased capacity long before I reach that.
The name can be arbitrary, as long as it's unambiguous. By the way, here's what mathematica says when I copy paste that and enter x∘y: SmallCircle[x,y]

Also fun:

In[3]:= SpokenString[x\[SmallCircle]y]
Out[3]= "SmallCircle of x and y"

Which can be turned in to sound:

Speak[x\[SmallCircle]y]