skysight-inc/HackerNews huggingface dataset:
> I am still wondering about how Goliath fits into both deployment architecture

Probably in a manner not entirely dissimilar to Unicorn: https://github.com/blog/517-unicorn

I generally do 2x the number of cores (e.g., eight Unicorn workers on a quadcore box), but it depends on your application. A heavyweight application with 150 models and lots of cpu-intensive tasks will suffer more from context switches than a lightweight one which spends most of its time idle.
Well, in my limited experience, Reston VA is a center for a lot of smaller tech companies. But they have a different environment. While they are entrepreneurial, they are not oriented around angel investing / venture capital to the same extent than places like San Francisco. This is because they have government funding and government contracts in lieu of private funding.

Now, obviously there is still a significant amount of VC funding in Reston, but government money plays the role that initial incubator money might in other regions. I, for instance, worked briefly at a startup that was developing technology spun off from a DARPA initiative. My uncle, a VC, was a Vice President there.

Like most things in and around Washington DC, the presence of the federal government changes the political/economic/social/cultural environment in ways that you won't see in other parts of the country.

Baltimore makes more sense, because there's a greater need for startup cash and startup cash will have a greater effect here, since it's not going to be crowded out by government money.
In all cases where we've deployed goliath, its running with a single thread. In theory, nothing stops you from creating a thread to do some background task (or EM.defer), but then you're on your own to make sure you have all the right synchronization logic.

As far as middleware goes, because you are reusing the same "app chain" between multiple requests, you just have to make sure that your middleware does not rely on any instance variables since those will get clobbered by other requests. Check the wiki page on middleware, we have a few examples around this.

Last but not least.. the EM reactor runs on a single core, so you're basically in the same deployment scenario as Thin or node.js. Having said that (always a caveat! ;)), Goliath can run on JRuby and Rubinius.. so in theory we have non-GILed environments there, which means we can start multiple reactors and run across multiple cores from within the same proc. This is not something I've experimented with in practice yet, but in theory its possible.
SXSW 2011 Influencers Guide (party by party breakdown)
Microsoft Excel 2004
I recall reading that they wished they could move to Python, but they decided that rewriting their entire base of front-end code would be a bad decision. It was too large of a task (I believe a Facebook engineer covered this when they released HipHop). So, they are basically stuck with PHP and have made the best of it.
Ha, I half-remembered this existing and tried to Google my way to it, but to no avail. Thanks so much for the pointer!
> Realistically, they're probably going to have to do something about this much-hated "feature" for everyone anyway.

The question is though, is it a feature for some? If so, how many? Twitter's audience is huge. A couple thousand vocal users might be on the minority side.

Twitter is big enough now that it's not going to be able to do anything right in the eyes of everyone. But, they have a ton of data about usage patterns, and other data we don't. I'm willing to bet that the decision to include such a "feature" was backed up by real data.

I'm sure they'll release an update to give you the ability to turn off the "feature" of course, and this whole discussion will be pointless.
I still think that would be the best possible use for all the cool steampunk mansions here in Richmond, Indiana. (http://news.ycombinator.com/item?id=878271 from 2009)
You have a far greater chance of obtaining a visa which lets you work and live on Mars, than you do for the US
I've had a CPA and a bookkeeper doing my personal and corporate taxes while we were a profitable IT consulting firm and while the company was quiescent. I sleep so much better at night knowing the books and the taxes are done right, and having someone else around to keep an eye on them.

Yes, it costs more in real money than doing it yourself. The value of the peace of mind outweighs the cost for me.
I can't speak for everyone, but the opportunity to learn from a bunch of incredibly smart developers and rub shoulders with peers is an honor for me. Plus, who can resist a geek goodie bag full of tech gadgets.

I can't afford to fly to the event or to buy a conference ticket, but I'm going to compete in the GAE one for sure. If I win, at least I will have gotten half way there this year. Hm, need to work for a company that cares (with their money and not their mouths) about education.
You say "pretty" like it's a bad thing...
And if you are worried about vendor lock-in, you can hide it behind a #define
I think the biggest takeaway for me from this is how he had the power to, and actually said, "no" to feature requests. This has definitely been a problem for several projects that I've worked on.
Not a rant. Plenty of code, not just talk. And he made a very good point, at that.
Don't pull. Pull is two operations -- fetching the upstream work, and merging it in to your current branch. It's true that CVS and SVN both let you do this with dirty trees, but it's generally not what you should really be doing. Merges are hard and every update from "upstream" merged into your local changes has a chance of breaking your local changes.

"git fetch" and "git remote update" both let you do the fetch without the merge. Once you have the updates, you can then decide what to do with them, which may have lots more options than just a simple implicit merge that most tools provide: rebase, overwrite, ignore for now and handle later when your work is in a cleaner state, etc.

Git has tools to manage this in the case of long running lines of development. Providing them for uncommitted changes is a much harder task (precisely because you can't name your work and roll back to it), and mostly unnecessary because commits are so lightweight. This is your fundamental issue with git -- commits still feel heavyweight to you.

Git's model really is fundamentally not "get everybody's local changes working with the exact same upstream code" (indeed for the upstream author, they may trust their code far more than the code they are pulling). Instead it is closer to "let everybody pick what changes and history to use in order to create their own coherent source". DVCS means each developer chooses what history to treat as authoritative. As such, temporary commits, temporary branches, and rewriting unshared history are encouraged.
For those who want to see what it looked like:
http://yfrog.com/h7kypp
"What a boring, pathetic, self indulgent existence to never participate in creating something of value."

Please don't make broad value judgements about other people's existence and value systems, based on a single HN comment. Thanks.

It's only "rational" to place more value on the final result if it is objectively of higher quality than the alternative where someone else makes it. Hence my original comment. I made no comment about any side-effect benefits from doing it yourself.
Show HN: JQueryMobile + Reddit + Readability
knocked this up over the weekend. There's still a few updates I'd like to do, such as better comment viewing, handling of youTube links etc etc. My main goal was to get something I'd use myself when viewing Reddit on my mobile. I plan on doing a hacker news version soon.

I'd love to hear peoples thoughts.

p.s If viewing in the browser I'd recommend using Chrome.
The physics feels so organic though that sometimes I shake my iphone in frustration as if that would help the structures fall faster in the game.
If it's not streaming, it isn't competing with Netflix.

I have to assume they're competing with Apple's claim of 100-200 million "iTunes-linked credit cards." Since we've seen that Apple's monopoly isn't in volume, but in customers willing to pay, Facebook's consumer-used credit system is the most logical partner.
This and Sphinx's insanely fast indexing speed are two of the main reasons I like it so much. Java is a huge dependency in my opinion.

Different strokes for different folks. :)
It was a dupe (he probably hit submit twice). The dupe got autokilled. Then he noticed the duplication and deleted the original.
Angry Birds also kept its addictive simplicity as the levels increased, which I don't think the OP mentioned. Plants vs Zombies is another addicting game which shows you as a human desperately planting plant shooters in your backyard to defend against invading zombies. The main difference I can feel is that while both games get more difficult as the levels progress, Angry Birds doesn't make it more overwhelming (you still shoot 1 bird at a time at a more complex building with pigs), but PvZ gets super overwhelming with too many plant types to choose from, too many types of zombies, too many factors to manage to the point where my old iTouch lags because there's too many things going on at once. This loses the user in the mess.
Oh how I wish Braintree was accessible in Canada. We've haven't been very pleased with our payment processor as of late.

About a year ago I actually managed to get someone from Braintree talking with someone from Chase Paymentech Canada (since Braintree supports Chase Paymentech). Unfortunately, BT is integrated with CP Salem whereas CP Canada only processes through CP Tampa.

If anyone has tried to do this in the last year and succeeded, please comment.
Except _why and Zed got along fine. Zed is a perfectly cool dude in person. And regardless of what you think of Zed he builds good tech, shares it with others, takes contributions from other people.
What size dataset are you talking about? I've never seen Sphinx crash even when indexing hundreds of gigs of documents. Are there any relevant bug reports?
Insights On SaaS From The $32 million HubSpot Mega-VC Round
I think you partially missed the point - it's not that throwing exceptions is slow, is that even having them in your code is [allegedly] slow.

According to the article there are two methods used to implement exceptions in C++ - one that has higher overhead when you throw an exception (zero-cost) and one that has higher overhead when you call a function that might throw an exception (setjmp/longjmp).

Unfortunately the author didn't go over the latter method, which would have been more interesting.
Having the baby sleep with you in the bed may very well mean that you don't sleep as well because you'll be paranoid that you'll roll over onto the baby. Or worse, you'll roll over onto the baby!

I sleep with my kids and enjoy the bonding benefit as well as others (like I know instantly when one is developing a fever). Regarding the arguments/justifications above, consider this:

Sleeping in a bed may very well mean that you don't sleep as well because you'll be paranoid that you'll roll off onto the floor. Or worse, you'll roll over onto the floor!

Unless you regularly fall out of bed, are so obese you can't track what all that skin is touching, or have some serious sleep disorder, you're not going to crush your kid.
Easier to setup, doesn't depend on Java, insanely fast indexing, delta indexes. Basically, it's just a fast little search server that handles everything I've thrown at it.

That, and I had a terrible experience using acts_as_solr back in the day...
WTC Attack September 11, 2001 from New York Police Helicopter
Nifty graphs... Too bad I'm not going.
Here’s What Google, Salesforce & Sequoia Are Investing In
Exactly that. But I can see my comment in this page, I just killed one of the two exact copies.
I'm still unsatisfied with your definitions because you're not separating the concept of the expression of a computation from the execution of that computation. A formalized process (read: language) is Turing complete if it can express the simulation of a Turing machine. Since we know a Turing machine can be used to compute anything that is computable, we then know our formalized process can compute all that is compute - it is Turing Complete.

Programs cannot be Turing complete. The concept does not apply, just as a basketball cannot be sad. Programming languages can be Turing complete. A robotic Lego "Turing machine" is not Turing complete, but not because it's not a realization of a Turing machine, but because it's not a formalized process. Robotic Legos, however, would be Turing complete, since that is the formal process used to simulate the Turing machine.
> I can't shake the feeling that people that like CoffeeScript are those that don't "get" JavaScript

I disagree with this (though I agree with the rest of your post). The people that like CoffeeScript (and StratifiedJS and other projects like ObjectiveJ) are generally people that do get JavaScript really well. They just want to make it better.

The problem with CoffeeScript and the others is that they are not JavaScript. CoffeeScript is pretty straightforward in that it hardly even looks like JS and just compiles down to it, but others pretend to be JS but introduce new structures that make them all completely different languages (and do source transformation using JS in the browser).

If you don't know the transformations and you don't know JS very well, all these languages on top of JS will leave you stranded the second something goes wrong anywhere in the stack.

I'd like to see JS adopt some core structures for concurrency, namespaces and more CommonJS stuff instead of adding let, generators and comprehensions - which are nice, but mostly just fluff because you can do all those using the core language already and they're details nobody really cares about.
It does not let you merge if you have uncommitted work, just like git:

$ hg pull
pulling from ...
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
$ hg update
abort: crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)
$ hg merge
abort: outstanding uncommitted changes (use 'hg status' to list changes)
Interesting; I wasn't aware that CoffeeScript makes some semantic improvements too. Everything is an expression is truly value-add.
And, coverage on VentureBeat: http://venturebeat.com/2011/03/08/hubspot-funding-series-d-3...

Also on RWW: http://www.readwriteweb.com/hack/2011/03/salesforce-for-mark...

And, Bostoninnovation: http://bostinnovation.com/2011/03/08/hubspot-locks-up-32-mil...

Even, SEOmoz: http://www.seomoz.org/blog/inbound-marketing-is-taking-off

Lastly, TechCrunch: http://techcrunch.com/2011/03/08/hubspot-takes-32-million-in...
Locally optimized B1 field for MRI systems
That flexible weighting looks nice! Thanks for the link.

Yeah, if I ever use a NoSQL datastore on a project I'll likely end up using Solr. Faster than writing a new Sphinx interface for it.
How to use the new host-a-website feature on S3
Different styles of photomosaics you can make
So, 5% of the time it doesn't meet your needs. I would find that significant.
Can you put the Android OS on an iPad?
A noob question: If I have an expensive background job (say pdf generation) is there a way to make it async and use it with Goliath ?
Yeah, it's great to see someone using a couple dedicated servers instead of a massively parallel web of EC2 servers and all the overhead that comes with it for something that really shouldn't need it.
The grubwithus guys strike me as being a little crazy in all the right ways. I have a feeling they're going to go very far.
Hey Facebook Lawyers, Here’s A Mark Zuckerberg Action Figure
Not if you have a compelling use case.

Is there anything more to YouTube than "Users can create and view content, as well as interact with other users and their content"?
Sounds fun, I'll probably give it a go.

Are you having a theme? If so, consider revealing it a few days before (like maybe the Thursday before).
What should also be clarified are the conditions surrounding the equity. For instance, assuming there's a vesting agreement in place, it's probably set over 4yrs, with a 1yr cliff. So, if this candidate leaves in less than 1yr's time, then he/she automatically looses any equity earned thus far.

Its also interesting that they couldn't get anyone locally since the cofounder also runs a cofounder meetup group (http://www.meetup.com/Co-Founders-Wanted-Meetup/).

All in all, it might appeal to someone just looking for an adventure in the valley without any need of compensation whatsoever (equity is worthless if the startup runs aground) and no expectations.
Requiring all exceptions to be checked is evil. It leads to horrendous abstraction leakage (I need to let every caller know I use FooBarWidget in the core of my application??), improper error handling (just catch whatever comes out and move on so I don't have to declare it), or ubiquitous error wrapping (every class has a try...catch that turns the called exceptions into new exception types to throw).

Ironic that C++ is moving towards that as the Java community is moving away (by relying more on RuntimeException, which isn't checked).
Oodle Attack On Craigslist Falls Flat
When I was in Japan, I saw this gambling machine where you toss a coin into a pile, and a little mechanical arm pushes the large pile of coins towards a big hole. Whatever goes into the hole is yours. (I think there is a similar one on iPad at the moment)

Once you have tossed your coin, the control is out of your hands. All you can do is sit there and watch the mechanical arm sweep. It is over in about 2-3 seconds. The tension climaxes when the arm gets to its full reach, and it is usually unresolved because the coins end up being herded together into an even bigger pile. (Incidentally, this reminds me of Screwball Comedies http://www.greencine.com/static/primers/screwball.jsp, where the male and female characters are kept apart right until the last minute).

It is the same with Angry Birds. When you launch a projectile, most of the parameters have been set. You may have some control later, but it could not "fix" a bad move. So you now have 2-3 seconds where you are totally helpless, and once it a while, all the stars line up and you get rewarded. Like a monkey throwing a stick at a stationary object. This is insanely addictive. It is a hail-mary gamble that works out often enough to make you keep trying. To earn three stars, one needs at least two "perfect" throws. This is extremely difficult and chancy.

The levels have been designed to progressively require smaller tolerance against errors. The Rovio people probably could programmatically control the angle and velocity to see the effects, and from that tweak the pieces to make the gameplay easier or harder.
The key take away:

Sprint has devised a strategy into 4g that is network agnostic compared to others..that means they can bring in any carrier, CDMA, GSM..it doesn't matter as they have the transition to LTE 4g worked out so all MOs plug in..

Basically T-Mobile blew it on getting a 4G strategy ..

Long term Sprint and T-Mobile will merge..

What does Sprint get?

Cash to prop up ClearWire..

Sprint has just as much to loose..ClearWire bankruptcy as T-Mobile if merger fails..
Hah, I like the floor analogy. I can also attest to sleeping with the baby on my chest without crushing her, despite our decision to not have her in the bed with us. As you can see, there are lots of different opinions, and they're all held by smart, rational people, so the bottom line is that do what works for you, and anyone who complains about your way of doing it can go fly a kite!
Yeah i have had two jobs so far in the past 20 months. Hard keeping a job when I think i should be doing start-up and oh other people and companies are spending resources on it I shouldnt have to be working this 9 to 5 job. As well I think the pot of gold(success) is around the corner. Note I was never in it for the money, but now after 4 years Im looking to break even and or make a profit.
Yeah, we use a large dataset (so does craigslist, etc). I've not seen crashes. I'd be curious to hear more about what you ran into.

The indexing speed is so very fast-- I can't say enough good things about sphinx.
But you have to unwind the stack either way. With exceptions, the exception handling does it. With error checking, you do it every time you type "if (something() == -1) return -1;"
VMWare Acquires Point-and-Click App Creation Company WaveMaker
I don't know Zed but I got my start on the infamous rant. I read it and assumed he was just a guy that was tired of being shit on. In reading what he says and does in the following months and years, I don't get the sense he's an asshole, just that he doesn't really put up with crap unless there's a good reason.
Yes, many companies will review all their options once they have plenty of capital, and make decisions based on what's best for their situation. For example, Twitter was reported to be switching from Ruby on Rails to PHP or Java amidst all their uptime troubles.

http://techcrunch.com/2008/05/01/twitter-said-to-be-abandoni...

My point is that choice of language is not what will likely stand in your way of becoming a monumental startup success. Yet people will insist on promoting language wars as if it will.
He really does not come off well in those comments. Repeatedly saying I am successful, therefore what I am doing is right.

In his defense, it sounds like he has mostly worked by himself. Some practices don't have a very good ROI when you are just hacking away by yourself. I would argue that unit testing is one of them, if you are not very experienced with it anyways.
My baby boy was born 3 weeks ago and the moment I first saw him was truly the happiest one I've ever experienced. I would waste letters trying to describe it but let me tell you: I could own 3 Googles and 2 Apples and I still wouldn't be as happy as I was in that moment. No amount of comfort can buy such happiness.

Having a kid means experiencing both emotional highs and lows but the former certainly outweigh the latter. If you could -- and you can't -- compare this to business, then not having kids would be like spending the rest of your days in a secure, well-paid, boring, lifeless, 9-to-5 job.
> let go an embrace the prototypal object model

JavaScript itself doesn't embrace a prototypal model. When was the last time you cloned an object to create a new one in JS?

JavaScript's model is much closer to classes than prototypes. The only real significant difference is that unlike class systems, JavaScript allows inheriting both "methods" and "state" from its "class". Otherwise, the language works more or less like a class-based one.
I definitely live more in the sysadmin camp than the programmer camp, so I can see exactly what you're saying without even reading the links.

A programmer is prepared to dive deep. The programmer writes tests that validate their assumptions at ever level. The programmer lives intimately with their project.

Contrast this to the sysadmin. The sysadmin lives wide. He/she has to support many developers and many applications. These days, it's popular to use virtualization to isolate applications in their own little world, but it's also horribly inefficient. I love virtualization because it lets me get the most out of my hardware, but as a responsible sysadmin, I group applications in ways that make sense, rather than firing up a bare bones container for every app. This means that I must maintain some sense of consistency and order in the environment. Imagine the sysadmin's frustration when every programmer they work with thinks it's ok to grab any randomly forked lib from Joe Blow's GitHub repo and expects the sysadmin to integrate it in to the environment. It's a change management nightmare.

Being a sysadmin is about fostering stability and consistency. The server must be up. Apps must be up. The sysadmin's job is to make sure those two conditions remain true, and the "fork and go" mentality makes it a nightmare.