skysight-inc/HackerNews huggingface dataset:
- Can't do pull requests on the graphics.
- Can't download the svgs.

The only thing that is open source is the implementation.
it can be dangerous to have a sociopath in the President's seat

On the other hand, it seems to me like certain sociopathic behaviors would be ideal for someone in the position of the President. Boldness, ruthlessness, and a lack of empathy would all be helpful getting things done, even if they are unseemly or unpleasant.
Has something changed with gmail imap recently? I use Apple Mail every few days mostly just to keep a backup of my several gmail accounts. After reading this I remembered I hadn't done this in a few days so I opened Apple Mail on my Macbook (not upgraded to Mavericks yet) and got password prompts for each account. None of the passwords I entered was accepted. I can log in through the web just fine.
Why the NSA's defense of mass data collection makes no sense
Even if it has a lot of resources behind it, if it experienced an outage, the end user would be unaware that their mail service is still up, and since they didn't change the settings, they wouldn't know they could remove the proxy to access their mail until the outage is resolved.
The point is to draw attention to the fact that the meaning is not necessarily that which is immediately apparent.

Correct, and this is a paraphrase of the Wikipedia definition of "scare quotes." However, all scare quotes imply an unstated different usage, which, if you re-read, is what I was asking about.

Generally, the solution for this invitation for misunderstanding is to use the proper words to convey the writer's meaning, or at least to use more words. I was simply asking for clarification before proceeding under a misunderstanding.
GWT-Stripe
I believe they use OAuth for Gmail and Google Apps, much like Mailbox.
Hi iamshs, we just noticed that we are getting traffic from HN, pretty wild, we've barely stabilized things and now traffic is picking up again. Yikes.

When you say the code editor disappears, do you mean the entire right pane of the player screen? Could you send me a screenshot and any steps to reproduce it at george@codecombat.com? Would love to get that fixed for you.

What browser are you using by the way? Although it's technically capable of running on FF, we had a lot of problems on FF and basically told people to just use Chrome after a while. We need to get it working properly on FF, but that's the simplest solution for now.

Yes: polish is definitely coming up! I agree with you that the whole "switch between mouse and keyboard" thing is bogus, we need a more complete keyboard shortcut list.

The languages we are most interested in teaching are Javascript, Python, and Ruby in that order, but it will be a little while before it's ready for those new languages to be added. In the interim we're just going to be building out content for the JS campaign.
I think ruby has it nailed better.

a[1..10] # elements from 1 to 10, including 10
a[1...10] # elements from 1 to 9; k...n is a half open range notation
a[3, 5] # 5 elements, starting from position 3

Arrays are still zero based, but I feel this is more a homage to for- and while- loops from older languages.

(for (i = 0; i < n; i++) is just a very nice notation, and so is while (i < n))
RAII is used for idiomatic cleanup from a function. In C the way to handle that would be to have a cleanup section in every function and then doing a goto to that which adds clutter to the function.
So, in what way are China and Iran to be considered equal here?
Pinterest engagement metrics are (at least as of six months or so ago) higher than those of Facebook, Twitter, and Tumblr, and users have much more clearly defined levels of purchase intent.

In a world where Tumblr and Instagram hit star-studded exits, I would be incredibly surprised to see Pinterest fail.
Awesome job!

A few things immediately jumped out at me:

1. On an average, Fox, seems to be more positive than CNN. Hmm.

2. The headlines were more positive than most {sources/days} on CNN Politics in the second half of 2009. Obama's election is the only story I can think of that could have affected all the sources, but I may be wrong.

3. Around the same time, (shortly after the election results, in fact) HuffPost saw a sharp decline in the positivity of their headlines and dipped into negative. Hmm...

4. The overall trend of headlines is more positive than negative, leading me to wonder why is it that, as a people, we are so cynical.

I'd love to see a graph that plots the median instead of the average of the daily scores. Also, I dunno much about the Alchemy scoring, but quite a few of the headlines (~30-50% per day) seem to have scored 0.0 - is that bad detection or consistently neutral reporting? If so, I suspect the median graph will look a lot different.

I'd also love to see a similar analysis for non-mainstream media - especially, aggregators like reddit, HN and slashdot. Maybe, you could add the post ranking/comments/karma as other variables and attempt to refine the analysis further?

Just bouncing a few ideas, that all. All in all, good job. :)
> If anything, JFK's story reinforces for me the great amount of latitude we can have in a president without fearing that the world is going to blow up.

For me, it underlines a stronger message, since JFK is widely considered to be one of our better presidents, and I personally rank him as one of the two or three best. It seems that how good of a person someone is, is not a good indicator of how good of a president that person will be.
Love the concept, will definitely be interesting to see what you come up with to teach some more abstract lessons. Wish you all the luck.

Here's a small big from the couple minutes I spent playing with levels 1 / 2: While it does execute the code on the right perfectly even if it's not the expected optimal entry, the camera focus during a playback will lose sync with the "spells" if you add a few extra calls like moving left and right.
If the article is correct, then ironically, reading this article made me less creative.

But I certainly think there's something to be said for detaching from external stimuli and taking quiet time. Last weekend my phone ran out of batteries early in the afternoon and I was without internet/mobile until I got home late that night. I had all sorts of realizations about my area of work--things that I was looking to answers for externally but hadn't taken the time to process myself.
please keep your pseudoscience in your pants. your silly book has been disbarred, and now proper mocked
http://boingboing.net/2013/10/20/dsmv-reviewed-as-a-work-of-...
It's too bad HN's title policy means nobody here will see this, as it's a really interesing read. Hopefully, the post about 0-based indexes in Python that's on the front page right now [1] will point some people to it. (that's how I found it)

[1] https://news.ycombinator.com/item?id=6601515
This is an unconvincing argument to me - if antibiotic resistant bacteria survive, why would finishing the course of antibiotics make a difference?

Does it clinically happen that stopping a course of antibiotics early causes an antibiotic resistant form of the infection?

(I couldn't find evidence either way, but I did find a few articles saying typically prescribed course lengths could be safely reduced in the effort to reduce antibiotic use generally)
yes I felt very sad for the rest :(
For this specific aspect of the problem, you'll probably find some inspiration in code bubbles, debugger canvas, and Light Table. I implemented a prototype of the former in VS before I left MSFT, it later became the basis for the debugger canvas, and then Light Table happened.

[1]: http://www.andrewbragdon.com/codebubbles_site.asp

[2]: http://visualstudiogallery.msdn.microsoft.com/4a979842-b9aa-...

[3]: http://www.chris-granger.com/2012/04/12/light-table---a-new-...
so C doesn't have proper type safe enums (though you could hack those up with typedef + cpp), but does require casts for most type conversions (except those for void*).

pascal style strings can be done with the preprocessor, as can generic iterators, allocation for idiots, and "out" function arguments.

memory pools are a library feature.

and the arrays are the same too, a pointer in pascal can be treated as an infinitely sized array, but the reverse isn't true, just like in C.

and, believe it or not, there are other languages in the C family, that provide safety in the same way there are for pascal.

tl;dr: pascal and C are more alike than different.
"Anyone who thinks they know what's best for 300 million people is a titanic asshole. So we're just voting for king of the assholes."

--Shit My Dad Says
> I can't imagine typing شبكة would be simple...

It is pretty easy if that is your native keyboard. http://www.foreignlanguagekeyboard.com/images/kbarabic[1].jp...
If you can maintain a competitive advantage while open sourcing your code, then I think it's better to do so. I mean your whole shtick is teaching people to code - so open sourcing follows naturally from that.

Keeping up competitively means keeping your design better than everyone else's and keeping your feature set better than everyone else's. If you do that and open source your code, you'll be alright.
There were already TLDs in non-Latin strings. including Arabic. For example, Saudi Arabia has had .السعودية since 2010.
I think the problem with Android updates is developing them in the first place and getting them carrier-approved, not pushing them out.
Traffic sloshing (basic overview):
Say you have a pool of machines for a service (traditionally this problem is multi-regional, though it technically can happen at any scale). For some reason (machine restart, query of death, reloading, etc) a subset of your backends become unhealthy. This gets automatically detected by your framework, and the traffic gets routed to different machines. Now, you may have under-provisioned your backends (or you have a query of death), so this concentration of traffic on a smaller number of machines causes them to choke. You get a seesaw effect of traffic going around to the different backends, taking them out like a concentrated firehose. These failures all get detected by your framework, which routes traffic away from the backends. What you really wanted was a steady stream to all backends. A lot of load balancing systems have this failure mode. The good ones can detect it and converge back to a good steady state. The naive ones just keep the firehose spinning. It is harder to fall into this trap with simple binary health checking. It becomes a lot easier when you do traffic allocation by latency, or have more complicated health criteria that is easier to fail.

On the health checking/garbage data front:
It's usually more of a problem when something misreports a bad backend, rather than misreporting a good backend. The latter is easy to catch (as you mention, haproxy does it). The former is hard because one misbehaved health-checker can suddenly unload all of your services.
Is it possible to nail something when the approach to a decision between two conventions is to implement all three?
Man. we could play cliche bingo with this post. You confuse a distribution with the kernel, say devices don't work (cos it's still 2005), or exclaim that it's just too hard to learn. Apparently, you've never written a program in C in your 20-year programming career, either. Perhaps someone could do a kickstarter to fund a better trolling template.

but I'll assume you're genuine in your opinions. Try kubuntu 12.10, then come back and tell us how much you hate linux again. I dare you.
The post he mentions is a really good read. http://exple.tive.org/blarg/2013/10/22/citation-needed/

It was submitted here yesterday but got no love.
https://news.ycombinator.com/item?id=6595521

edit: fixed link
Ark does, and with significantly more data.
At several Startup School talks, Ron Conway, probably the most successful angel investor in SV, has frequently said "you never argue with metrics." In a talk at Startup School 2012, he said that he "didn't get" Facebook, but he invested (I think it was the round after Peter Thiel's investment, so very early) after seeing the metrics, "way up and to the right."

Somewhat similarly, USV has a well-known blog post detailing how they really liked the Airbnb team, but they "didn't get" the idea, missing out from investing at the seed stage in a multi-billion dollar company.

There is a reason that metrics (growth) and/or a stellar team are commonly cited by investors as being more important than (getting) the idea.

Notwithstanding that Pinterest is a great idea.
> By that analogy, if you want gold, you plant one of these trees, and get gold for free, which doesn't hold, because you'll never get more gold than how much you put in.

This isn't true, in the same way that it's not true that a gold mine will never give you any more gold than you put into the mine in the first place. There's already gold in the ground.
It's funny, I read all through that with my rose tinted glasses thinking they'd created a local IMAP server on the phone, which would have been clever (and, I think, doable)... in fact I was running this perception until
"Our proxy server is written in Ruby using EventMachine, which allows it to efficiently handle many concurrent IMAP connections"

And I thought, why the heck would one phone be issuing so many concurrent IMAP connections. Oh my naiveté.
This deserves a mention of the "Scheme Story" [1] linked in PG's essay "Beating the Averages" [2]. Conceptually similar to "don't patronize".

However:

>Unsurprisingly, I've found that gamification works.

I suppose it does for plenty of people, but personally I'm not a fan. Saying "don't patronize" and then adding badges, points, and the like as enticements triggers some non-trivial amount of cognitive dissonance in me. Then again, I'm an adult, maybe it provides a structure children need and I've long since lost touch with that.

But a deeper problem with it is that to gamify something you have to measure it exactly, you get more of what you measure, and it's all too easy to measure the wrong things (or even to measure the right ones but still have undesirable untintended consequences).

It strikes too much of teaching to the test, which isn't the best way of cultivating creativity and innovation in students. Students will optimize for that gamification system, instead of optimizing for depth of understanding and creativity and, perhaps, self-efficacy in real world unstructured situations.

Which also begs the question, when teaching young kids, should we be focusing on drilling them in a body of knowledge, or first developing a hacker mentality - curiosity, resourcefulness, and determination to figure this thing out and make it do what you want?

In that light, I find the recent Wired article on the "radical new teaching method" [3] of just giving kids computers and seeing what they do with it much more interesting.

It's well documented that children pick up foreign languages much quicker than adults by mere exposure, might it be the same for computer languages?

How about try giving the class a bunch of Chromebooks w/ a terminal app and SSH, and their own AWS t1.micro, and see if they can figure out how to set up a website, using whatever means they're able to (even Amazon's excellent documentation).

Get a static site up, then build on it from there - HMTL -> CSS -> JS -> backend whatever.

Web development is not exactly hardcore programming, but few things are as exciting and captivating as seeing your own website on the Internet for the first time, and the combination of that plus the relative ease of figuring it out would be perfect for 9-13yr olds, I think.

[1]: http://www.trollope.org/scheme.html

[2]: http://paulgraham.com/avg.html

[3]: http://news.ycombinator.com/item?id=6553155
The article linked from this plus page (http://exple.tive.org/blarg/2013/10/22/citation-needed/) poses the question "why do programmers start counting at zero?" and then shows contempt towards anyone who thinks they know the answer (while dismissing Dijkstra as "incoherent", without argument).

To the author, the correct way to answer this question is by investigating the history of how things happened to end up the way they are, which (apparently) no one besides him has ever done.

While history is interesting, I think the much more important question is: why ought we to count from zero (or not)? And the answer to that question has nothing to do with history.

In addition to Dijkstra's argument, mentioned elsewhere in this thread, 0-based addressing is more efficient (since it can be used directly as an offset, without having to bias it first).

As much as I like Lua, its 1-based indexing is not my favorite part of that language. In particular, the numeric for loop is confusing, because the loop:

for i=x,y do
-- stuff
end

...will execute (y-x+1) times, not (y-x) as it would in most languages, like Python:

for i in range(x,y):
# stuff

Off-by-one errors are some of the most annoying bugs. 0-based indexing and half-open ranges help avoid them in my experience.
http://www.youtube.com/watch?v=6u8AgUXPpLM&noredirect=1
Total upfront costs are a little over a million from the applicants I have talked to.

The entire scheme benefits squatters (who register .shoes, .bacon, and 50 others) over legitimate users (who will get only say, .fedex). Once you Spend ~$800k in base costs (registry software, DNS infrastructure, etc), you just tack on an extra $200k for each extra name you want.
You need both. But the thing is, we're kind of crowding out our quiet time with a bazillion of electronic distractions.
Awesome thank you :)
Explaining it as "basically a way to XYZ" doesn't make it any more agreeable. Stealing your wallet is "basically a way for me to get some easy money" -- so f*cking what?
Show HN: win-notify: simple notifications API for JavaScript Windows Store apps
I agree, its actually the only one on that list that doesn't suffer from underwear gnome syndrome in my opinion. (Yes, I know Facebook makes money but I claim that emperor is naked and on the way out)

Its probably not a coincidence that its also the only one that you can derive value from as a user without engaging in "social" mode. I bet Amazon will scoop them up like they did Goodreads - same sort of thing, much bigger niche.
The only metric investors need to "get" today is the size of the Fed's balance sheet.

The money coming in to Pinterest at a $3.8 billion valuation is no different than the money that flowed in to Twitter in its round G financing.
Crowdfunding + Social Coding
> "hashed passwords"

Take a wild guess at what they are storing this time around.
Its not sexual abuse when you're either the President or in Hollywood.
Reminds me of this little ditty from the 1980's when phones were still decidedly dumb and - would you believe it - still wired. "You occupy your time with such silly things; do you have to go every time the phone rings".
Sister Sledge, Reach Your Peak.
http://www.youtube.com/watch?v=jC5jeYEwbqU
But will the ICANN accept those kinds of TLDs?
Should I get a Raspberry Pi or an UDOO?
Perl lets you choose whatever index you like for the first element, including negative ones.
Was that Codeporium? I believe Noah Richards and Chris Granger worked on something similar according this this comment: https://news.ycombinator.com/item?id=3848543

I actually saw the Codeporium .dlls kicking around inside the DebuggerCanvas package. Most of the Visual Studio interfaces lack a lot of formal MSDN documentation, which has forced me to do some novel research haha.

Edit: Oh, you are Chris Granger haha. I'd also like to thank you for the Visual Studio 2010 editor tutorials, while I have the chance.

Light Table looks fantastic, and I hope it inspires a change within other IDEs as well.
I gave the first level over to my wife (who is a non-programmer, and has no interest in programming, but loves RPGs). Unfortunately, it didn't work out too well. She was able to make it to the ogre, then then misspelled the attack command. At that point, her browser froze, then continued to give her a script error at "http://codecombat.com/javascripts/vendor.js:52612".

Which is too bad, because I'd love to show her that programming isn't as "hard" as she thinks it is.
That's why we don't say that a gold mine grows gold.
Thanks for the clarification, interesting article, and sorry for being a jerk about your terminology. Airing my opinion on the term isn't a useful contribution to the discussion.
Hi Sillysaurus, thanks a lot for the feedback. We've been talking to gamedevs and VCs and so far nobody has raised a flag about opensourcing everything, which is what we're thinking we're going to do. In the words of one VC we spoke to "it's all about the branding and community, who cares who has the code?" It feels risky, but we really think that it's consistent with the intention of the game to make it easy for people to be both players and makers. In a perfect world we'd get so good at educating players they could go through our campaign and contribute to the CodeCombat github repo as their first open source project. That's a ways off in the future, but it's definitely one of our dreams. :)

So here's a question for you: we spoke with a YC alum that has open sourced 90% of his codebase and recommended keeping a small subset of it proprietary. He said that when he was out fundraising it defused a lot of tension when VCs and angels would ask about his open source policy and he could say "well, I keep some of my hardest algorithms in a closed repo." As a game, we have the art, which I agree is a pretty substantial barrier to copying us (many tens of thousands of dollars in our case), but would you still recommend 100% open source vs 90 or 95%?
You worked all weekend and then your boss gives you back just 2 vacation days? Great job!
I love how most of the general public (especially those who lived through it) think Camelot was so classy... like ya know that time the President asked his manipulated teenage mistress to blow his best friend in the pool.
He apologized after Powers called him out; the circumstance demanded an apology.
It's a sad state of affairs when the best option is one that crashes daily.
Using zero reminds you that black is 0, 0, 0 in 24bit integer rgb, while white is 255, 255, 255, not 256, since you only have 8 bits and 2^8 - 1 = 255, not 256, and calling black 1, 1, 1 makes no intuitive sense. Using zero indexes saves a tremendous numbers of errors by habituating on what is more natural for digital memory and the representation capability of intrinsics while creating a nice correspondence between hex zero, decimal zero, binary zero.

The only time this leads to bugs in Python is when using my_list[len(my_list)] instead of my_list[len(my_list) - 1], where the difference between the magnitude of indexing vs counting can lead to intuitive error. However, it's easier to just write list[-1], knowing that zero is the first element, so counting backwards has to start at a different value. Of course you can do something silly like my_list[-len(my_list)] to just be silly.

Indexing is about having some value to get some position out of an array. Zero is a unique number, so it makes sense to use it as an index. If you start counting with your fingers by holding up none and call it zero, suddenly life makes intuitive sense. If you count the numbers that you count on the way to ten fingers, you get eleven unique numbers for those ten fingers. The difference between array length and array indexing. Magic.
Sorry about that testing, our server sometimes messes up the code sync; for now, just copy it, delete it, and paste it in again (all the code). We have it on our list of stuff to fix, but didn't expect another traffic spike so soon and so had pushed it off a bit!
I think web development is the best way for beginners to get into development and programming, because it is simply much easier to get a functional, visual product up and running for you to see without too much algorithmic thinking, thus creating interest in the subject leading to the student working on more difficult things.