skysight-inc/HackerNews huggingface dataset:
If you were willing to allow for potential escape characters and acknowledge (to the user) the fact that the path might not have a file name, you could write:

println!("file name: {:?}", path.file_name());

or just for escape characters, but only if the file name existed:

if let Some(name) = path.file_name() {
println!("file name: {:?}", name);
}

Note that the unwrap() isn't boilerplate, in either case: if you are using `unwrap()` you are implicitly saying that you know for a fact that the file name is present (the first time) and a valid UTF-8 string (the second time), which isn't guaranteed in the general case on all platforms. If you wanted to write this more robustly, and these weren't guaranteed, you would need to explicitly take care of those cases.

I/O has lots of tricky error cases, and Rust usually requires you to acknowledge that. You can avoid dealing with those cases with unwrap(), or you can explicitly handle them. Personally, I much prefer this to being surprised only when the weird error case unexpectedly turns up because I never considered the situation in question, and that's generally how Rust handles things, but it depends on the task. It may make Rust less appropriate for quick scripting tasks, for example, where the domain is well-defined and the script is not likely to be reused (but I find that those scripts have an annoying way of getting reused anyway).
That's most definitely not true. I know a hawala company that has offices in several western nations like the U.K. and Australia and they're not operating illegally to my knowledge. They essentially work like Western Union and simply operate in markets Western Union does not serve.
I'm torn on this. I've spent nearly the last 20 years in some form or another in academic/research computing.

On the one hand, attitudes like the third reviewer's are a primary reason for the state of HPC today, where new advances in research are just as often finding a way to run 30 year old code on a modern supercomputer as they are writing new software to take advantage of the fantastic array of new hardware. The number of times you hear "sorry, we can't change that. Livermore wrote that 15 years ago, and nobody knows how to change it anymore" is enough to drive a rational person over the edge.

On the other hand, the state of academic peer review being what it is, I don't fault the reviewer for suggesting the paper be resubmitted using more common methodology. A conscientious reviewer has a lot of papers to review, and spends a good amount of time on the ones that aren't written by crackpots. While the author was of course fully in their rights (and may even have advanced the field) to use their own software written in a relatively uncommon language, for the results and methodology to be understood, that's asking a lot of a reviewer.

I'm genuinely unsure as to how I would have responded to the review request. I have much sympathy for both people involved.
Oh, suspicion of Comcast is fine, and entirely reasonable. But suspicion when the evidence points elsewhere is less so.
Show HN: Basic voxel engine in WebGL/JavaScript with full source
Identifying and Disrupting Crypto-Ransomware (and Destructive Malware)
Presumably you mean String/&str? (~str hasn't existed for a long time.)

On the contrary, the lack of the string/string-view distinction is widely considered a flaw in the C++ standard libraries. C++14 introduces std::string_view to correct it. Rust's String/str distinction is just the same as C++14's std::string/std::string_view.
Right. What I meant was that I don't think it was vulnerable to a meet-in-the-middle attack (which makes it trivial to crack) on purpose.
While I'm all for having DNT's default set to ON, how much does it really change?

Is there really any impetus for companies to not track you when you send a DNT header? Is there really any governing body that enforces it in any meaningful way?
Modular brains help organisms learn new skills without forgetting the old
> See, people who write "bad" algorithms already get punished by the market and lose money.

You've misunderstood what is meant by "bad" algorithms. They aren't universally "bad". The vast majority of the time they make a ton of money. The problem is, the reason they make money is because they have limited safe guards that protect it from doing something stupid 99% of the time, but the remaining 1% is left a mess in order to ensure that 99% of the time they execute faster than the next guy. Unfortunately, they are an increasingly dominant force during that 1% window because they are a few nanoseconds faster to make a trade the rest of the time.

> What would a regulation against "bad" algorithms even look like?

You don't regulate the algorithm, just like you don't regulate against bad traders. What you do is set the rules so that the risks & rewards favour a healthy ecosystem. If sub millisecond trading yielded no benefit, it'd do a lot to prevent problems.
Taglines are hard. I tried to make the tagline more "end-user friendly" instead of focusing on the tech. The people who implement it actually don't need to know how it's made. They just drop in the .js the .css and send their data to the REST API. They don't need to know that the database is Redis and that the server framework is Go.
? For the most part, they tend to be the ones who lose.. so they've already given them back.
"Google it up if you want to: NQ Vault. I don't wanna link it form here."

Please do link it, if only to put your readers 1 click away from giving it bad but honest ratings. Do this also for search engines to find and associate your post with the app. Such bad software needs to be exposed. So here it is: https://play.google.com/store/apps/details?id=com.netqin.ps
In this example the dichotomy is between String (which is guaranteed by the type system to be valid UTF-8) and OsStr (which might be in an unknown encoding or otherwise not decodable to valid Unicode).

This is exactly when you want a systems language to require explicit conversions, rather than converting things silently and possibly losing or corrupting data.
Composer, Collaborative Notes from Dropbox
Absolutely fascinating. I'm sure I'm biased by my own philosophy, but this seems to be a good reminder that for all the flaws in capitalist economies, a centrally planned economy really just doesn't function. Also a good reminder that strong individuals can adapt with creative ideas that will always be one step ahead of the central planners.
How are they still trading? I am seriously asking, what sort of thing would cause them to be de-listed?
Sorry for ignorance, I don't know what received headers are.

Would the same apply if the email you sent is "forwarded" automatically to another email address that you are unaware of?

Or by received headers you meant you get a reply back from the celebrity?
That's not necessarily true. Some of the stability comes from the bindings and interface between v8 and node. So updating v8 could temporarily decrease stability.
Good job, guys! This is an exciting language. Really happy about the "native" language revival going on lately.

I'm reading the docs, and they say that for I/O, use the 'old_io' module, which is...deprecated?

If I were to start doing any I/O in Rust beta, would that code be essentially throw-away as soon as the 'new' io module lands?
I completely agree with that. Normal kid things sound incredibly boring :)
woot! congrats to everyone who contributed for a really big and important release!
If you're interested in a student's perspective on a Sudbury school, I went to/help to found one from 7 to 16. My email is my username at gmail if you have any questions.
Really? Its Microsoft's fault? I totally agree that "Don't Track" should be the default. I get the new proposal as well - but to say that they somehow set it back is BS.

What is holding it back is that there are no teeth to it - no laws that you must respect it - and lots of rewards for ignoring it. That's what needs to change.
For me, both are horrible. I use Stata a lot and thought a lot about switching to R (there is even a nice tutorial by Matthieu Gomez at http://www.princeton.edu/~mattg/statar/ ).

However, I believe that moving to R is not the answer, as you will still be riddled with a lot of the problems that you faced in Stata such as a quirky syntax (except backticks. I hate those backticks). Maybe Python will catch up (I doubt it, what we need is a DSL, not something too general that requires loong commands to do a simple regress). My best bet would be Julia, but it's still a long way to go regarding things like missing values.
Nissan CEO: We will have an autonomous vehicle next year
> Although technically true, the misleading part is the stockholders being talked about are algorithms, not people.

That was on purpose though. The title was meant to be deliberately misleading to highlight the fact that what we think of as "stockholders" is wrong: increasingly, the "stockholder" is an algorithm.
Show me a top-tier musician, and I'll show you someone who could write a book about self-discipline, pursuit of excellence, and working hard even when they don't feel like it.
They should absolutely not say to use `old_io`, that must have slipped through. New IO has fully landed, you can't even use `old_io` in the beta. Which page? I'll fix it right now. :)
I assumed it was intentional.
Don't use a language that doesn't provide you with the tools to handle it?

I don't have many issues with concurrent code in Clojure, or C#, or Go.

But in pre-1.8 Java or Python or Ruby or C++, I'm guessing you're going to have a really, really bad time...
Show HN: Noodle Fuel – Learn something every day
No, I've been programming javascript just as long as any server side language I've used that was OOP oriented.
You hit the nail on the head with the position as a deficit country: Greece will have to solve that whether it stays in the EU or not. The question is which way to achieve that is harsher: the political force of the EU, or the market force Greece will have to endure when it goes back to its own currency. I think the latter will be harsher, since nobody has any incentive to keep Greece afloat other than if it generates a personal gain, whereas if Greece stays in the EU then countries like Germany have a greater interest in keeping Greece afloat to prevent destabilization of the EU. Therefore they will funnel money into Greece at rates that have negative return on investment if you look purely at Greece, but which will have positive return on investment if you factor in that it keeps the EU stable. The market however, has no such incentive.
Actually I believe it was added to PS 4.0. Probably improved upon since then. So you can dig up an ancient 90s high quality inkjet and PS 3.0 to copy money if you really want to.

Or you could do what the really clever criminals do and just go into banking and finance.
Politics and "what it may mean for the future" talks aside, are there any API / performance / engineering differences between io and node today? I mean, there's a lot of talk regarding why joyent is bad or how joyent did nothing wrong, but from a js user's point of view, I'm rather more interested in the tangible non-human differences in node and io.
Don't forget that as the OP pointed out, they tested on direction rather than magnitude; if the losses from the predictions where it got the direction of movement wrong are big enough it might be no edge at all, or a negative ROI.
I would say it is familiarity, but in another sense. You can use something like

path.file_name().and_then(|f| f.to_str()).unwrap()

but that really doesn't buy you much.

Where familiarity comes in I believe is in what that line communicates to me: There might not be a file name (like having '/' as path), and that getting a string slice out of it might fail (the kind of string the platform uses for paths might not be UTF-8 compatible).

Plus, the unwrap()s tell me that whoever wrote the code considered it an assertion failure if one of those is happening.

I read a lot more Rust than I write, and it really helps that the code communicates a lot. And with knowing about OsString/OsStr beforehand, I only had to lookup when file_name() returns None, the rest is rather implicit by convention, or familiarity.
Generating a novel sort algorithm using Reinforcement Programming (2010)
Claw machines are rigged
Packages.

They can be built by a single prof/grad student.

They can be used by anyone based on R's package-manager GUI.

Research in most fields is going to move more quickly than any software team can add functionality to monolithic programs like SAS. Therefore, most functionality becomes available only in R. Users - people who want to run specialized-domain-function-X on their dataset are best suited by learning R, then using their colleagues packages.
> As a result, DNT will not be the default state in Windows Express Settings moving forward

I always disable all of Microsoft's "on" settings when installing Windows, as they usually try to pass some sneaky stuff by me, and even if I don't fully understand what something does, I feel safer having disabled it.

As for the DNT option, I've never really cared for it, as I never use IE for anything.

But my point is that Microsoft tries to hide these "user choices" in its Express Settings when installing Windows, so of course this doesn't reflect people's true choices.

Now if only Microsoft approached their "default settings" there in the same way, and didn't assume stuff like "you want to use a Microsoft account, rather than a local account, don't you?" (This is actually represents two of the top 3 request in Windows 10 user feedback in the Security section - not requiring a Microsoft account by default).

https://windows.uservoice.com/forums/265757-windows-feature-...
That's what Osiris said...
React Native: a week later
Ancestry.com is quietly transforming itself into a medical research juggernaut
Iranians Celebrated in the Streets After Negotiators in Lausanne
Swagger Founder Makes Commitment to Keep Project Open
I think you answered your own question: "...SAS, SPSS etc which i just didnt have the budget for... I happened to find R as it was a freely available..."
People's attitudes towards open source changed, no doubt thanks to vendors like IBM, Oracle and others, who embraced R (and open source as a whole).

Also, R Studio has made the entry barrier to R very low...
1) It's free.

2) CRAN, nothing like it for SAS & SPSS.

3) Early adoption by book authors. A whole generation of data scientists were taught in R.
I disagree I think. Non tech-savvy people, who don't understand the legal implications of default DNT or don't even know that they ARE being tracked, are precisely the reason why the user must be prompted. You'd never get a site-blacklisting to hold up in court otherwise.
Relevant xkcd: https://xkcd.com/937
A civil war happens precisely because there is no strong government. It's completely bizarre to claim that there's no link between the two.
Turn Your Android Phone into an Apple
Using XOR is terrible. The fact that they only apply it to the first 128 bytes of the file is even worse.
I don't know much about SAS or SPSS, but do they really not have a usable package/module system for code reuse? Or is it just not as good as R's?
As far as I know (I'm quite new in Node), io.js wants to join the ES6 pretty soon, and most of the developers have gone to io.js from Node.js. So, while there might not be a big enough difference right now, if they continue separated there will be soon enough.
It's worse than that though. Most of the algos see the PR, and then look for arbitrage opportunities created by it, but also use the stock price fluctuations as a signal for sentiment. All you need is one algo to stupidly misjudge sentiment and you create a thundering herd.
NQ Mobile buys cheap installs in under developed countries where there are no in app purchases (Or very low).

The same technique is followed by several Chinese mobile companies. I don't think its well understood why these companies are buying installs and where the money is coming from.

Here are the top ten Tool in India. 8 of 10 are by Chinese companies (Primarily by buying Installs. I am not saying all of them but most of them are). India and China have Conflicts.
Tools is one category that require scary permissions.

http://i.imgur.com/3JGtnre.png
Trans Atlantic Slave Trade Visualization
The Space Potato
This is something that, with "luck", will come up in our lifetimes. I expect that if China lands robotic miners on the Moon and starts harvesting helium 3 and sends back canisters of it to China, or if someone figures out how to create permanent presence on the Moon without cooperation from other nation-states, it will bring that issue to the forefront.

It was also an interesting question for me with the asteroid mining startups. If you land on an asteroid and extract its platinum, can you keep it?
Node.js current uses an unmaintained version of v8. io.js v8 is more up to date and they seem to have a better relationship with Google v8 team.

If you look at the git history of the two projects, the Node.js project contributions have slowed down drastically, while many of the active developers have been contributing to io.js instead. This means more stability in terms of bug fixes and also more features
So the overall goal is to reduce the footprint of each users machine/application as much as possible within a larger aggregated pool of resources. I see Unikernel as one potential way of reducing the amount storage/memory each user or application needs.

With containers, you can do RAM deduplication under some circumstances, and you can get a lot higher resource utilization doing that, but I think we can always do better, and so that's kinda why I have my eye on unikernels (also because unikernel seems like a reasonable way of squeezing more performance out of systems in some cases).
Bad example, but my point holds.

Transducers aren't performance improvers, they're an abstraction over the process of iteration. They actually degrade performance in the absence of a particularly smart inlining compiler.
It's interesting hearing complaints about GIMP from Photoshop-using friends. They're mostly the same complaints I had trying Photoshop. It's clear to me the problems are more experience than legitimate issues.
Correct. We work in Uganda without problem doing wire transfers for funds in/out. There is nothing particularly problematic about this for Uganda unlike some countries we work on.
This reminds me of watching recordings of Notch programming sped up several times.
How to Talk to Your Friends About MicroServices
Ask HN: Should I use GitHub Gists to embed code snippets in my blog?
I largely work in SQL and my web development skills are limited to installing an Open Source CMS and theme.

I have been considering embedding all code samples in my blog using [Github Gists](https://gist.github.com/).I notice very few of bloggers I follow use gist to embed code in their blogs. For example very few bloggers on [Planet PostgreSQL](http://planet.postgresql.org/ "Planet PostgreSQL") use gist.

I would like to use gist because I would like a central place to store all my code samples and I can use git to version control the gists. I am tired of installing CMS plugins to highlight code samples.

Why are so few bloggers using gist to embed code? Do you have any reasons why I should not use gist for my code snippets on my blog?
D3three: 3D Visualization with D3.js and three.js
Ah, right, I am wrong on both counts. Thanks for the pointers!
Even if F-35 fails it won't really be a failure, because all the R&D investment paved a way for a new generation of fighter jets. It's not a faster horse, it's a car.
To add to the other comments, Rust prefers to make error cases explicit. We have memory safety. You can opt out of it, but you have to opt out explicitly. We have exhaustive match. You can use a wildcard, but you need to explicitly do so. We have nullables and Results. You need to explicitly acknowledge the error/null case, or use `unwrap()` to say that you don't mind a panic at this point.

This leads to verbosity at times, but usually its a good verbosity.
Clever name, Peter. :)

Btw, I noticed a missing "c" in the "url -X POST" example on this page of your docs:

http://autocompeter.readthedocs.org/en/latest/api/#bulk-uplo...
This is awesome I love it, I wonder what are the API limitations?

Is there a way to recommend more repos depending on what I've already starred? Since most of them are tagged now.

The coolest part was what's hot on HN section!
In short, speed of development and the open governance structure seem to be the two key advantages of io.js.

io.js is on a very fast release cycle using semver for versioning. The don't maintain the node.js concept of a "stable" and a "development" build (e.g., 0.10 and 0.11). Node.js developers want to use a "stable" release in production, and so were stuck on 0.10 for over two years.

io.js is integrating the latest v8 and libuv releases, giving developers access to new ES6 features (and enabling stable ES6 features by default). Node.js developers as stuck on an old V8 with poor ES6 support, requiring transpilers like babel.

io.js also now has significantly more core contributors than node.js. For what I understand, Joyent only had 1 dedicated node core developer for a long time.
It's one thing to say that a celestial body is the common heritage of all mankind.

It's something else entirely to say that if you spend billions of dollars to pull platinum out of an asteroid you can't sell it for profit. I don't think the two things are necessarily mutually exclusive.
Believe me, this is problem with AngularJS (mostly because they invented modules/dependencies and decided to stick with it despite obvious deficiencies instead of teaming up with other open source projects and using something like require.js

Strategy is easy part, as this stuff done many times already. The devil is in details about how to actually get into guts of angular's dependency and routing systems.
I had no idea this stuff was going on in Beirut, but I'm excited to visit. If anyone from the Beirut tech community is reading this, I had two questions:

(1) Do you agree with the author that the startup community is primarily held back by internet speeds? (It's painful to Skype or share a YouTube video with friends in Lebanon, so I know it's a problem -- just wondering about how you'd rank it with other concerns.) Are there any gaps in desired engineering skills? Are people bringing experience with large-scale web architecture or hardware design from working outside of Lebanon?

(2) What's the competitive advantage for these companies? Some ideas -- like music streaming or health tracking or Hulu for the Middle East -- seem easily deflated if an already-at-scale competitor decides to focus on Arabic internationalization. What do Beirut's tech startups understand about Middle East consumers that Western tech companies are missing?
> I'm not sure that "free" was a big deal when the machines themselves cost so much

It was for the hardware manufacturers who now didn't need to produce a whole new OS for their hardware. It also was for the universities who could play with the OS without astronomical OS licensing costs.

After that, the former could take advantage of so many of the latter coming out of school with UNIX experience.
It's politics. If the default is "don't track", advertisers have a case that the user has not explicitly asked to disable tracking.
java.util.concurrent has been around since java 1.5
Divergence is what we are worried about. I am hoping they come back together with the io implementation being the bleeding edge going back into node stable.
Excellence in engineering, unattainable for modern punks.
Joyent practically stopped development on node.js. They promised a 0.12 stable release repeatedly over 2 years before it was finally released. Joyent also has gotten into squabbles with StrongLoop over contributions to node.
How to hack a tow with a spare tire and a good friend