skysight-inc/HackerNews huggingface dataset:
> JSON + JSON-Schema is no more of a mess than XML + XML Schemas.

For this reason, many developers resist JSON-Schema. We already have one mess, if we need it - let's keep JSON clean! That's why we like it. A concrete example of keeping JSON clean was the removal of comments from the JSON spec to stop people using them as directives. If they had stayed, and JSON became complex and ugly and messy, would its popularity have continued?

However... the increasing prevalence of complex JSON formats may eventually make some form of JSON schema necessary.
Penn's CIS120 is half OCaml and half a continuation of Java from 110 (the first course). Python is not found in the intro courses at Penn. Just Java and OCaml.
Sure, I'll run though these. You can also ping me at mg@inboxapp.com.

1. We just started with Gmail and Yahoo, and are working to support all IMAP servers. The sync engine currently depends on the CONDSTORE extension for performance, and not all servers have that extension enabled. What server are you running yourself? Dovecot? Cyrus? I'm sure we can get it working quickly-- we just didn't want to push support for servers that we hadn't yet tested.

2. Yep, we have some stuff to do this as well as remove quoted text and signatures[0] so you deal with the "canonical" message. We've been collaborating with the folks from Mailgun on making the best MIME parsing tools.[1] However, the incoming message is always still stored on the mail provider if you need the full rfc2822-compliant version. Storing the unparsed data locally during sync would be a one line patch, so you can do that too.

3. The API doesn't have any notion of PGP/GPG. We'd rather people build clients that have GPG encryption so you don't need to store a key on the server. (Why? See Lavabit.) Inbox just makes it easy to build any app, whether that's for one for sending secure messages, one for sending sales numbers, one for triaging bug reports, etc. etc.

Note that right now the open source sync engine has NO authentication and doesn't talk in detail about security. This was completely intentional to make debugging for developers easier. Obviously you should run this behind your own firewall, VPN, etc.

4. You're exactly right with that trend. Inbox sits as a layer between hosted providers (like Gmail) and your app, providing nice API endpoints. It doesn't currently support POP3, but we'd be up for adding it, especially if someone else wrote it. (Backend providers are pretty easy to plug+play here.) But yeah, this is aiming at the much larger market of people who use hosted services like Gmail, Yahoo, Hotmail, etc.

Feel free to get in touch if you'd like to talk more about security. I recommend joining the developer Google Group[2], where we'll discuss topics like this one and more. There are clearly lots of big decisions to make when designing a platform this important, and we want to engage the developer community to get as much feedback as possible at this stage.

We've also put a lot of work into making the code readable and modular. I encourage you to check it out from GitHub and take it for a spin in a VM. It's all Python, so very hackable.

[0] I just noticed that the Mailgun folks haven't pushed live the signature extraction library that Inbox also uses. I'll ping them now. It's pretty cool, and uses a hybrid of regex and a trained machine learning classifier.

[1] https://github.com/mailgun/flanker

[2] https://groups.google.com/forum/#!forum/inbox-dev
It's a bit cynical to describe a ban or censorship of Microsoft software as a win for FOSS: "This will be a big gain for free/libre office suites, including some Chinese versions (IBM employed people in China to work on OpenOffice with ODF)." Censorship of competitors is never a victory for free (as in speech, not as in beer) software.
So we shouldn't consider risk of fatality as a safety metric?

Also, play "typically insufferable cyclist tone of moral superiority one finds in articles of this ilk" back in your head and think about how it sounds.
all I got from [2] is "if you would like to have productive discussion, move to the mailing list. if not, prepare to be banned."
Bio on Bob Farquhar - Satellite Rebooter, Connecting with Old Friend
Electrum and MultiBit on the desktop are SPV clients.
They didn't mention cultural and psychological aspects that probably contribute -- the sustainability orientation and collapse anxiety.

The central banks' actions seem to be providing more and more reasons for people to take a sustainable (defensive) view.

It looks like a self-fulfilling prophecy unless you manipulate it fundamentally. There is plenty of manipulation built-in to the system already -- its just mainly opportunistic or used to preserve the existing structures.

What is needed from the financial system is an institutional honesty and willingness to grow into an optimistic structure that incorporates more hard science and technology, focused on human and environmental well-being.

Integrate more physical and social science, better utilization of technology, and a greater degree of holism, into the field of economics, while still preserving the values of freedom and appreciation of complexity that will allow for diversity and evolution of systems.
So does Java and C and Python to some extent. I don't know a single linux distro that ships without python.
Oh yeah, forgot to include that in the list. Added.
Wave Downloader – Now Free In The App Store
Wave Downloader is an awesome app that enables you to download keep files on iOS. It's now on sale for free on the App Store! Pick it up here. https://itunes.apple.com/us/app/wave-downloader-missing-file/id871328863?mt=8
Tips for getting large companies to buy your SaaS app
@yminsky -- yep, taxonomies r hard :) but i'm trying to go as much as possible by what each department proclaims for itself rather than trying to calibrate across departments. If Harvard calls a class "Computer Science II", I'm going to consider it as CS2. (fwiw I consider Harvard CS50 a hybrid of CS0 and CS1 since students voluntarily split themselves into two tracks called "less comfortable" and "more comfortable", respectively.)
For Oribital's Pegasus, about 25% (solid fuel) engines, and 25% support labour [1].

http://www.mitre.org/sites/default/files/pdf/kane_mls.pdf Page 7 (Rest of that paper is also an awesome read about the problem space. Although it was from relatively early in Falcon 1 development... Pegasus has gone from alone in its class, to having competition, back to being alone).
Kickstarter food category is currently being spammed with clones of this - https://www.kickstarter.com/discover/advanced?category_id=10...

Some examples:

https://www.kickstarter.com/projects/aboundlessworld/fried-r...

https://www.kickstarter.com/projects/563084908/japanese-pota...

https://www.kickstarter.com/projects/1444485094/mac-and-chee...

https://www.kickstarter.com/projects/1320123183/bbq-ribs?ref...

Forget video games, kickstarter is for potato salad.
Pick a phrase in the spot you want and CTRL - F. Almost the same thing.
The scary thing is that I started writing an article about this on the 28th, all due to a comment I was sent by an advertising agency stating that "HTTPS is only really for checkout pages". I nicely pointed out why they were wrong.

It was mentioned somewhere that if Google started giving priority to full HTTPS sites, there would be a mass scramble to convert web sites to support HTTPS. Isn't this what we want?

You can warn people all you like, but until it starts to hurt them, they won't listen.
I recently picked up a project in OCaml that I had begun last summer and never finished. I have to say, compared to my day-to-day tools (mostly Java these days, Python before), OCaml is a breath of fresh air. For instance, today I did a refactoring where I replaced a type that was simply an alias to string with a proper abstract data type. Fixing the code was simply a matter of compiling, going to the file/line number in the error message, fix and repeat. Algebraic data types (sometimes called discriminated unions) are great for properly separating the logic of a data structure instead of sticking everything into one big class.

I highly recommend you give it a try. By the way, although we hear about OCaml less often than other languages, it is still used in many well known places such as Facebook (for pfff and Hack), Microsoft (SLAM, a verification tool for drivers), and Airbus (they use the ASTRÉE static verification tool which is written in OCaml).
Criminally dangerous motorist behavior is never brought up as a reason not to spend money on facilities for cars. It is for bicyclists.
Try open source Anuko Time Tracker.

See http://www.anuko.com/time_tracker/index.htm

For punch in/out you can use "time only" tracking mode.
I wonder what those people are thinking, it's blatantly obvious that the only reason this guy got funding was because of the novelty. It's like when Twitch Plays Pokemon came out there were tons of copycat streams, none of them came anywhere near the viewer count of the original.
Definitely! The challenge is getting the news orgs to change their entire site, which often involves a lot of complex, entrenched infrastructure and sometimes involves reluctant third parties such as ad networks.

We're working on a best practices guide for deployments [0]. I'll make sure these suggestions go in there. Feel free to take a look and comment if you're interested!

[0] https://securedrop.hackpad.com/SecureDrop-Deployment-Best-Pr...
You seem to be missing the point.

They (noip.com) had zero pre-warning of a domain seizure. Regardless of any literature you dig up from years ago that states some botnets use Dynamic DNS services such as noip.com, it does not mean they had warning they were about to be seized. Others have commented that the court order forbid anyone, including Microsoft, from informing noip.com prior to the seizure.

It should be noted, that most/all "cloud" services likely have some sort of illicit behavior being conducted through them... Ec2, Azure even, etc. Botnet's use the same services me and you do... that does not for even a second make noip.com responsible for the botnet's actions.
IPO-bound Box
I mean, you'll notice my strategy is to never torify anything where I'd have to actually wait for it. Except IM, which is small enough that it doesn't matter, anything I've torified is downloaded in the background anyway.
I wish I could sponsor your next two weeks. Let's hope that Stripe's initiative catches on with others.
You make a fair point, given what was in the article.

I think one interesting thing that the article left out is that the situation has actually changed a fair amount in the last decade. Around, say, 2002-2006, second year banking associates (and sometimes management consultants) interviewed in the spring (~18 months into their banking job) for PE jobs starting that fall - around 3-4 months early. This seems pretty normal.

But an arms race started, and in 2006-2007, interviews were happening in January. In 2008, headhunters joked that soon they'd be interviewing candidates a few months after they started, and then that's exactly what happened. The next year, they started in December, then October or November, and they continued to go earlier until the current state where they interview after 6 months on the job for a new job 15-18 months away.

So, it's worth noting how much it changed in a fairly short time frame. I think this must have to do with the number of PE firms that exist now compared to 2000 - back then, there was no point to interview early because no one else would swoop in and get your candidate.

Also funny is that it's all somewhat based on a notion that all candidates vary on one dimension of "quality," that the "best" candidates will be gone if your firm doesn't try to snap them up now, and furthermore, that you'll be able to figure out who the "best" candidates are at that stage.

It's a classic coordination failure - even given how silly that premise is, and even though the resulting situation is so obviously crazy to all involved, it continues to occur, because that's how the incentives line up.

What's also interesting is that there's no clear way to change things. Coordination failures are often fixed by governments, when the situation is important enough (this hardly qualifies). College admissions solves this by tacitly agreeing to have everyone apply the same time every year. Of course, some colleges tried to beat this with "early decision" and "early action," which conceivably could have continued like this did (with applications starting in junior year, etc.). But it seems there's some combination of respect for the process, decorum, etc., that prevented it. Plus, once a group of the "top" schools decided to eliminate the early decision/action process, the decision stuck (for a while at least - it appears to have come back) . In that case, there was a fairly agreed upon list of "top schools" that could set the terms, given most students would be willing to wait and apply there. But with PE firms, most candidates would be willing to take a job with a middle market fund (and make a looot of money) rather than gamble on a bigger fund (assuming those are more desirable, which isn't always the case). I suppose that things could change if banks got stricter around things (as they're trying to), or if all PE firms could agree (if that's even legal...?), but it's not an easy solve.

Of course, no one will be throwing a pity party for anyone involved. The banks, PE firms, candidates, and headhunters will all be fine. Still, it's a funny situation to watch, in a "how can that really be happening?!" sort of way.
I'd like that too. I often don't upvote stories I otherwise would because I don't want to muddle up my 'saved stories' with non-favorites.
Ocaml has a bytecode compiler and a native code compiler; any library written in OCaml can be compiled to run-anywhere bytecode, though I'm not sure how many libraries are really just wrappers around native GNU/Linux libraries.
Ikea sells 500 Euro standing desk in Netherlands, not North America
Why don't you have users state their actual, current salary, and use that as part of the predictive analysis?

If you gather this data in different compensation categories, such as renumeration, options, benefits, RSUs etc – one would be able to get a better picture of what a "salary" is.
Pretty much what I wanted to say. The target seems to be "business" people who email spreadsheets around, and if you haven't seen this much, believe me it is done a LOT. But in my experience these people would have no idea what an API is and no idea why they would want one. I see these people gravitating to shared spreadsheets on Google Drive or SkyDrive, which eliminates the email attachment pain without really requiring them to learn anything new.

The idea is cool, the website looks good, and this seems like it could be really useful, but I don't get the sense that the right audience is targeted here.

Also an aside to the Sheetlabs folks, sort of a pet peeve of mine, your site returns a blank white page if JavaScript is disabled, you might want to at least throw a noscript tag in so people don't think you are just down.
We've been working on this with some of our deployment partners for a while now :D Great idea! I didn't know anybody else did it, it's cool to hear about c't.
Good idea, but, like many of these ideas, easier said than done.
Everything will be obsolete in a year or two. You just have to decide what piece of obsolete equipment will do the job you need done. And don't complain.
Your browser almost certainly has a bookmarks feature. If you don't like that, I use and would recommend InstaPaper.
If by Internet he means Facebook, thanks but no thanks.
ConvNetJS – Deep Learning In The Browser
Chrome I expected, but why does Firefox have it disabled by default?
Knutty Asset Prices
How about Parallels or VMware?
Location: Union City, CA

Remote: no

Willing to relocate: in the future, masters degree in-progress

Technologies: Juniper Networks, Checkpoint, Alcatel-Lucent omniswitches, racking, fiber, C, basic LAMP configs, virtualization, incident management tools, I speak 4 languages fluently (French, Spanish, Portuguese)

Resume: wmabmb.tx0.org/cv_wmarques_2014_EN.pdf

Email: see resume for email/linkedin/g+/phone
I considered picking up OCaml at one point, but got scared off by the global interpreter lock. Can an experienced OCaml dev tell me when this would really become an issue, and certain cases where it wouldn't make a difference?
> Should this article make a bigger deal...

Probably no. 60 miles is about 100km. The radius of the evacuation area is 30km.
It reminds me http://xkcd.com/934/ for most simple users. What a government officer do at his/her workstation? They probably have every service through web pages, almost nobody builds native programs anymore. And for the most cases LibreOffice is not perfect, but adequate to do simple jobs. So it is very logical to use something free for these tasks, to replace Windows+Office and save money.
BuyVM, $15/year

The good news is BuyVM just announced they are preparing a CentOS 7 image, so the installer RAM limit may not matter.

You are right that 128mb is a bit tight, I have problems with some services that just gobble memory. Apache+PHP are terrible in that regard.
Religious dissent has no empirical anchor. Religious truth endlessly changes and shifts amorphously with time and culture. Religions splinter and fragment, all the while furiously denouncing the other's moral depravity.

Science, on the other hand, holds provisional truth, tests, makes predictions and steadily converges.

As for slavery and racism, one would expect that social and cultural forces would be the primary drivers for beliefs about races. Only secondarily would religion and/or proto-science be used to justify those beliefs, unless or until either system developed rigorous empirical means capable of supporting or undermining those beliefs. Christians supported slavery by using biblical references to Ham's descendants being cursed to be servants. Attempts to use science to support racism and slavery were used as well, of course, but flawed in the way the practice of science itself was flawed at the time.

Neither religion nor science can claim any credit for ending slavery, that credit can only go to evolving social views. Steven Pinker argues that increased empathy for slaves and moral revulsion for slavery was catalyzed by a number of best-selling autobiographies of slaves. The growth of empathy, the rejection of slavery and gradual but steady rejection of all forms of violence in societies is well documented in his "Better Angels of Our Nature".
You wrote: "it's very unlikely noip.com was even aware that a botnet was using their services (the justification for the seizure)".

The links I cited show that this is incorrect. No-ip was aware.
The unfortunate thing about this is that the Potato Salad will sell out to Facebook for $2 billion, and it'll turn into Beetroot Salad :(
Ohh, the "trust me I'm a professional" defence. That doesn't answer the question.

Or do they use chicken entrails?
(SecureDrop dev here) Glad you like it! It's hard to tell people who get excited about fun UX ideas that they can't use JS, but from my experience as a browser security engineer, eliminating JavaScript (and plugins, which the TBB does already) dramatically reduces the browser's (unfortunately enormous) attack surface.
Thanks for responding! Do you still have in your notes the breakdown for each course whether it's CS0 or CS1? That would be good to put into the table in some form so the rest of us can make our own judgements about what that might mean. I don't disagree it's important, for many of the reasons you mention; I only really disagree with its characterisation as a majority intro language.

Indeed, I expect that when they're broken out, Python will be the overwhelming top choice for CS0, and a respectable second in CS1; but then, that's not as big a change as you might think. I'd be surprised if Java was ever a majority or even a plurality in CS0 courses. One subgroup of what you're calling CS0---the ones focussed on programming, often called a "service" course and targeted at engineering and science majors---have long been using things like C or Matlab, and never really had a strong movement towards Java. The other subgroup, what I'd call the "true" CS0 (i.e. based on what the ACM/IEEE curriculum guidelines used to call CS0) may have had no programming at all, or if they did, a short unit in a relatively lightweight language, certainly not Java.

Basically, the things that make for a good language in either kind of non-majors course are not always the same as what makes for a good language in a intro-for-majors course. That doesn't make the non-majors course unimportant and it doesn't mean that decisions are made hastily, but it's still not super helpful to conflate the two.
Thank you! Also happy to answer any specific questions you, the OP, or anyone else has. I'd meant to bang out a quick reply, but my response ended up ballooning a little awkwardly.
I'm not sure how you define CS0, but my understanding is that there are now three introductory CS courses at Harvard: CS1, CS50, and CS51. Note that I graduated in 2007, so my understanding may be dated.

CS1 is intended for non-concentrators or people with very little prior CS experience.

CS50 is the standard intro course that most CS concentrators (or people considering CS as a concentration) take. Although it's taken by non-concentrators, most of the non-concentrators taking the course do so because they're in some field that has a lot of exposure to programming (e.g. Applied Math).

CS51 is the "advanced" intro course and is usually not the first CS course a CS concentrator takes, if for no other reason that it's not offered until the spring semester.
please send me mail with a correction request. thanks
If you want to eat (or make) good potato salad, check the Cornucopia in Dublin (or their book).