skysight-inc/HackerNews huggingface dataset:
The problem is, ag data is a commodity. People/organizations can gather, mine, and create new products with it. It's always been that way, except the past few years have seen the types and amount of data being gathered, and the speed at which it can be analyzed growing rapidly.

And farmers just are supposed to give this commodity away for free? An action which--whether done for free or for profit--might have some short-term benefits, but may run counter to their interests in the long-term?

Yeah, right.
Reminds me a bit of Asimov's psychohistory [0].

[0] https://en.wikipedia.org/wiki/Psychohistory_(fictional)
From "Creativity, Inc." (fantastic book), this quote: "Give a good idea to a mediocre team, and they will screw it up. But give a mediocre idea to a great team, and they will either fix it or come up with something better."
W...why would you turn away your biggest customers?
Swift-X tool to cross compile Swift and Objective-C(++) code to Android
Good tip. Another suggestion would be to use chroot :)

That said, the best, most foolproof way of doing this really comes down to using OS X to virtualize OS X.

Or you could try cross-compiling. It seems to work here: https://github.com/swift-x/tools (which looks interesting...)

It's possible that by the end of this week, maybe next, it will be very easy indeed to compile and/or run Swift on Linux from Linux, at which point you could try LXC or a million other ways to virtualize.
I don't think it's specifically about reverting merge commits but rather the fact that "git revert" is quite different from "svn revert" which may not be immediately clear and may not meet everyone's understanding of the term "revert" - which is to say, it does not simply "get rid of" the unwanted commit but rather creates a new one that has the net effect of undoing that commit's changes.
Once upon a time I used darcs, where the interactive staging / interactive committing feels even nicer. Git's "git add -i" stuff has always seemed crufty to me.

For instance, in git add -i, the command to stage changes is called "update". The command to unstage is called "revert". Further, does _anybody_ use interactive adding when not intending to stage individual hunks from some file ? Yet there are all these other commands in there to stage/unstage whole files, which are more easily and uniformly done from the command line tools (well, when you accept that staging is called "add"ding on the command line and unstaging is called "reset"ting).
In that case your original comment looks like the way to go and should make pretty much everything else in this thread moot.

It seems like the key though is ensuring that your environment uses distinct non-root users for all security relevant processes so that a security bug in one process doesn't allow the attacker to gain access to others.

EDIT: On second thought there may be some advantage to effectively zeroing memory for security critical data within a process but the likely value add seems low to me. Once a process has been hacked it seems pretty unlikely that you can hope to control what information it leaks.
Can't it at least be something like

high := code / 16;
low := code % 16;

switch high {
case 0: template += "40"
case 1: template += "44"
case 2: template += "42"
// ...
case 15: template += "43"
}

switch low {
case 0: template += ";30"
case 1: template += ";34"
// ...
case 15: template += ";33"
}

Or even

s := [...]string{"0", "4", "2", ..., "3"}

template := "\x1B[4" + s[code / 16] + ";3" + s[code % 16] + "m"

(I don't know Go, so you will have to adjust to be valid, and I'm sure there's some sort of string formatting or something that makes the last suggestion more efficient.)
Not sure what your looking for exactly but we just launched a tool (still in Beta) that will help you select the right terms before you tweet. Check it out and let us know what you think.

www.12perks.com
Yes, MPS and "language workbenches" in general are chasing something similar. Ideas like these are entirely in the details though, and so far I haven't found anything which does it for me. I could easily be missing it, in part because systems like MPS have a high up-front investment, and I have regretted such investments more often than not.
Why Is the Shiller CAPE So High?
In my experience, no, you can't assume a first-year CS student knows that. You can't even assume CS grads who've been working for 10 years know that, or remember it if they did. You're right that it isn't rocket science, but it's more down in the weeds now than ever before.

As somebody who works on operating systems, I share your disappointment that it's not common knowledge, but it really is trivia insofar as it's related to the sorts of things that most working programmers do these days.

However, I do not share your disappointment that somebody had the nerve to write a perfectly fine article about something you already knew about. How dare they! How will you ever deal with the shame you feel on their behalf? These are truly tragic days we live in. :)
> Before git-based package managers became the norm

When did using git-based package managers become the norm?

> it wasn't uncommon to track/update dependencies manually using command-line git.

Are you saying you normally update your third-party libs with the latest from HEAD instead of using versioned release artifacts?

(I'm guessing you're speaking from a JS dev perspective?)
Wow, I think that's quite a low blow in response to what I found to be an honest and introspective post. And what's wrong with commenting in a new blog post? So what if it doesn't get upvoted, that just means that he won't get exposed to another round of this.
Because we believe that the incremental cost of supporting such customers would exceed the additional revenue it would generate.

(I guess that's a sort of trivial answer? Feel free to ask follow-up questions if you're genuinely curious about it.)
I prefer the term "pro-democracy" and pro "having a law".

Both parties have mastered using presidential appointments to the supreme court to "change" the law. This is very bad, as they're not supposed to be in control of that. The judiciary's "check and balances" check is mostly to prevent congress from going against the constitution (ridiculous example: voting slavery back in with 51% of votes). That is their function.
Show HN: Asymmetricfs – An Asymmetric, Encrypting Filesystem for Userspace
Building a truly safe Python sandbox (well, in CPython at least) is widely considered a fool's errand [0]. However, a Python sandbox can be relatively safely done in two ways:

1. By completely reimplementing Python at a lower level and intercepting system calls, like PyPy's sandbox feature [1].

2. By utilizing other, more mature OS level constructs (IE: think containerization like LXC (which is imperfect), stacking OS features like seccomp/chroot/etc. or better, true virtualization like Xen).

Ideally, you'd combine them both and then run them on a "dumb box" which is just a REST API with no other keys or system access. The key to designing moderately secure sandboxes is just accepting that there are angles of attack you haven't considered yet, so design in layers.

If you find yourself inspecting code to decide if it is safe, you are fighting a losing battle... I'd love to hear of any success stories here though!

Great detailed write up of the pitfalls @op, thanks.

[0] https://github.com/haypo/pysandbox/ or https://lwn.net/Articles/574215/
[1] http://pypy.readthedocs.org/en/latest/sandbox.html
Are Your Enemies Innately Evil?: http://lesswrong.com/lw/i0/are_your_enemies_innately_evil/

>Realistically, most people don't construct their life stories with themselves as the villains. Everyone is the hero of their own story. The Enemy's story, as seen by the Enemy, is not going to make the Enemy look bad. If you try to construe motivations that would make the Enemy look bad, you'll end up flat wrong about what actually goes on in the Enemy's mind.

However something like 4% of men are sociopaths, so this isn't always true. But as far as I know, Hitler was not a sociopath, nor were all of the countless other people involved.
One slight problem with the article is that its author thinks that "Tr0ub4dor83" and its ilk is a long and complex password. It isn't; rather, "correct horse battery staple" is the start of a long and complex password.

XKCD 936 and all that.

Systems should stop requiring users to enter passwords that have "at least one digit, both upper and lower case, and at least one symbol". Or, at least, that should only be imposed on passwords that are are short, like less than 30 characters. The limits on password length should be very generous: into the hundreds of characters.
Including this page which should make things clear: alcohol consumption is just a placeholder for socioeconomic status, which everyone knows has a major effect on longevity.

http://www2.potsdam.edu/alcohol/Controversies/Drinking-Alcoh...
I am building a browser-based bittorrent client. Check it out: https://github.com/feross/webtorrent

WebTorrent makes BitTorrent work in the browser using WebRTC. It's designed to match the BitTorrent protocol as closely as possible, so when the time comes, existing BitTorrent clients can easily add support for this extension and peer with web-based torrent clients.

WebTorrent is already working as a node.js bittorrent client (just do `npm install webtorrent -g` and use the `webtorrent` command), and as a web-based client (though the docs for this latter part are currently very lacking -- working on it!).
Nice! I've been getting into Polymer with Paper, and Google's new material design. Would be very cool to have an equivalent theme for iOS.
How to fall off the wagon
This is neat, but what we really need is BitTorrent over WebRTC, for actual decentralized BitTorrent in the browser. See http://webtorrent.io

The project's goal is to build a browser BitTorrent client that requires no install (no plugin/extension/etc.) and fully-interoperates with the regular BitTorrent network. We use WebRTC Data Channels for peer-to-peer transport.

WebTorrent is designed to match the BitTorrent protocol as closely as possible, so when the time comes, existing BitTorrent clients can easily add WebRTC support and swarm with web-based torrent clients, "bridging" the web and non-web worlds.

WebTorrent is already working as a node.js bittorrent client (just do `npm install webtorrent -g` and use the `webtorrent` command), and as a web-based client (though the docs for this latter part are currently very lacking -- this will improve in the coming days!).
It is market research, just not named as such.

I think OP was simply complaining that the article author approached market research academically, throwing common sense out of the window in the process. Classic outsmarting yourself. You don't need to call it market research for it to be effective (the chef probably doesn't).
I do both enterprise and one person dev studio work and use Git for both.

When I do personal development or small side projects I could care less about my history being clean. Nothing is ever so large or complex that it needs to be fixed in such a meticulous manner. It may feel that way, until you start working on larger software. The stress of a $1,000-$20,000 job is laughable compared to the scale of enterprise failure.

In enterprise, it's often the case that applications are built by teams of people in constant flux. They may need to be patched or rolled back at a moment's notice, and every hour the bug stays live is an hour of enormous financial burden to the client and intense stress on my employer. In this case, having a trustworthy VCS with a clean history in invaluable.
This seems to be a virtual desktops utility. Can anyone explain what it does differently from microsoft's virtual desktops utility?

http://technet.microsoft.com/en-us/sysinternals/cc817881.asp...
Not the OP but…

I took it to mean that you have a responsibility to yourself as well as the startup. You give them a lot of time and effort, sure, but you need to keep doing things like reviewing how the job is letting you develop, both technically and as a person, keeping up your tech skills by reading and playing, and building contacts and networks of your own.

The people who have done that (rather than just had their head down and working) have more to fall back on if the startup fails, and probably noticed things weren’t going so well earlier as well.
What confuses me is the decision to add an extra row to the Springboard. The obsessive in me liked that the iPhone 5+ and iPad could fit the same number of icons on a home screen. If the argument is more space = more icons, then they would have added some extra rows to the iPad a long time ago, or allow up to 6 icons per row like in the dock.
I could qualify that I'm no currently living in the US. When I was in the US, I remember being able to get bags of mini-carrots for ~$0.99 (can't remember if they were small/large/organic/non-organic).
I keep meaning to make an alias for it called "git anticommit".
Social media and crowdsourcing is threatening Wall Street
I live in the us. My current monthly expenses are about $1300. (Young, no kids, rent, own a car). I have ~18 mo worth of savings and and 1 very simple app on the App Store so far. I'm thinking I could quit my current job (java dev, strongly dislike it) now and spend at least a year trying to become indie. Do you think this is a reasonable thing to do?

I figure at the end of that year I will at least hopefully have enough of a portfolio to get hired as an ios dev somewhere and continue working on my dream with some more stable income.

I know it's probably smarter to keep working on apps on the side but I feel like I could progress south quicker not having a full time job. Also I dread mornings right now. Just curious about others' probably more seasoned opinions.
It just confused me. How does anyone do well out of a failing startup? By jumping ship early? By going to a competitor? Surely there are no golden parachutes, right?
How to Get into an Ivy League College–Guaranteed
Calling someone irresponsible is not, in and of itself, an ad hominem argument.

Saying a position should be rejected because it is presented by someone who is irresponsible is ad hominem.

Ad hominem argument isn't the same thing as a personal attack; its the fallacy of arguing that a position should be rejected because of the personal characteristics of the person presenting it.
If working like Linus means using git, then I'd say his is a better way to work. Speaking for myself, there's no reason I can see to ever go back to svn. Even for personal single-dev projects.

It is so simple to create a new git repo on the fly, with no need for a separate repository location. And rebasing plus easy branching has changed the way I work forever. Git allows you to commit early and commit often, safe in the knowledge you can always reorder, combine, remove and/or re-comment your changes later.

This frees you to experiment without worrying about losing the progress you've already made. If you reach a dead-end, it's easy to go back and start working in another direction, while saving the branch in case you change your mind.

Basically, once you get past the learning curve, git makes it extremely easy to remain in that most blessed of version control state of having no uncommitted local changes. And once you've saved with with a commit, it's pretty hard to permanently lose it.

at least, before you push changes to another repo, if you're doing that.
Shiori: A Good-Looking Jekyll Theme with Bootstrap Integration
It's easy to say that behind a computer screen. It's much harder to choose to die for your beliefs, especially if doing so doesn't even help your cause. Realistically a single guard would not have been able to do much.

To say it say it "says a lot about your character" is ridiculous. The vast majority of people didn't resist.
That's a great point; should've thought through that post a little better. Thanks.
Hmm, at least that link actually shows me a video widget but I still don't see any actual video.
#2 alone - running items in an LXC jail without root access is far - is quite secure (and what we relied on at PiCloud to set up our python sandboxes).

If you still insist on trying to build safe-code inspectors, be very skeptical of what your protection is capable of. For instance, why even bother blocking static strings? Such trivially-breakable "security" being placed in your code only serves to distract you and give false confidence.
>I think you misunderstand timing sidechannels.

I don't :) Basically you want all the code branches to result in similar (same) timings. Basic on the CPU and the data inputs those timing would vary, hence assembly alone won't do.
Why Google thinks you should drop everything you do and pick up Dart
There wasn't much evidence that he understood it.
Well fragging was common on the front lines because it had plausible deniability of the enemy throwing a grenade back. In a prison camp far away from the front, it's more difficult to explain, and harder to get away with.
As a rule, an LXC jail is definitely very much better than code-inspection, but it is worth taking the time reading up on some of the rather specific configuration needed to tighten up LXC/namespaces. Docker (previously DotCloud) obviously has a lot riding on this, so they are taking secure-by-default configuration pretty seriously. [0]

[0] https://docs.docker.com/articles/security/
https://hn.algolia.com/?q=drinking+is+healthy#!/story/foreve...
I wrote a very locked down python "expression evaluator" library ( https://github.com/danthedeckie/simpleeval ) which uses code inspection and is reasonably safe (caveats listed in the README).

Any comments or loopholes found would be appreciated...
I love webscript.io, and am part of the second group – I want to accomplish some sort of webhook-based workflow, with minimal effort or scaffolding. I've used it a few times for hackdays, and it's great how simple + fast it makes it to go from an idea to a rough implementation.
For many people that is part of a lifestyle choice, and they tend to live in places where that shopping is easily accessible. Personally, I can do that whilst walking home from work.

I don't believe it's coincidental that the delivery service worked in the least densely populated part of Europe.
Ansible architecturally flawed, realtime output deemed too difficult
Apple Campus 2 in Cupertino [video]
Liking work really matters
Microsoft's $150MM investment in Apple wasn't necessary for Apple to survive. The commitment it signaled (plus the promise to keep making Office for Mac) might have been, but the money wasn't.

> The day before the announcement Apple had a market cap of $2.46 billion,[58] and had ended its previous quarter with quarterly revenues of US$1.7 billion and cash reserves of US$1.2 billion,[59] making the US$150 million amount of the investment largely symbolic.

http://en.wikipedia.org/wiki/History_of_Apple_Inc.#1996:_Ret...
I agree. It hardly sheds any light on what's really going on in the Scala community or why.
It depends on what you're doing. If you're really pushing forward with experimental features, sure, there's some risk. But if you're using common libraries, you probably have more to worry about staying up to date with the library interfaces than the language changes.
Https://www.Facebook.com/profile.php?id=100002925525998
Speed itself is killer app. Tenth of a second is the limit to aim for responsiveness. Now we have acceptable speed for surfing but it quite often doesn't look like instant.

Going from ADSL to ethernet reduces latency by order of magnitude for the connection to local internet. That is the big jump. And that latency reduction helps gamers too. This is the big advantage of going for Fiber instead of lets try how we can put as much bandwidth as possible through this copper never designer for it.

As for bandwidth, lets consider the other side of story where you get those bits from, they too have limited bandwidth and have to support maybe thousands of simultaneous users with it.

And once they found the killer app for the 1Gbit internet they are not going to recognize that. As bandwidth is only visible when there seems to be too little of it, not when there is enough of it, and those who have too little of it often just need to wait some additional seconds and never realize that it could be almost instant, and totally miss the point of having additional bandwidth.
Only way to recognize the killer app for this is use with Gbit fiber and then go with friends house and use it with their ADSL and realize you cannot stand how slow/limited it is.

Once you start replacing last mile with Fiber there is no point trying to save few bucks in an expensive project and have order of magnitude less bandwidth than what they reasonably can offer.
Check out Simon Wardley for some insight into what games Amazon may be playing, specifically on cloud. http://www.infoq.com/interviews/Cloud-Landscape-Simon-Wardle...

"This is a model known as ILC, which stands for innovate leverage commoditize. The model is pretty simple: what you do is you provide a commodity service, you enable everybody else to innovate on top of it. They are actually your research and development group. You do not bother to do it yourself, you get everybody else to build on your services. Anything which is successful and starts to spread in your ecosystem, you can identify through consumption information, so you can leverage the ecosystem to spot successful development and then you commoditize these new components."
Collection of frameworks and libraries for Web UI development
If you want to look at the commit history or submit a patch, you'll need some sort of version control.
Doesn't Ocamlpp4 or whatever its called generate OCaml source code and pass that to the compiler, not OCaml AST? The new ppx extension in 4.02 allows direct manipulation of OCaml AST, but that hasn't been used enough yet to determine its effectiveness.
Reddit CEO on banning leaked celebrity nudes
Yes it was inspected, but funnily enough (thinking back over a decade here) I can't think of anyone being engaged to get them into anything to keep them advancing.

I think it could have gotten anomalously high because the next time it got tested it dropped drastically, although there was an exodus of the better teachers.

The whole thing had a startup getting its IPO feel. Once it got that report it took maybe two years for the best teachers to be gone and moved on to being department heads elsewhere.
I agree with you that there are a lot of "startup lessons" out there, and that most of them sound super basic and obvious.

I've learned the hard way that it's exactly the lessons that are "obvious" are the ones that I should be paying attention to. If a lesson was both obvious and easy to implement, you probably wouldn't hear the lesson repeated so many times over so many different people.

So whenever I read yet another startup lesson that seems obvious and is frequently repeated, that's a signal for me that that lesson is actually very difficult to implement on the ground, in the moment.
You can add Scheme to the list of languages that do this. CHICKEN in particular works by compiling highly expressive Scheme to C, which can be inspected, modified, etc. Also the CHICKEN compiler has a few dozen switches to tweak output, but it's fully open-source (BSD) if that's interesting.

If C is not "low level" enough what are you looking for?

(It occurs to me, the C code can be compiled with clang, which provides further opportunities for low-level output.)
I'm not sure how your example is more true.
What is “immediate connection” good for?
Interesting. I was not aware of this, so thank you.
Is Ikea the next Doritos?
The funny thing was, the same was true of Apple's DOS. With all the engineering talent including Woz's own, it never occurred to anyone there that they should have read the sectors in each track in descending rather than ascending order to save wasted disk rotations.
One Piece 661 Preview HD 720p
Previous discussion https://news.ycombinator.com/item?id=8244553