skysight-inc/HackerNews huggingface dataset:
Just to point out that fetch + merge would have caused the same problem. In this case it was a small team, with advance knowledge of what the commit was, so no need to inspect.

But, in any case doing the fetch would have shown that the file was not modified in the fetched tree, and it would have gone ahead and overwritten my changes (without even listing in the merge log that the file was changed).

FWIW, I agree that fetch + (merge | rebase) is in general the best way to go, but I think there is a case when you a pulling in a simple fix from head where doing a pull is legitimate.

After all the documentation says this is a safe operation:

"If any of the remote changes overlap with local uncommitted changes, the merge will be automatically cancelled and the work tree untouched" (from git pull --help).

If this isn't meant to be considered a safe operation git pull should abort if there are any changes to the working directory.
Airbnb makes many millions in revenue and has phenomenal growth. They could easily sell the company today for hundreds of millions. That is success.

Instead of selling though, they're raising more money, taking some out themselves, and setting their sights on an even higher level of success.

Makes sense to me.
Came here to post this. The key thing to know about git is to always, always, always commit your changes before doing anything that affects history. This is not for data loss reasons, it's for being able to document what is happening; when you have a bunch of unsaved work, you don't know what's there and git doesn't know what's there. Therefore, it's very easy to get yourself into a state where you don't "care" about your working copy, and that's when you can do something where you lose work. If you commit before you do any merging or pulling every single operation that you perform afterwards can be reverted cleanly. And, you'll have a human readable note that documents what you were thinking at the time.

If you don't put your work into git, it can't track it for you. You can always uncommit if you don't like what you committed. In fact, you should consider your local history to be a work in progress; just like you're editing your source code to keep it clean, you should be editing your history to keep it clean. Git never deletes history, so even if you edit it, you can always get back to where you were. What you call "master" may have changed, but what was master before your rebase still exists, in its entirety, inside of git. (It's simply called HEAD@{0} instead of master. See "git reflog".)
Why are you/we trying to force density when it's so obvious that most people want the exact opposite?
[edit] I had in a house in a great neighborhood in the city within walking distance of grocery, restaurants, buses, etc., and I still moved to the suburbs. Obviously density's not the only thing people want.
Actually if you follow the thread(s) relating to this, a less invasive change to speed up "git tag --contains" was adopted (see git.git@ffc4b8012), so "soon" probably isn't the right word.
It should just mean browsing Gmail in a 'Private Mode' Chrome/Firefox window.
Am i wrong?
Sure, I would agree with that, but in this case I already knew what the one commit I was pulling did. And the fetch,diff, merge wouldn't have helped. The file that was destroyed wasn't changed in the commit that was fetched.
mix, EC2 just opened a Sao Paulo EC2 data center this week or last week, so you are good to go.

$0.25/GB though so it is a bit pricey.
So, I assume you'd agree also that the VCs shouldn't be able to take a dollar out of a deal until employee common stock is liquid? And that they shouldn't be able to take a dollar in management fees until their capital has created a pro-rata amount of liquidity for the employee common stock of one of their investments?

No? That's ridiculous? I agree.
They were obviously saved. I was simply pulling before committing, which is a supported work flow of the tool. I don't think I ever said I went days without committing.
He is using "git stash" to create a commit object for his uncommitted changes, giving him more documentation in the event that Something Goes Wrong. Git will never throw away your data, but you might get into a weird mental state and type a command that throws away your data. By creating a commit object, you can always get back to that state, and you have a little one-line note-to-self that helps you not get into a weird mental state.

I personally do a "real" commit before rebase, but "git stash" is really the exact same thing. I guess "git stash pop" is less scary than "git rebase HEAD^". Either way, you can always undo that operation via the reflog.
The article is more about changing the culture that a given individual finds himself in.
Padmapper already does this and does it well
To be fair. I have never lived outside of a city/town (>=200k). But living in suburbs "for the kids" (a big point of yours too) does not convince me. As a kid, I had a great time. With plenty of time outdoors too.
You don't know if any 'little guys' were hurt. If the same amount of money had been taken in through sales of additional stock, at the same pre-money valuation, everyone with vested or unvested options would be more diluted. So treating cash-to-early-shares this way (rather than equity sales) can be a slight benefit to all employees and stockholders.

Meanwhile, investors are diversified and have great counsel, so they can look out for themselves.

The only question for me in a situation like this is if there are people who were vested but unexercised, who would have exercised had they known the unique dividend was coming. It'd certainly be nice for a company to give them the info they'd need to participate knowledgeably.
You have duplicates, B and C would have the same generation number. It just represents length of the longest path from the root commit. This is already calculated internally to optimize several operations, so they were considering making it part of the commit data.

It often won't uniquely identify commits, but revision numbers in SVN are also sometimes used imprecisely ("oh, it was around R1500"), so I think it would have value.
Exactly, in fact it normally does. git pull is actually really useful for enforcing this most of the time. If you inadvertently do a 'git pull' before doing a commit, and you have any overlapping changes, then git aborts the merge. This is why 'git pull' is generally a safe operation.
Unit testing is not the only form of testing.
Yeah, but you know people want this so they can write things in their bug tracker like "fixed in r1232" instead of "fixed in 2c4d96d1dc2d12afd486561329a9a7b74d4ae110".
I can only describe him as my soulmate
Sigh.

I don't dislike that nmap is in C! C is my favorite language. I do think that most HN people --- who typically do not know C --- should know that nmap doesn't benefit much from being written in C, because nmap is IO-bound.

Do ncat, nping, ncrack, &c provide fast simple working port scanners? Then what do I care about them?

If it doesn't intrigue you that you can outperform nmap (in its default settings) and come close to it with carefully tuned settings with sixty lines of Ruby, I don't know what to tell you. I guess just vote me down. I think it's interesting, that's all.
I've actually come to this conclusion on several of my Rails projects. After struggling with mocking up yet another set of I/O objects I realized that it's not really doing anything useful. I agree that there should be testing, its just that TDD on MVC is very difficult to do properly. :/
I mean are you not in it to make as much money as possible?

As possible while not being a scumbag or making pacts with the devil. I'm not alone, either.

We want to do well, ideally make a living, hopefully live large. But that doesn't mean doing everything and anything, morals be damned.
In this case the git pull man page is relatively clear that:

"If any of the remote changes overlap with local uncommitted changes, the merge will be automatically cancelled and the work tree untouched"
Note that the iPhone is running iOS5
San Francisco, CA (SOMA) - Booyah!

We're a mobile games company that focuses on using real-world elements (e.g. location) as part of our entertainment experiences. We're primarily focused on iOS development right now, but we have a lot of cross-platform (Android, Flash, Mac, PC, etc.) experience in-house as well.

We're the game studio that brought you MyTown, Early Bird, DJ Rivals, and Nightclub City.

We're current looking for gameplay engineers (http://www.booyah.com/jobs/?id=41) and a senior systems engineer (http://www.booyah.com/jobs/?id=37).

We're a Mac shop. Our code lives in git. Jenkins keeps us honest. Engineers use whatever other tools they prefer.

We also have business, project management, and art openings: http://www.booyah.com/jobs/
Thanks for all the details! We're looking at moving from MLRISC to LLVM in Manticore, and some knowledge of the pitfalls in the terrain are definitely helpful. We're most worried about our ridiculously custom calling convention while in-ML, but the optimization limitations are good to hear about.

For your point #3 ("Haskell itself"), do you do any block coalescing? In Manticore, once we're in our final IR before codegen (basically a first-order CPS language), we have a few tricks to help our code generator out from this:

1) If f only calls g and g is only called by f, merge the two blocks. During the merge, add the gc check for g to the top of the entire block. This optimization is extremely effective, but only because of our control-flow analysis results, since so many of our jumps are indirect.

2) Don't split blocks or do multiple GC checks in a block where one will do. So, if you allocate multiple small tuples, do a single GC check for all the space you will need in the block.

I'm sure John probably mentioned these to the Simons, but just in case...
Light is not fast enough for high-speed stock trading
> I will never understand the attraction of suburbs.

60 years of deliberate policy drove middle class people out of the cities. The forced busing is pretty emblematic of what happened.

http://www.amazon.com/Slaughter-Cities-Renewal-Ethnic-Cleans...

The other aspect is that the jobs left the cities. The two factors here were: 1) corrupt city machine politics and high taxes and fees, union problems, etc. 2) William Whyte's discovery that companies moved headquarters out closer to CEOs' estates so the CEO would have a shorter commute.
Hey,maybe you're onto something if you had an idea worth stealing!

Now forget them and build it the way you think it should be done.
Sometimes I don't get why this community gets so pumped up about certain things
Yeah, HFS+ is a nasty beast. In this case not the culprit, firstly because the first thing I do when getting a new MacBook is reformatting as case-sensitive, and secondly, because it was just a directory rename (e.g: ./foo/ to ./bar/).

Yeha, I wouldn't blame a tool for not dealing with the brain-dead almost case-sensitive HFS+ filesystem.
I'm currently building a test framework for my graphics engine, and have run into the exact problems described in this post. A graphics engine, by design, must be able to do millions of different things that are created by the interaction between relatively few methods, none of which can go wrong at any time. One of my new features is probably buggy, but attempting to brute force test border conditions requires tens of thousands of tests because of all the interacting elements, any two of which could interact in just the wrong way to blow something up. It gets even more ridiculous when you have precision bugs, where only certain numbers in certain ranges in certain cases will explode. Testing that using inputs is impossible.

This occurs so often and with such regularity I am now convinced that everything I write is riddled with bugs that I will probably never find without beta-testing in real-world scenarios, plus many more bugs I will simply never find because they never come up.

A much better design would be a test platform that analyzes the assembly structure to pinpoint actual edge cases in the code itself, which could then be used as a guide for finding bugs instead of relying on hundreds of thousands of test cases.
Chicago - Narrative Science

Hiring VP of Eng, python developers, great writers. See http://www.narrativescience.com/careers.html for details.

Also looking for engineering interns.

Must be in Chicago or willing to move here.
REMOTE, but must live in the US.
Appstem Media, LLC (I am the CTO) -
http://www.appstem.com

Contract, intern, and salary positions available. We are a small but rapidly growing and profitable mobile application company. Work from home, semi-flexible hours. Referral bonuses for any successful contract leads. Developers only, CS Degree OR relevant experience required. We develop for iPhone and Android using native SDKs and platforms like Appcelerator Titanium, PhoneGap, Sencha Touch, and HTML 5. Other development experience is a bonus. We have developed for top-tier clients, including Kaiser Permanente, Genentech, Jiffy Lube, Gold's Gym, Lion's Gate Entertainment, and Caesar's Entertainment (owner of Caesar's Palace in Las Vegas and other venues).
I. LOVE. THIS.

That is all.

EDIT: I'm looking to move across the bay, and this has brought some areas of Oakland to my attention that I had previously neglected. Too, it's a cool hack. So -- useful, and "I wish I'd thought of it". Killer combo.
Thank you, good sir!
I agree. It's so pretty, but my oh my is it slippery. Of course the old 3g and 3gs were pretty slick too. I wish they'd make the apple logo rubber or something just to give it a little more friction. As it is it ends up sliding off of anything that's not exactly level.
you are talking about semantic search. it's a whole """new""" world, which requires different things to be in place. G+ and FB are walking on that path, linking different things to eventually offer a smart search engine. not to mention lifelogging which is part of all of this, since people needs to put a meaning on their stuff, differently from blog posts where there is too much information without clear structure.
You guys crashed my 1and1 hosting. lol.
Cambridge, MA -- Outbrain

Outbrain is a startup providing content recommendations for many premium publisher sites and blogs. We're looking for an engineer with strong Java skills and background in ML to help develop the algorithms behind our recommendations.
http://www.outbrain.com/jobs/BO#1
jobs@outbrain.com
That sounds a lot like how Vancouver's West End is laid out. Unfortunately I couldn't read the article but having experienced the situation both in a typical cul-de-sac neighbourhood and a traffic calmed neighbourhood I definitely prefer the latter.
安全吸脂
How North Dakota Became Saudi Arabia
Secondary transactions don't cause the company to issue more shares. They transfer shares from one party to another, so the total number of shares does not change and existing shareholders take no dilution.
Awesome! Thanks for posting, really interesting to see what you have to say about working on the Acela.

Good point as well about unsprung weight - hadn't thought about that. As the Acela is that powerful (it is based on the TGV Atlantique I believe), what in your opinion is the worst issue that set has faced? I really think that if we could buy off the shelf designs (Shinkansen N700 for example) with minimal adaptation, that would solve a large number of problems. (I'm also more a proponent of HSR with EMU's instead of power cars).

I do agree about our nation being unwilling to invest, but I also would add that it is a matter of density. Average travel distance via any HSR line in the US will be much longer than any other nation on the planet, making it much less attractive. There are some corridors which would see benefit, but because of the sprawl that most non-northeast cities have, a train doesn't provide you a realistic way to get from point A to point B outside station-to-station. You still have to get from the platform to your final destination.
my point is that most people dont create a different google account for each google service they use. They use one account, for however many google services they do use.

Not me. (Anecdata, selection bias and all that.)

I used to be able to bounce between youtube and gmail with different accounts, in the same browser session. Then one day I was greeted with the Universal Google Session. Now I need to use different browsers.

However, given Google's direction, I'm looking to replace my Google services usage with non-Google alternatives, so this will be a short-lived problem for me.
Do you live in North America? In most American metros to live in the city with kids you have to make enough money to easily afford expensive private school tuition. If your kid goes to the public school he will be beat up by black or hispanic gang members. This is probably 80% of the reason families rarely choose cities in America.
My 1and1 shared hosting crashed. I have no control over this from here on out. lol, I was wondered what it would do...
I'm not sure where you get the idea that I'm not committing early?

If it was the comment saying '3 days of straight hacking' then I apologise for my prose being unclear. I was only bringing that up because my first assumption was that after 3 days of hacking I was tired and assumed it was indeed my fault.

It was a couple of hours worth of code that needed committing.

And doing a pull, which is meant to safely pull in unrelated changes, to test some things before committing, especially when it was a very simple change on head, is completely reasonable.

I'm not ignorant about the many ways in which git can be used, the post wasn't even particularly blame placing. Tools have bugs, shit happens. Most of the post was tracking down the bug, which is much more useful. Thankfully it was already fixed, so I didn't need to fix it myself.
Absolutely, forgot to consider that. That might be a bigger reason.
* Something where I'm willing to cut some more slack to Google than to Facebook, given their track records, but not so much more.*

I'm on the fence about that. So far I've given Google the benefit of the doubt. But it's quite plausible the evil bit will flip, so prudence tells me to start now weaning off Google services and diversify.
Is it obvious? Do the majority of the public understand the value of a well planned community or have the option to participate in one? Being walking distance to a grocery store is not the same thing as living in a transit-oriented region and living your entire life without dependence on a car. Suburbs were born from industry, not out of the realization of American's idealized community.

I live in downtown Portland, OR and have done so for the last eight years without ever owning a car. I can walk or bike to literally everything in the city, or alternatively take a streetcar, light rail train, or technologically advanced bus system. There's a reason people move here – there's value in Urban Growth Boundaries (UGBs) that make more livable, walkable, awesome places to live your life.

And because of the UGB, it's even faster to escape the city's limits and find yourself in real green space. On Tuesday after work, I drove 45 minutes (using a car-sharing program) out of the city to a national wilderness where I slept under the stars, caught a few trout, and still made it back into the city for work the next morning. Something like that might be difficult in LA or in a large suburb.

As you can see, I really really disagree with you. :)
Hey, if you're willing to shoulder the true costs of that style of living -- environmentally, that's at least air pollution, and runoff from increased paving and lawns replacing woods and fields; then there's the cost of building out utilities, which you'll share with far fewer people in the exurbs -- then I guess you can. I suspect that far fewer people can truly afford suburban density than our current setup has allowed.
The author argues that TTD fails in code that's largely wiring. I think the opposite is true. I'm writing an application that's largely wiring, and for the first time in a long time, using TDD. It's refreshing.

Most of my tests are two-liners, like:

it "should do x when y" do
obj_under_test.should_receive(:consequence_method).with(some_args)
obj_under_test.do_something
end

There are a number of reasons why this has helped:

1. It ensures I'm using dependency injection, etc to write testable, well-factored code. There's huge correlation between testability and maintainability.
2. I don't have to boot the thing all the time to confirm that I didn't mess up in some obvious way. Covering the code paths prevents typos.
3. My test suite runs in under three seconds. I can sanity check what I'm doing, without being tempted to browse HN/reddit/twitter/etc.

I like TDD more in wiring-only code. If I'm writing wiring, I know what my test case will look like ahead of time, and I'll write it first. If I'm writing experimental algorithms, I have no idea what will happen, and I'd rather write code and poke it.
I loved this book. If the movie is half as good, I'll love it too.
You are correct, though I'd also point out "git stash" which does a quick no-fuss commit and is meant for situations just like this. "git stash" "git pull" "git stash pop" may not be exactly what you said but it should be enough to prevent what happened to this guy and I'd even guess it is what most new git users expect to happen when you do a plain "git pull".
Google now has its own Beer
I'm not sure the towns will be fine even if they conserve their cash. When the oil jobs decline, there will be no reason for that many people to live there, so the population will likely decline precipitously (as with any boom town), which tends to produce social problems and a general feeling of malaise (not to mention abandoned buildings).
I don't think it's about them competing exactly. Amazon probably wants the Fire to be adopted over the Kindle, especially since the table market has been shown to be so hard to enter successfully (Apple was 95%? as of 2010?). I don't think pulling this page would really effect that anyway.

Of course, it's still better to sell a Kindle than nothing at all.
People respond to incentives. Urban misgovernment and subsidies for suburbs (chiefly the freeways) create a particular set of circumstances that force sparsity.

The fact is, the rising cost of energy, especially petroleum, makes large scale suburbia unsustainable. Public policy needs to reflect this.
Smart Cover

Imagine how thick an iPad would need to be to stand solidly on its side, unsupported. Bad idea for a tablet, great idea for a phone.
Get a less terrible provider. Serving a static HTML page to only ten thousand people is not hard.
The iPad has the SmartCover to prop it up. Also, given its size, I don't think it would be a good idea to try to stand it on it's edge alone no matter how square it was.
>> Founders cashing out is a big red flag.

No, it's not. Palihapitiya agreed that there should be a secondary component to the financing.

When a company is "shooting for the moon" and has a chance at a >$1B exit, investors want the entrepreneurs to cash out a portion of their stock, because it gives them the financially flexibility to swing for the fences. It aligns the founders and management team with the late-stage investors.

Fred Wilson does a great job explaining why founders and early investors cashing out in late-stage financings is a Good Thing for everyone.

http://www.avc.com/a_vc/2010/01/the-tug-of-war-between-ma-an...

http://www.avc.com/a_vc/2010/08/angel-liquidity.html
Exactly. I strongly dislike the way indentation is assumed to be done with x spaces. I quite like my indents of size 1 tab, and would hope the lexer differentiates between <tab><3 space><tab> and <tab><tab><3 space>, since I certainly do.
I'd appreciate an explanation of why it's nonsensical. (I don't doubt you, I'm honestly curious)