skysight-inc/HackerNews huggingface dataset:
I just want to say that I love Capistrano. Even though I don't use it all the time, I still think it's a really great way of deploying when you aren't in a container-based workflow and you just want a quick way of running remote commands from your local machine.

As for your comment, "Ruby is pathologically difficult to install correctly on modern Linux distributions", I disagree wholeheartedly with this. It may be more difficult to install than a simple `apt-get`, but if you're used to compiling from source and you know what the hard dependencies are, it's really not a huge problem. ruby-install and ruby-build of course make this easier but those tools don't require the use of RVM or rbenv, especially on a machine where you know there will only be one Ruby. However, you're correct in the assumption that Ruby could be a lot easier to install if the language creators would move towards that. That said, I think there are a lot of people who are unfairly blaming you for their own misunderstandings of what these tools do and how they are used. For example, chruby or rbenv is absolutely vital on my dev machine because I work with projects using different versions of Ruby. But it's just bad practice to have a production box running multiple versions of Ruby, in my opinion.

I really feel that the users you've interacted with may have been frustrated by their own misunderstanding of the tools they're using, because it's really not as hard as a lot of people make it out to be...
> if their customer service really has gone downhill in the last few years

I have no complaints for their customer service. It's been top notch every since day one. Recently, I got a 20$ off for my data plan (2.5G) without even asking, just because I was a "loyal customer".
Any good faith business decision counts as a move meant to benefit shareholders, especially where there are tradeoffs involved. If you make user experience worse to boost advertising revenues, you can argue that was the right call because you get more money. If you make your user experience better in a way that hurts advertising revenues, you can argue that it was the right call because it improves user loyalty and user perception of Facebook, making it more valuable in the long run. Even if it turns out that your decision was wrong, it's an honest mistake and you're allowed to make those. There's no way shareholders could ever win a lawsuit by second-guessing business decisions they disagree with! About the only thing you can't do is outright embezzle money from the company or something.

Now, for a public company, lots of investors base their decisions on the GAAP numbers companies are forced to report, so there are incentives to improve those numbers each quarter if you want to boost stock price. But if you communicate a long-term strategy to investors and seem competent enough to pull it off, you're Amazon and your stock price does well anyway, even if you lose money.
As for rvm in production:

Superior package management is the reason that small teams of ops people can manage huge deployments.

In the bad old days of early Linux or traditional UNIX one had to hand-build and deploy those dozens of libraries that go scrolling by when you "apt-get install libxml2". Worse, the only way to really figure out the dependency tree was a recursive operation that involved picking a library, downloading it, attempting to build it, waiting for it to fail, figuring out what other library was missing, downloading that library, attempting to build it, waiting for it to fail, figuring out what library was missing...

Inevitably, the grad student that wrote one of the libraries somewhere in this dependency soup would have moved on, and the web page at http://morlock.iscs.random.edu/~gradguy would disappear. The next step would be to fire up an ftp client and start digging around sunsite.unc.edu and some surviving yggdrasil mirror in Australia with a banner that said "PLEASE DO NOT USE THIS SERVER IF YOU ARE OUTSIDE OF AU/NZ, WE ARE PAYING $10 PER MEGABYTE ACROSS INTERNATIONAL LINKS."

Once the software was compiled you then had to subscribe to every mailing list for each piece of software and keep an eye for security notices. If the project didn't have a mailing list you had to keep an eye on the relevent USENET groups where something might get mentioned. If the project had neither you just had to visit the FTP site every so often and see if there was a new version. If the project had a changelog you could read that and hopefully make a decision as to whether it was necessary to upgrade. If it didn't have a changelog you had to diff the old source and the new source and try to figure out what the implications were.

Package management put an end to this insanity. The Linux Filesystem Standard was an important part of this, as well.

rvm turns its back on 20 years of progress and goes takes us back to ad-hoc what-the-fuckery.

A proper Linux distribution is an exercise in distributed responsibility. Instead of saddling every sysadmin in the world with the individual responsibility of making all of these decisions, expertise is allowed to accrete with the individual packagers. The operator evaluates the quality of the distribution and trusts the packagers to do the right thing.
So it's the non-resident students who live with their parents? That seems impractical. b^)
Side-Project Entrepreneurship
4 reasons to try a startup without quitting your day job.
Watch out, when I ran into a similar situation with my extension, unedditreddit. Reddit, was able to convince google to simply remove the the extension from the webstore.

Chrome makes it really difficult to install a non app store extension, so your normal user will not do it.

On the other hand, google and facebook have a more competitive relationship so maybe there is less to worry about.
Using iOS7. I don't see any keyboard. Am rather confused.
Go home Google Translate, you're drunk
> Speaking of income tax, can we get a discount for the days that the federal government is shut down?

The income tax doesn't go to fund the government.

Rather, debt spending is used to fund the government -- debt that your unborn children are saddled with -- and then the income tax revenues extracted from their labor is what's used to cover the interest payments on that debt.

Interestingly, the Federal Reserve inflates about $85 billion per month, which works out to about a trillion dollars per year. (And that money is created as debt, which we owe back plus interest.)

So if we were able to trim the fat and reduce the Federal Budget to that amount, then we could fund the entire Federal Government simply by continuing to print $85 billion per month. (Which would not require any new debt, and which would not require any income tax, and would not require saddling future generations with interest payments on their own money.)

So instead of asking about getting a "discount" on our income tax, we should be asking about eliminating the income tax entirely, reducing government spending to sustainable levels, and eliminating creation of money through debt.
>Facebook is a publicly traded company; they have to make decisions that benefit their stockholders or they will go bankrupt.

This is a very short-sighted view, common to many companies. The BEST way to satisfy the stockholders is to create a fantastic product that users love, long-term. Example: Amazon.

Unless your primary interest is creating a short-term bubble and profiting before it pops, which seems to be the mentality of many investors and companies these days.

I don't like that attitude. I'm not looking to get rich quick. I'm looking to do cool and interesting things. And if I get richer in the long term, all the better.
Ask HN: Landed my first freelance job, how should I price the project?
I recently landed my first freelance job based off a little side project that I had on Github. I'm not a professional developer, I just do this as a hobby in my free time. It's serendipitous that I have a few months off between jobs and I'd like to make sure I don't make a rookie mistake in pricing this job and setting up the contract.

The work is machine learning algorithm development and then integrating the solution into the client's existing infrastructure.

A few questions:

* What are the pros/cons of an hourly rate vs. fixed price?

* Anything to watch out for in how the contract is structured? e.g., provisions about intellectual property, dealing with changes in requirements, or spelling out what deliverables are required?

* What kind of padding factor do you apply to your estimates of hours to complete a feature?

Based on some other things that I've read, I'm leaning towards pitching an hourly rate with an upper limit. For example, quoting a high-end price of $X and charging by the hour, giving them the savings if I can implement it in fewer hours or (hopefully not) having to renegotiate if it's significantly more complicated than I envision.

Any advice would be appreciated. If someone has a boilerplate contract that has worked well for them in the past, I'd love to see it. Thanks HN!
No, I don't deploy with Vagrant. Nor would I.

Use Vagrant to spin up Linux VMs locally so that you can have a dev environment that matches production.
Not sure what you mean. If I type "youtube" it starts autocompleting as "youtube.com", but the search results below the bar include youtube.com videos, a random news article with 'youtube' near the end of the URL, etc. If you want to search google or whatever from there just hit spacebar or backspace to reduce it to a bare word, and hit enter.

Tbh I prefer this over what Chrome tends to do to me. In Chrome, if I type "youtube" and hit enter it searches for youtube, despite having many such URLs in my history, including youtube.com. Firefox will just take me to youtube.com immediately.
(I'm the founder and lead dev)

I've not tried that running Gnome 3.X Bedorck Linux, but I don't see why it wouldn't work. One of the people who used to frequent our IRC channel used to use KDE from Arch with the rest of the system from Debian, if I remember correctly, and it worked fine. I use the occasional Gnome application such as Evince without any trouble.

Bedrock Linux has a number of rough edges at the moment which we're working to resolve in future releases, but once those are done I don't see why you couldn't reach cloud nine :)
I haven't had an account in years. I stopped when they started playing games with their privacy settings.
Anyone else get auto redirected from Salon to Candy Crush Saga in the app store (on iphone)?
Have you tried https://www.sideprojectors.com/project/home ? Made by a fellow HN'er if I remember correctly.
I don't understand why he or anyone for that matter would care what other people think if they can't articulate it in a civilized manner. Nasty emails is what the delete button was made for.
$4.00 a month to read edited comments is why they went after you.
That's a rather alarming install script, especially things like:

sudo apt-get --assume-yes upgrade

in it. But to your point, I think most of the easy_install packages could be handled by pip. The apt packages look like almost all non-python major components like rabbitmq, apache, sqlite, etc which are best provided that way.

I'm not sure about Graphite itself, but at a quick glance it's not clear why it's all 'sudo python setup.py' rather than in a package.
It's hard to get more boring than C.

C... boring? I don't think so. Not with 200+ undefined or implementation defined behaviors. Not when even something as simple as "a = b + c" can evoke nasal demons.

C is so loosely defined that it keeps you on your toes constantly. Every single line is like walking down a dark corridor with poisonous snakes... and your torch just guttered out.

There's nothing boring about C. It's pure thrill and danger. If you're not experiencing that, you're probably writing terribly non-portable, brittle code, ready to unexpectedly invoke undefined or implementation defined behavior.
That's a bit dodgy of you. Presumption of innocence is obviously used colloquially here.

About Politkovskaya and Litvinenko:

The version about Politkovskaya murder I find the most plausible is that her murder is linked with Putin's ally and appointed president of Chechnya Kadyrov. Before her death she was working on human rights violations in Chechnya, including torture. In fact, you can still find her last interview about it on Novaya Gazeta (newspaper she worked for) website, dated 9th October of 2006. What Russian government did here is covering Kadyrov and finding scapegoats who are supposed to represent Chechen 'terrorists' (opposed to Kadyrov and Russian govt). Torture committed by federal and local pro-Russian forces is still a reality in North Caucasus, just about a year ago there was a story on it in 170 thousands readers strong Russian Reporter Magazine. Western press didn't seem to give due attention to the cause Politkovskaya died for, instead preferring, as usual, to focus on apparently more important issues such as gay people forbidden to proclaim their sexuality in public. At least no one has died over that story yet.

Litvinenko case is a weird one. So he is some sort of whistleblower who apparently disclosed Putin's inside job and had to die due to Polonium poisoning. The story goes like this: Litvinenko has disclosed Putin's inside job (which most likely isn't an inside job, basically it's a Russian equivalent of 9/11-as-an-inside-job story), so FSB had to make him painfully die almost in a Sicilian mafia fashion. I am not a Western layman so I don't automatically deem crazy everyone who happened to be in power and at the same time to the East from certain meridian. I see why Sicilian mafia would kill somebody after the fact: it doesn't care much about publicity and it doesn't want to be betrayed once again. But I don't see why would Putin do that, he deeply cares about his perception in the West (as long as it doesn't meddle with his authoritative pretensions and support of his electorate) and he doesn't often blow up houses (if at all). Since the word already spread and you could buy a book in Putin-blows-up-houses genre in any Russian kiosk that sells cigarettes, yellow rags and pulp fiction, killing the man responsible for that in such a bizarre fashion (poisoning someone with radioactive materiel is in the same basket with feeding someone to their pet bear, between two shots of vodka, saying 'Na zdorovje, tovarishchi') is acknowledgement of guilt. Tldr if Putin did kill Litvinenko, it was the most stupid thing he did in his entire career.
Gravity – The Best Movie in “A While”
You can do a hack with ETags - that was the first thing I came up with after 30 seconds of brainstorming how you would do it, and it looks like sites are already using them for that purpose. http://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags
Quite the opposite, in my experience.
Or migrate to places with abundant hydroelectric power.
Hi, I'm the founder and lead developer. Don't hesitate to pop into our IRC channel (#bedrock on freenode) if you have any questions or trouble diving into it. Do keep in mind it is still alpha and has some rough edges (most notably the installation procedure, which is about as manual as you can get), but we're working on resolving such things in future releases.
I completely agree. To new hackers, I always tell them that if they post something online, they should:

1. Focus on what people they actually know and respect think vastly more than anyone they hear from online.

2. Assume that anyone criticizing their effort is an armchair hacker who just likes to be better than others. It's not always true, but is better than assuming that everyone else is better than you.

3. Always be proud of what you've done -- just because we've gone to the moon doesn't mean you shouldn't be proud of making your Arduino blink the LED finally.

I talk about it a bit near the end of this:
http://blog.saikoled.com/post/62737468595/entrepreneurship-f...
I don't use Adblock (I am a NoScript man) but I never knew that! Thanks for the info.
Accused Cyber-Bazaar ‘Pirate’ Has Bail Hearing Delayed
I switched for the same reasons but kept FF around mainly for Firebug. After using and getting use to Chrome Dev Tools, it is actually no different and in some cases better. I don't do as much front-end dev as I used to though... But I do remember reading that the FF team worked with developers of popular plugins like Firebug to help make those plugins run better, use less memory and cause less memory leaks. You may find those plugins a lot better now.
Thanks for creating software which has been an immense service to the community, and which I rely on quite a bit.

Tangent mode on:

Somebody really, really needs to write the How To Deploy Rails Without Losing Your Sanity handbook. I will buy a copy. It will sell thousands of them.

A lot of the problems with people's interactions with Capistrano are environment/ops problems which have known solutions that work, but which rely on people having a great understanding of arcane trivia which is spread across conference presentations, blog posts, commit messages, and the practical experience of the best Rails teams. Unless you're prepared for an archaeological expedition every time you start a new Rails project, you're going to do something wrong. You should see the bubblegum and duct tape which I came up with, and it mostly works, but I know it is bubblegum and duct tape.

Example:

Non-deterministic deploys of code from (usually) un-tagged source control

I feel lucky in that I was mentored by an engineer who decided to teach me, one day, Why We Tag Shit. But for the Why We Tag Shit discussion, I would be like almost every other intermediate Rails engineer, and be totally ignorant of why that was a best practice until lack of it bit me in the keister, at which point the server is down and one has to rearchitect major parts of the deployment workflow to do things the right way. Why We Tag Shit is only about a 500 word discussion, but it's one piece of organic knowledge of the hundreds you need to do things right, and it is (to the best of my knowledge) not covered in docs/QuickStarts/etc because that seems to be out of the purview of the framework proper (I guess?).

I'm sure that I'm ignorant of several of the hundreds of pieces of things one needs to do to do deployment right, as evidenced by my fear every time I execute my deploy scripts. I, and I must assume many other companies, am willing to pay for an option which gets me to a non-bubblegum and duct tape outcome.

Seriously, folks: there is a product here.
What exactly does the winning submission do?
I can totally understand why someone would still be emotionally drained from receiving lots of criticism, whether they intellectually know it's silly or not. It's hard to have the self-confidence and restraint to maintain a good attitude when you're surrounded by criticism.
Thanks! I've actually heard that a bunch but haven't used it for that purpose. Much appreciated.
That's terrible advice because people will drive instead.

Or - more likely - they'll choose a closer destination for their summer vacation and avoid losing six days driving the round trip from New York to San Francisco.
> Which in context is basically the nuclear option; the value of a house which can't get a mortgage is pretty much $0.

Wouldn't that mean that the cash-up-front price of the homes would go down until they became affordable? I'd like to buy a $0 house.
I don't think you're right about efficiency. Trains and boats are definitely more fuel efficient than flying, and cars are close. The figure for planes is about 90 passenger-miles per gallon, for fully loaded (55 people) deisel buses it's about 330. (All from this lovely article http://en.wikipedia.org/wiki/Energy_efficiency_in_transporta...)

Of course it depends on your stopping and starting.
TinkerPop: Open source software products in the graph space
I disagree. When reviewing resumes, I'm always impressed when I see candidates starting their own company. It shows ambition, and the will to wear multiple hats... something that startups are always looking for.
Not sure I entirely agree with this. For any sizeable niche (or even smaller niches) you should be able to find places where these people hang out on line and get in touch with them. If you can't then you don't know your target audience well enough.

You could certainly use advertising to collect email addresses, and then call those people to figure out what they want. The reason I don't like that as much is it puts another layer of specialized skill between you and your prospects. You have to dump a bunch of money and time in to learning how to write correctly targeted ads that convert before you even know who you're trying to convert, or what they care about. That's a tough problem to get around for most people.
Yes, but that won't solve when I have 2 applications deployed on the same production box. rvm solves it.
Ask HN: How can toxic behavior in open source communities be discouraged?
This post is inspired by the Capistrano author's post, in which he expressed a high level of dissatisfaction and burnout. What, as a community, can be done to re-engineer the human side of open source projects to strongly discourage such negative behavior and foster a more constructive, supportive environment?

It seems to be a recurring theme: developer creates something cool, gives it away, and then gets bled dry by the freebie parasites.
Yes definitely. In general as long as you're not mass emailing 1000s of potential prospects, you target specific people that you think would be interested, you tailor each email individually to them, and you're respectful and up-front about what you're doing things work out fine.
Agreed. Ideally, you are an early employee at a startup where the founders had some previous successes. This way you get to see and take part in behind the scene processes as implemented by the experienced founders.
I'll be downvoted by the "newer generation" but here's a pet peeve of mine

The same reason "why we tag shit" is the reason downloading packages from gem/pip is not enough

Who guarantees that when you do your deploy, the library you need is there? How many times did your build break because it had a glitch downloading the package?

Keep a way of rebuilding and deploying your software. All of it
I'm a vegan in the Linux world.
You can definitely talk over the phone. But real business seems to happen more quickly in person, even today. Email certainly doesn't cut it.

The problem with the thought experiment is that it assumes infinite knowledge. It's very hard to imagine what things would actually be like if you had a trillion dollars and you wanted to build a flying car. You can definitely come up with things that you think are likely, but I've found that often times you know much less than you think, and the actual problems are MUCH less obvious than they seem.

It's kind of like a non-engineer imagining what problems he would run in to if he had to build the Golden Gate Bridge including design and construction. You can definitely foresee certain things, e.g. you need a lot of materials, pens and paper, but there's still a ton of uncertainty and real gritty problems that only come out when you're in the thick of things.
How do you know Reddit forced Google to remove it? What was your correspondence from Google?
The admins asked you to remove unedditreddit years ago[1]. And for good reason. It was disrespectful to bring the tool back online after saying you'd disable it, especially when you started charging for it.

[1] http://www.reddit.com/r/reddit.com/comments/etd52/lets_have_...
It should just be 6 horizontal blue bars. Not the QWERTY keyboard.
Very cool how it's almost instantaneous. The sound is a bit raspy though, especially with many notes playing at once (FF 27 on Linux).