skysight-inc/HackerNews huggingface dataset:
A low percent of poor performance is much easier to achieve if your service is simple, often so simple its answers can be cached. Even if it's outright down, some requests still can be served from the cache.

If you weave together 20 services to produce one mega-service, it's much harder to optimize for performance and even just keep the implementation correct. Caching of complicated multi-factor answers is less frequently possible.

Also, 20 microservices may feed e.g. 5 large 'end-user' services together, in various combinations. If one of the microservices is slow, only these of the end-user services are affected that actually use it.

Monolithic large services are harder to combine, so the risk that an unrelated remote service somehow gets called in the process and slows things down is higher.
One problem which will be encountered is eventually people stop learning new things from their peers, and productivity will plateau. The second chair being bored because all they are doing is double checking what the first person typed, while the first chair will be frustrated by the interruptions of "you forgot a comma there".

Pair programming is great as a teaching and onboarding tool, but its benefits plateau.
Yes, had seen that, much later (just a few weeks ago), via another chain of links. Thanks, though. Interestingly, as Temporal says in a sibling comment, analysts of Frost's poem:

http://en.wikipedia.org/wiki/The_Road_Not_Taken

(linked to from your link) take it to mean something else, somewhat the reverse. I prefer my own (or rather, that background image's) more positive (IMO) interpretation, though :) And that's why I had it on my PC for long. Friends liked it too.
SpoonRocket's food was at first good, then bad, now I think it is good again (though expensive). However, I am unwilling to order it because the vehicles drive recklessly around my very family oriented neighborhood, and I don't want to encourage it.
Yeah, I'm in the same position as you except I'm in pretty much the same position (in maryland). so far i've gotten a no from everyone. too many smart kids in this area....
> It's the life-long renters who will be mainly impacted by this negatively.

Not to mention the people who would normally have bought within the next few years who've just become life-long renters because housing prices have shot up out of reach.

I live in Vancouver, and hey, I even work in tech, but the housing princes here are out of reach. If I'd made ten years ago what I made now I'd own my own home, but now it just seems like an unreasonable course of action.
Developer for VisualCV here. It's user generated content and people like to express themselves in strange ways I must say. A lot of people were asking us for real resume examples from high end professionals so we build an curated highlights of some of top public CVs hopefully you guys at HN find it useful.
This seems to be much more about pair programming than killing off code reviews. Yes, they eliminated code reviews, but even with pair programming, that isn't necessary. They are not opposites. One can still use feature branches with or without code review and do pair programming. I'd be interested to know if not branching led to any problems for the other teams and/or releases. Creating a branch with modern version control systems like git is a snap, so even if you're not going to do a code review, it still seems like a great idea to me, while committing directly to master does not seem to have any advantage whatsoever.
One more thing- pairing is an active process, in the moment, while code review is reflective. During coding, you are exercising a lot of "instinctive" skills, and in a pairing environment, you are pressured to act.

Code review happens after the fact, and gives the developer and the team a chance to reflect on what was done and to use deeper, slower skills.

I'm well aware that our Twitter-fueled society is trying to eliminate reflection as a practice, but thoughtful reflection is a tremendous source of learning and growth. Removing reflection from the coding process limits the growth capabilities of the team.
It's interesting; when Google worked with Apple on WebKit, they were able to pull Apple forward. Now that Google has forked WebKit into Blink, Apple is on their own to keep up.
It seems like it wouldn't be a Herculean task to take pathformer.js and turn it into a standalone CLI utility: https://github.com/maxwellito/vivus/blob/master/src/pathform...
Probably doesn't help that the ratings guy seems to constantly be pushing for more ratings to be added, when it's not even clear what the existing ones do.

I've had the same problem when making http://basketball-gm.com/ even though I'm just one person and one of my design decisions has been to keep it as simple as possible for precisely this reason. Large models with lots of parameters are hard, no way around it.
A package manager can't run my tests and confirm that my code doesn't break with the newer version of the lib (just because it supposedly has no breaking changes doesn't mean it works.... there are a surprisingly large number of behaviors that consumers can rely on that go way beyond just the provided API).

So, all you're really automating is me going to look at the package's homepage and seeing if there's a new version. I'd still have to read the changelist to see if the bug that concerns me is fixed, what other changes are included, and run all my tests (and possibly write new ones). This is automating the easiest part of upgrading a dependency.
Yeah, well, this doesn't really make any sense. But you can continue to believe this.
PM me your email, let's chat sometime.
Here is the thing about all of those, none of them give concrete step by step examples of how we would get to "unfriendly" or "friendly" AGI respectively. Now, you might say - well of course because we don't know how an AGI will be built yet. Right! That is exactly the point.

At this point all of the MIRI (Former SIAI) staffers have stopped trying to explain paths to unfriendly AGI and have been just assuming them for their solutions. Just look at Yudkowski's work a few years ago on CEV and you'll see how any attempt at formalization falls apart.

Superintelligence just takes from the starting point they seeded in Global Catastrophic Risks, but doesn't actually address it in any more detail IMO. "Our Final Invention" tried also to do this but failed as well.

To be clear the AGI community understands thoroughly the risks inherent in AGI - I would venture to say far more-so than the non-researcher. So they are worth exploring, but at a certain point you have to say "We aren't sure if the atmosphere will catch on fire or not but lets try it anyway because it is the next logical step."

At some point we need to have the hard conversation about what humans will do in a world where we are less relevant.

Or just stop pursuing it altogether and put a moratorium on AGI research. A terrible terrible idea in my opinion.
1) Accept the offer. *See Bird in The Hand Rule.

2) If a better job offer comes in. Then graciously rescind your first acceptance in a prompt and professional fashion.

> Are these types of extremely quick exploding offers really that common? Yes, the recruiter is simply trying to fill several openings quickly as possible. Your profile isn't much different than a 100 other intern candidates that he's seen. Nothing personal, just the pace of business.
It's probably part of Google Play Services.
Well there some competition is! How many have you applied for?
Yes, there is a reason to discourage those people.

In between the time that a cryptographically illiterate developer releases their MVP 1.0 version and the time that it's discovered that their cryptography is fundamentally flawed --- a window of time that can stretch on for years --- actual people will rely on the tool for their security, not realizing that serious adversaries are reading their messages.

Most new cryptosystems --- a cryptosystem being "anything that uses a cipher, including when the cipher is simply AES --- are terribly broken.

Search for [decryptocat] for an extremely good example of what I'm talking about.

Developers who are new to cryptography that want to learn more about it and eventually use it in their own systems should start by learning how to exploit broken cryptography. If you can't exploit an RSA padding oracle, you shouldn't be designing systems that use public key cryptography. If you can't exploit a CTR nonce stutter, you shouldn't be using block crypto.

Developers who don't want to learn cryptography should work on improving the UX (UI and workflow) of existing cryptosystems. PGP could sure use some help, but even if you don't want to help with PGP, there's a huge green field of work to be done on browser TLS trust and CA user interface. Just as one example.
I love the name "Google Play for Work."
Ask HN: Should I take a job to pay the bills or keep pursuing the career I want?
It has been weighing on my mind quite a bit lately as to whether I should take a job in web development when I really want to go into application security. I've read through a number of similar posts on HN, and been lurking the forum looking for an answer.

I am soon to be a CS graduate from a non-brand state school, and have been putting out my resume to job boards and a few application security firms. I am hoping to find a good job to start my career in infosec. I have done a few years of freelance work, and even had a web dev gig at my school for a couple years (the two overlapped a bit).

What I really want to do is move out of the town I am in, and get started with a career in application security. I have bills to pay, and a bit of debt, but should I let that stop me from taking the risk of going for a career in app sec? Would taking a low-paying development gig hurt my career opportunities?

I just don't really know what I should expect from the market. My fear is that taking a dev gig that isn't a good fit will sap my motivation and energy to pursue what I really want.

I am contributing to open-source projects, and doing my own projects to sharpen my skills at development and app sec. Should I take a less desirable job to pay the bills, or just continue to pursue what really interests me and be broke for a little longer?

Thanks in advance for any advice.
This worked for me! I was stuck with just the loading page, even though it had obviously loaded the content. Bug with their Javascript maybe?
The elephant in the room is that taxpayers are subsidizing private tech industry that gets to keep all the profits from commercializations of public research, save for the pittance they sometimes pay for tech transfer licenses.

I work in the biotech industry and from my perspective, I don't see a problem at all with private companies getting rich off of the development of public research. Keep in mind that the company is fronting the hundreds of millions of dollars it takes to commercialize a product. Shouldn't they profit off it?

Also, the few example of drugs that have been discovered in an academic setting, the universities got wealthy off of the royalty rights. Hell, Northwestern sold a portion of those rights to Lyrica for $700M cash.[1]

[1]http://www.northwestern.edu/newscenter/stories/2007/12/lyric...
I can't do pair programming for anything remotely complex. Being in a pair prevents me from getting in the zone to reason about the architecture and flow of things. Without this perspective the end result is almost guaranteed to be more complex and buggy than it would've been had I taken the time to deeply think about how to approach it all.

I can't imagine doing my current task (rewriting a job system for a custom AAA game engine) with someone next to me I've got to interact with all the time.

This image explains it perfectly:
http://9gag.com/gag/av0z0Bn/this-is-why-you-shouldn-t-interr...

However, for easy tasks or when mentoring a junior developer through an assignment, pair programming works really well!
The title would have been better worded as follows:

"How does this Altair BASIC become a Microsoft?"
Are you aware of the recent guardian article about a Chicago police blacksite[0]? Your analogy is inappropriate in the face of systematic torture, killing, and corrupition of law by American institutions. Simplistic analogies will not fix this problem nor do they help the discourse.

0:http://www.theguardian.com/us-news/2015/feb/25/chicago-homan...
> Even if you could make a good case for eliminating the patent system, which I think would be difficult, undoubtedly it's much more difficult to make a good argument for why only the super rich should be allowed to own intellectual property.

Um, have you looked at the patent system lately?

Only the super rich can afford the legal fees to enforce their patents, anyway. It doesn't matter if I have a patent if the big guys can just grind me into dust, anyway.
SQLAlchemy core basically is raw SQL in Python syntax, but better - it's composable, whereas plain SQL isn't. SQLAlchemy declarative looks similar to Django's models, except it was designed from the ground up to handle multiple transactions and DB connections, which isn't necessarily true for Django's ORM. I wouldn't be afraid to say that SQLAlchemy is a state-of-the-art tool in ORM space (not only Python ORM space). Flask-SQLAlchemy extension adds some niceties that make it look even more similar to Django's framework.
What would it take to convince you this is something worth worrying about?

Being very interested in this field myself for a few years, I know plenty of people who do worry about AI. But since other people have already mentioned some of them in the comments and been dismissed, I want to make sure we're on the same page: what do you consider to be convincing evidence that it's an issue worth thinking about?
TextSecure/Signal - https://whispersystems.org/blog/bithub/

I couldn't find any USD donation button, which is quite strange. They also don't have a donate button on their site. You can donate here, though, and to a few other projects, too:

https://freedom.press/bundle/encryption-tools-journalists

There's also these guys here - but I couldn't find any donate button. Jesus, why are they making it so hard to give them money?

https://guardianproject.info/

OTR - https://otr.cypherpunks.ca/donate.php

You could also donate EFF, which is funding some cool projects such as HTTPS Everywhere, Privacy Badger and soon the free certificate authority https://letsencrypt.org/.

https://supporters.eff.org/donate

Tox - open source Skype alternative: https://donate.tox.im/
I don't think hacker news has a PM function, just shoot me an email: boredOSHacker@gmail.com
Do you really think the disagreement is because we've never heard that argument before? That all the people who think this way have just never been exposed to Brazil, or Minority Report, or any of the other thousand works of fiction in which this idea is shown?
As someone raised in the south, I picked a heck of a year to move up to Massachusetts, didn't I?

What do you all do to avoid going stir-crazy when the snow leaves you stuck inside the house for days?
Among Trillions of Microbes in the Gut, a Few Are Special
IMO, 1 in 26,315 years is a terrible way to present low odd events. 4 per 100,000 years is much better as people don't think this can't happen again in my lifetime and you don't add a lot of false accuracy.

PS: Also, these are not independent events so those long tail odds are likely way off base.
Yeah, me too. I've done effective pair programming but my most enjoyable programming experiences are when I'm isolated (ideally at home) and focusing solely on the problem. Being in a pair prevents me from getting getting into that flow state.

Having said that, pairing is great for solving production problems. I remember one time right in the middle of a critical revenue period when we were having severe performance issues that appeared to be tied to our caching layer. This had been going on for about a week, with individual team members working on it, and we hadn't figured it out. Finally, it was the day of the company holiday party, but a handful of us were so uncomfortable with the state of the system that we coudln't enjoy the party, so we grabbed some beers and headed back to the office. In the space of 3-4 hours working (loudly) together in the empty office we'd hacked together a fix that got the system back on its feet until we could figure out the real solution. Someone would have got there individually, but the amount of work that little group got done in such a short period of time is one of my favourite programming memories.
The theory is good, but the specifics of JS syntax, the type system, and the lack of support from the standard library make functional programming much less fun to use than in proper functional languages or even C#.
Oh oh, looks they got to him. Link is now returning a 403:

Forbidden

You don't have permission to access /essays/archives/2014/02/its_time_to_break_up.html on this server.
Apache Server at www.schneier.com Port 443
4 different internships and all said no except goddard which is replying soon i think.
Trevor Norris informed me that C++11 must be supported for the version of v8 that iojs ships with, which means node native module authors can use C++11. The native stream stuff looks neat, too. As an author of a node native add on, I look forward to this iojs/node fork stuff being resolved, so that I can start using new features. Until then, I refuse to make drop support for node.js.
Well, you answered your own question ("what's the point?"): because not every application is "app stack + RDBMS". There are many situations where your backing store is not an RDBMS. There are many situations where you are not rendering templates. There are many situations where queries take seconds, while rendering the result takes microseconds.

While nginx is a very useful tool, it's not the application layer. What if you need your application layer to be fast and complex? What if your application layer works on streams, not rendered HTML pages? What if you want to support server-client notifications via WebSockets? There are so many different situations where a "block this request processor until the request is served" does not work.

Having said that, I'll repeat again that async is not what you should reach for unless it makes perfect sense for your application. If you are building an RSS fetcher, sure go for it. If you are building a product for which you see peak usage of, say, 1m users, go for it. However, for most people, time to market is much more important than peak performance after you can't scale the hardware cheaply. That's where Django (Flask, Rails, etc.) make more sense.
Welcome to HN :-)
How about Jeremy Howard, former President of crowd-ML-competition site Kaggle and now founder of ML-medicine company Enlitic?

http://www.reddit.com/r/Futurology/comments/2p6k20/im_jeremy...

The opinions of leading-edge researchers are valuable but not necessarily dispositive. Often, it benefits a researcher to be oblivious to the larger or darker implications of their work. Boundless optimism and a maniacal focus on only-what-is-knowable-right-now delivers publishable/actionable results, all the other 'speculation' is genuinely a "distraction" for them. That doesn't mean it's a distraction for us.

Often the speculators and entrepreneurs ("billionaires and pundits") are more talented than researchers at projecting trends and social-economic interactions.
Neat trick. I'm going to remember this.
So is the default use case this?

process.on('unhandledRejection', function(ex){
throw ex;
});

...the idea being that it's analogous to an uncaught exception bubbling up to the top and causing the process to crash, which is generally what you want to happen?
“40 years ago we had Pong”

That’s very slow progress. We still have games on 2D, pixel-based screens. Better ones, but same qualitative idea; same order of magnitude in human experience. (VR is has not proved mainstream, yet.)

I say this because real-world, qualitative change is really slow. Despite all the activity in dating or real estate sites, most marriages and houses look like they did 40 years ago.

I say this to point out the difference between technical progress and real-world change. It takes a lot of the former – many orders of magnitude – to move the latter a few % points.
There is also Benjamin Pierce's Basic Category Theory for Computer Scientists:

http://mitpress.mit.edu/books/basic-category-theory-computer...
There is a short regression for https://github.com/iojs/io.js/issues/932#issuecomment-760226...
Sounds like they are betting on a few fast pipelines instead of several robust ones. With pair programming the speed of mutation is also halved which means the benefit of feature branches decreases (i.e. it is actually statistically less likely that the CI fails per unit of time).

I usually pair program when the work benefits from two noggins working on a problem. I.e. team up when the situation needs it. I've never understood forced pair programming. Information diffusion mechanisms which lack archivability and discoverability (i.e. wikis) sound fragile to me. As for accountability ... source control submits are fairly discoverable.

Intuitively, this sounds analogous to a situation of fast prototyping versus working on an established production code base - in the former you want to progress and iterate fast, in the latter you want to progress profitably by being damn careful.
At this point, how does this not count as "code reviews"? You may not be using a PR based workflow, but it sure sounds like code reviews are in fact happening beyond simply "pair programming".

Not only is the blog title a little inaccurate, it's also clickbait.
> I hope you aren't a researcher

Andrej is a brilliant researcher, currently doing his PhD. He has a bright career ahead.

Maybe you should actually read his comment instead of dismissing it crudely, and likewise for the thoughts of the likes of LeCun, Ng, Bengio, etc. These are the people I would listen to, not the Nostradamus pundits.
And the same will be true of all the billions of people that you think are making bad decisions today.
BEWARE 22 of the Most Epic Product Fails in History
This is a very interesting problem. A few things that I rarely see discussed, but I think are valid points.

We, humans, are a byproduct of similar evolutionary processes that (at least in theory) the computers would go through.

We as a species seem to have settled on a few interesting "rules of thumb". We value intelligent life, in all its forms. We value collaboration and have found that democratization is the best (though perhaps not the most efficient) way to govern.

Though I would of course be cautious, it is worth a mention that it is perfectly plausible that these are the same conclusions that "optimized learning algorithms" would come to as well. Except they will theoretically figure this out in a matter of minutes or hours while it has taken our species millions of years to get to this point.
China drops Apple, Cisco and Intel for state purchases
This is one thing Vancouver has going for it: density. There's far more for-sale development than necessary and nowhere near enough purpose-built rental buildings, but at least the new development is more 100+ unit condo towers in the same square footage as four single-family homes.

That, plus new investments in public transit (and, hopefully, more to come) means more walkable neighbourhoods, more services more accessible to people, and fewer 90 minute commutes on car-clogged freeways to get to a choked downtown core and $25/day parking fees.

Vancouver is trying to be a lesson to the world in sustainable, eco-friendly living, and I'm really hoping that we can make it happen.