skysight-inc/HackerNews huggingface dataset:
Awesome article, but be careful of tying your JavaScript applications (SPI, in the essay's parlance) too tightly to specific URLs and HTTP requests, as demonstrated in his Roweis example:

.view('institution', {
route: 'institution/:_id',
gets: {
institution: '/institutions/:_id',
m_and_e_list: '/institutions/:_id/me'
}
})

Raganwald explains that moving to "#institutions/42" will make 2 GET requests, one for the institution, and one for the M&E list.

But there's no real reason to cargo-cult a traditional Railsish-request-response-webpage interface onto an entirely client-side application. Now, besides the fact that making 2 HTTP requests for a single institution is less than ideal, what happens if you want to load a handful of institutions in the background, without changing the URL? What happens if you'd like to not repeat the institution request if the data has already been loaded once?

Compare this to the equivalent with full-blown models, using something like Backbone.js:

// Load the initial data.
Institutions.fetch();

// Only load the data if it's not already present.
if (Institutions.isEmpty()) Institutions.fetch();

Being able to work with model data in sophisticated ways is the heart of JavaScript applications -- if you omit models from a JS app, it might feel like a simplification at the beginning, but as soon as you want to perform an interesting computation, optimization, or rendering trick, you'll start to regret it.
I could tell you that I know a guy who used to be pretty close to the top of the currency trading group of a major international bank/ib and that he's in contact with traders/investors/programmers etc. that may have an interest in putting some cash in your project. But if you yourself work in the the industry, I don't see how that would make a difference for you since you would already come across such people in your day to day work.
Your problem is not the money. It's a mental problem. What motivates you? Money? Gorgeous women? If I told you that I guarantee you a billion dollars and a date with Heidi Klum if you got 100,000 subscribers in 9 months, would you tell me it's impossible? No. You'd find a way to do it.
So it's just mental. You've lost your muse. Go out for long walks. Refresh your brain. Stay away from your project. Reduce your work hours or ask your boss if you can trade your 2 weeks vacation for a few months of 3 day weekends. Recharge your batteries and your energy level will go up like the hero of your favorite game. The go at it again with the newly-gained wisdom of realizing that starting a business is not only not mostly sexy-publicity-fun-and-games, it's ALMOST NEVER sexy-publicity-fun-and-games except for a few darlings like, say, Facebook. But if it helps take a look at Steve Jobs at Apple. He's everywhere now because of the huge success but can you tell me what he was up to from 1998 to 2003 or so? Aside from launching the iMac, you can't tell me anything. Because he put it the hard work slowly but surely in relative quiet and isolation.
You have to do the same. Love of your business will make you want to get up and do it. It will fuel you to do things you "don't want to do." But if you're just doing it for the big IPO payoff day with sports cars and sexy playboy bunnies, that is not only too vague of a payoff but it's too out of your control and distant to help drive you through the tough times in your business's life.
> I'm just surprised the favorite editor wasn't mentioned.

It was, at least inferentially: Emacs.
In what ways have you found aspiring hackers participating in open source projects use Github to become competent hackers?

Also, thanks for the very inspiring talk at Startup School.
> True scientists celebrate failures.

No.

Scientists try to produce knowledge. Scientists don't "celebrate" failing to produce knowledge.

Note that producing knowledge is not the same as producing other goods or services that may be related to said knowledge.

For example, learning why something that "should work" doesn't is a knowledge success. However, it's a failure to do whatever "should work" is supposed to do.

By the same token, just doing something that should work is a knowledge failure even as it's a success at doing whatever "should work" is supposed to do.
Google Web Toolkit JavaScript Vs hand Crafted JavaScript benchmark
thank you :). I'm actually updating it with the subject line. I literally spent 30-60 minutes on that subject line testing how it would show up in Gmail.
class, batch, round, whatever you want to call it really.
If Python > .NET, where does IronPython fit in the ordering?
I am very angry about this. I was damned close to going live. My code was written. My backtesting showing amazing results.

Now every douchenozzle on earth will be onboard the bandwagon, and render it useless.

EVERY TIME I HAVE A GOOD IDEA SOMEONE BEATS ME TO IT! WHARBLEGLARBLE!
It's the most counter-intuitive thing in the world that rand() rand() is less secure than rand(); shouldn't it be twice as unpredictable?*

Under some reasonable assumptions, rand() + rand() mod 1 is twice as random! If both calls return independent samples, and at least one of the calls to rand() returns a uniform sample in [0,1], then the sum will be uniform on [0,1].

So if you assume you get at least one good shot and that the other is not specifically correlated to it, you'll be improving your randomness.
I originally posted that I thought books were exempt from charges, but then saw someone right below had already said (and with more certainty than me!).

Sorry, probably should have either left it there or deleted it entirely.
Enh, borderline. I think of it as a pun.
It took three months to go from inception to private beta. We used an invite only system to introduce artificial scarcity and drive buzz on Twitter (each new signup got five invites to use). After six months we launched to the public and started charging for private repos. Because we had such a great beta period, we converted a large number of users that day and were making money immediately! For the next several months we put every dollar that we made into the company bank account and let it accrue.

One year after inception I was faced with a choice: take a full time position at Microsoft (Powerset had been acquired) or quit and go full time at GitHub. We were making enough money at GitHub to pay low salaries for the three cofounders and we decided to Hire Scott Chacon at the same time. So we went from zero to four full time salaries in one day, a year after starting it on the side.

Over the next six months we incrementally raised salaries for everyone as we hit specific revenue goals. So about 18 months after inception we were making decent salaries. We also hired Tekkub to do full time tech support in this timeframe. Our next hire was Melissa, our office manager a few months later.

As far as revenue at these milestones, we were always profitable. We only hired when we had the money to do so. For the first 18 months we didn't carry much balance in the bank account. We used it to hire great people.

Being a subscription service means that recurring revenue is extremely predictable. We've never had a month where revenue has dropped, and we can predict the increase in monthly revenue quite accurately as well. Growth has been surprisingly smooth (not spikey).

We now make money from GitHub.com, GitHub FI, Training, the Job Board, and merchandise.
We're currently using Redmine to keep track of tickets, but it's a bit of a pain having to manage it separately from our code in GH. Are you guys planning on overhauling your issues system to be as slick as everything else you offer?
I'm curious, are you on a touch screen device? I've accidentally downvoted a number of times because I missed the little arrows with my fingers. It's frustrating that I can't change my vote afterwards. Does anyone else feel like this is a problem? Seems fixable.
Just finished adding that code. Thanks ultrasaurus for pointing that out.
Generating graphs of Twitter using R and Gephi (retweets and @-messages)
I was wondering if you purposefully left it out! Very interesting post, and it made me rewrite my pitch-email (again). Thanks!
Oh well... Nice!
What does this look like, quora?

8=============D~~~
Seth Godin: The Truth About Shipping
Thanks singer. I just added that code to WeatherLoop°
BTW - My 'Calmness Indicator' was simply the ratio of capital letters and exclamation marks to other text. It wasn't 87 percent, but close enough.

HULK SMASH! BAD SCIENTISTS! BAD!
The point of the comment was to demonstrate that sometimes, it's worthwhile or at least interesting to compare (or actually, contrast) bananas and oranges, like Python and Lisp.

(Also, I had already posted my small contribution to the original topic)
The site was virtually unusable for me due to this, it really is critical.
Well Scala existed at that time (2003), but that's not what he'd said. If someone had showed him a 2008 book on Scala in 2003, he'd have not created Groovy.

All that said, Strachan isn't really involved in Groovy and hasn't been for many years, so I'm not sure his views on the language or its appropriateness is of that much concern. A whole new team of people have been running with Groovy for years, and continue to make it better and more useful to people.

Scala is different enough from Java that syntactically that it's a hard sell for many. Groovy is far more Java-ish for Java devs to pick up, and as such I think it will continue to have a growing userbase for the foreseeable future (but I'm biased, as I run groovymag.com!)
Io (http://www.iolanguage.com) is a bit of an exception then.

Its homoiconic but its not a Lisp. And it doesn't have macros yet its code is fully inspectable/modifiable at runtime in an very easy & elegant way.

For eg. if you wanted to have a line like this:

list(1, 2, 3) each foo bar

which needs to be transformed into below at runtime:

list(1, 2, 3) foreach(foo bar)

Then this can be done like so:

List each := method(
m := call message
m setName("foreach") setArguments(list(m attached)) setAttached(nil)
self doMessage(m)
)

ref: http://www.iolanguage.com/blog/blog.cgi?do=item&id=86
> But Python has the edge (with a large number of students) when the main goal is communication, not programming per se.

Communication is increasingly the more important part of programming. Engineering is only really useful if its well communicated, or in a binary you trust.
I think this is REALLY common.
Spinner Rage
Google's Demo Slam - What is it?
Damn you're right, silly me :)
Virtually everyone at the startup I work for uses vim in a terminal.

I don't, because while I know vim verbiage, I've never found it more productive than having a big fookin' screen with TextMate and some terminals floating around.

I'd probably feel differently if I went back to working on Linux.
The only question that I have is: How many GitHub engineers could pass a Google interview?
No, that looks like an ascii dong.
Quora doesn't make it easy to compile a bunch of questions and answers in one place. This is a much better forum for these discussions.
Oh man, I would totally upvote you in thanks, but I'm too lazy. Not to mention the moralist in me wanting to instead berate you for keeping the lazy that way. Luckily the karma whore in me has trumped all that and convince the rest to reply with snark :)
I can neither confirm nor deny that we're working on kickass improvements to GitHub Issues.
I've accidentally down-voted only when using my iPad to browse HN. That and accidental Facebook "likes" can be a terrible ordeal.

How would you fix that though?
I recently read that Disney primarily bought CapCities/ABC because of ESPN.

http://abcnews.go.com/Entertainment/wireStory?id=11617149
Yes, I agree that the electrical signals produced during ones heartbeat are much more likely to uniquely identify (authenticate) an individual than ones pulse.
These are very valid criticisms, especially the error issue. That's probably my biggest gripe about clojure. The huge error tracebacks for trivial mistakes almost brings back memories of C++ templates.

I mentioned one of these particular instances on the mailing list once but didn't get any response. Perhaps it just isn't that big a deal once you work with the language a lot.
In modern culture, that rote memorization is what passes for "smart" now.

Not for long. Mobile Google has turned Trivial Pursuit into a typing competition.

I'd also question the use of the phrase modern culture here. In nonliterate cultures memorizing facts didn't just pass for smart, it was smart: An unmemorized fact was an unrecorded fact. In pre-Gutenberg literary culture paper, ink, and literacy itself were still sufficiently rare and expensive -- and entire books so much more expensive -- that it was still an important skill to be able to memorize lots of things.

(Those were the days when books were so costly that universities owned one copy of each book, and "education" consisted largely of copying out books that were read out to you by the lecturer. If you didn't copy down every word of Galen correctly as it was read out, you might be doomed to cite Galen wrong for the rest of your life, because it's not as if you were likely to be able to afford a copy written out by someone else.)

Now that paper is mass-produced by the ream, mass literacy exists, and even visual and auditory memory is heavily augmented by portable digicams and audio recording tech, we can afford to memorize less than ever before in history.
Did you give it a 'College Try?'
How Google tested Google Instant
Aha, we should leave it to pilot to decide what he brings onboard. After all he doesn't want to lose his job, right?

We may also totally skip flight school certification requirement - after all pilots don't want to die either, right?
HN is getting close

http://www.google.com/trends?q=%22hacker+news%22,+%22doogie+...
Very cool - can you add dates to the lists of articles, be nice to see how old an article is (or maybe color code the list to provide two axes of relevance)?
(Sidetrack) Does the slightly rotated text look all jumbly to anyone else? Here's what I'm seeing http://i.imgur.com/7KE3O.png

I can think of a bunch of legit uses for CSS3 transforms, but rotating an entire body of text isn't one of them.
Desktop Linux: The Dream Is Dead
Nice timing for me. I'm writing a book called "Self Promotion for Geeks" inspired by about 120 upvotes I got a cpl years back on HN talking about such a project. The "reluctant" geek, like this guy, is exactly who I'm aiming at (because there are plenty of good self promotion books out there already for the people already raring to go). I have no link to plug yet but if you're interested, you can probably figure out where to follow me.. :-)
I Have a Problem
You used to work with this guy? Says he is from powerset.
Gabriel,

In Googling "namesdatabase" I've come across some old claims of allegedly dubious practices of the site that occurred while you were running it. I know your reputation is stellar here and that you contribute much to the community so I was more than a bit surprised.

May I ask, have you addressed these allegations somewhere? I'd like to give you the benefit of the doubt, so I'm wondering where I can read your side of the story. Is there an HN thread or blog post you can point me towards? Many thanks.
right. but the old internet... the way it used to be was that there was no real difference between a "client" and a "server" - an IP address was an IP address. Yeah, for most people, the Internet is the web, and that's enough. And nat works great for that.

The problem with enforcing this idea (that you have "clients" with private addresses behind a NAT and "servers" with public addresses) is that this won't be able to change. Doing peer to peer gaming, filesharing, video chat, etc... through multi-later (or carrier) nat is very difficult. It works through our home NATs right now, well, sortof, because there is one public IP for 2 or 3 computers. Upnp and other tricks can usually handle getting through a single layer nat with only a few private IPs behind it. If your ISP owns the nat and has hundreds of people behind the same v4 public IP, or in a double layer nat, where the ISP gives you a private IP behind a nat (that obviously doesn't support Upnp) suddenly this is going to work a lot less well.

Now, you can solve the problem by just making everything client-server. Want to video chat or game? each person needs to connect to a server with a public IP and talk through that server. It's doable, but it means that the Internet the next generation grows up with will be a different sort of network than the Internet I grew up with. This network will be one where you are either a "server" or a "consumer"

Some people say we've been moving in this direction for a long time, but this doesn't make it any less sad.

(also note... it's not just nerds that get screwed... if anything, gamers will get screwed more than nerds. Nerds can get VPSs that work just fine for most anything a nerd would want to do. VPSs, generally speaking, make shitty game servers, though.)
The new shipment of Fork You shirts will arrive at our office today. We will get the inventory online right away!

The BitBucket/Atlassian deal is interesting. Especially the price points they think they need to establish in order to make their offering attractive. I really don't think about it too much, I'm too busy making GitHub the best place to collaborate on code!

We don't talk about planned features. We find that if you talk about what you're GOING to do, then people will just be angry that it's not finished yet. If you wait until you're done, then people will go crazy over the shiny new feature. Apple knows how this works. Judge for yourself which approach you think works better. =)
>Um. If the burrows were passed along paternally instead of maternally, and it was the female squirrels that moved about and the male squirrels that stayed in their borrows,

you must be kidding. "If". If a grandmother had balls, it would be a grandfather.
Ha, no no. I was sitting down at lunch, reading comments, and im like holy crap, i forgot an important part.
Redis, from the Ground Up
Insight into "culture of poverty"
I would just disable down-voting on touch screen devices. At the expense of some functionality you avoid the issue of hiding valuable content.
Jobmine. http://www.jobmine.uwaterloo.ca/
Everything sucks about it. Everything.
Now I am curious: What does the HN audience think? Should he put bio #1 or bio #2 on their companies about page?

I would recommend #2, the "Harvard" version.

(I ask because we are discussing EXACTLY the same thing at the moment, only with Stanford instead of Harvard :-)
"Keep your team small. Smaller than that. No team at all if you can help it."

I've heard this suggestion from a burn-rate-limiting standpoint, but not from a productivity standpoint. If single-person teams were more effective (which I don't believe they are), why aren't they used by companies like Google that take pride in smaller teams?
Is there any concern at all about alcoholism at Github given the success of your drinkups? For instance, does the health plan now cover rehab and alcohol induced cirrhosis?
Sorry about the search box being inaccessible. When designing it, I took into consideration that 99% of my visitors arrive with >1024 pixel vertical resolution. I'm curious though: as a lifelong Mac user, is your 575px-tall browser window limited by your screen resolution?
How did you decide when it was time to stop and try something else?
Dali didn't do that to refresh himself. Rather he was seeking the brief moment of heightened creativity one gets immediately after waking up and feeling slightly disoriented. So I wouldn't recommend it if your goal is to straighten out your head :)
Ask HN: Instant Messenger Social Plugin for your website
Hi all,

We developed an Instant Messenger social plugin that can be integrated to any website in 1 line of code (iframe).

This adds a viral component to any website as users can invite all their friends directly over instant messenger.

It is trivial to add to any website, and trivial to use.

Would you mind giving us feedback on this?
Widget available for trial at http://bit.ly/bmqN0d

Thanks a lot,

Seb

PS: Free to use until end of November, just email seb-at-comufy.com if you would like to give it a spin.
Agreed on this point - it was the first thing I looked for.

I was hoping to use this site as an alternate view into HN to find semi-recent submissions covering specific topics.

In addition, it might be nice to expose the popularity of the article somehow. Something that got 24+ votes is probably going to be more relevant to me than something with only 2.
The next time you clear your cookies, you have to go back to this site and opt-out again.
For the About page I'd probably go with a modified version of #3 myself... but then again I too am pretty reluctant about self-promotion and would rather talk about what excites me now than what I did 5 years ago.
“Attention Walls” In UX Design, For Productivity In An Attention Economy?
I was thinking about Aza's Post and how it might be a more general UX Pattern for messaging. http://www.azarask.in/blog/post/chinas-great-firewall-productivity/
Making the user the namespace for code instead of the project.

Growing slowly and embracing the constraints of a limited budget in the early days.

Hiring only the absolute best people that we could find. Hiring people that we knew through their code. Making sure they were good cultural fits.

Not getting an office until two years after we started GitHub. Campfire was our office in the meantime and that let us put what money we did have into hiring the best people.

Always thinking for ourselves.
Most people seem to say batch. Since batch sounds a bit informal I often say cycle in stuff I write about YC, but no one ever uses that.
If a scientist doesn't know why .1cm=1mm, that person is stupid, memorization aside... actually if they took the trouble to memorize the SI prefixes it would be a trivial conversion.
Why did you choose git instead of hg, bzr, fossil, etc?

Also, what do you see as the future of git? Where is git going?
Link to GitHub FI for anyone else who was unfamiliar with it: http://fi.github.com/
Trading Up: Drive BMW; Shop Costco
Yes. He shows a very good example of a short pitch, to the point, catchy without being misleading.

I'd like to see the initial response he got. I know the TC folks, did he get more than "send me more?"
It's certainly the reason you would cite now, with 20/20 hindsight.

The power of the broadcast networks went downhill pretty soon after that deal, so it seems curious that Disney (then mostly a theme park operator and movie studio) would buy the whole shebang in order to get a sports network.

Maybe Eisner would understand that by buying ESPN, in ten years he would have the greatest leverage against cable operators in carriage deal negotiations.

Maybe. He also bought Fox Family for $3 billion six years later. I wonder what he's saying about that deal now.
This reminds of a HN article (last week?) from a VC who was only half interested in someone presenting to him until he found out after the fact that she was uniquely qualified at the subject at hand. He was saying that she should have started with her bio.

I think that that applies to this as well. You only have a few moments to really capture someone's attention these days and you have to use every gun in your arsenal. Techies (like myself) tend to downplay or outright denigrate marketing and sales tactics, but there is a lot of truth to them that we would do well to follow. Sure there are some slimy tactics out there, but polishing your elevator pitch (e.g. option #2 in the article) is essential.
What do you think about Israel?