1,979 karma · joined September 5, 2007
I see foursquare as having a few main use cases. Not every use case is for every user, but I think there's something for almost everyone.
1) Social utility/friend finder: Where are my friends and what are they doing? Can I go hang out with them? Where the party at? If your friend is around the corner at a bar, maybe you want to stop by and say hi (but not if it's a date!). If a friend you haven't seen in years is in from out of town, maybe you can catch up.
2) Recommendation engine/city guide: Foursquare knows what places you visit, what places you come back to, and what places you recommend to your friends. It can use this information from you, your friends, and the population at large to recommend places that you might like to visit. This is useful to find new things near your old haunts, or to get to know places you've never been to before. It works remarkably well.
3) Game: Foursquare encourages you to do things in the real world that you wouldn't otherwise do, and recognizes you for your real-world achievements. Whether you've got a great gym streak going, or you're catching up with all the friends you haven't seen in a long team, or you're visiting lots of new places you've never been to before, Foursquare wants to reward and encourage this behavior. It's not for everyone, but some people get really into the game mechanic and sometimes even really change their behavior to do well in the game.
4) Money saver: Local merchants can give you discounts, VIP treatment, and other special perks for visiting their business for the first time or for visiting repeatedly. This is a win-win-win for merchants, users, and Foursquare, and we're excited to enable these kinds of interactions between people and the local businesses they frequent.
5) Personal journal: I have a log going back three years of practically everywhere I've ever gone, what I did when I was there, and who I was hanging out with. This is a rich trove of information that I'm glad to have just for my own records. But once you add a rich ecosystem of apps that use our API (http://timehop.com/ is one of my faves!), the potential is almost unlimited.
Maybe your reaction is still "Meh", but I think there's quite a few reasons to use (and love!) foursquare.
I didn't realize it at the time, as it was my first time going through the interview/offer dance, but having much more experience with these things now (from both sides of the process), I can honestly say it ranks as the best I've ever heard of.
a) The technical portion of the interview was the best I've ever been through. It culminated in them asking me to set aside 4 hours to come into their office and work alongside them (asking questions if I needed to), writing an HTTP server in C.
I almost shat my pants when I heard the question, but to this day its the most rewarding technical interview of my life. I started off with a problem I wasn't sure I could sove in the allotted time, I _built_ something, and it _worked_. (Well, it mostly worked. There was one elusive bug I couldn't figure out that day. I had to leave because of another commitment, but I promised to come back the next day and fix it. When I got back the next day, a senior Meebo engineer had spent 3 hours debugging my code until he figured out the problem. We code reviewed my code line-by-line as a wrap-up to the interview.)
b) The non-technical portion of the interview was the best I've ever been through. They were very concerned about the ever-elusive "culture fit", and the entire team made an effort to get to know me, taking me out to meals, etc. I met all three of the co-founders (Seth, Elaine, and Sandy), all of whom I'm sure were busy trying to build a product and grow a company, but they were incredibly warm, genuinely interested in getting to know me, and generous with their time.
c) They gave me a great offer. For a fresh-out-of-college student with not much real work experience, both the salary and the equity portions of my offer were extremely generous. I didn't even have to negotiate. At the time, Seth explained they didn't want to go through a contentious negotiation process, so they were opening off with a generous offer and it wasn't really open to negotiation. It was, indeed, a generous offer. (Five years of experience later, and I'm making less money, adjusted for inflation, than Meebo offered me as a fresh-out-of-school untried new hire.)
d) The post-offer process was the best I've been through. At the time, I knew nothing about startups, stock options, VC, etc. I didn't even know how much I didn't know. At his own initiative, Seth (the CEO!), took the time to explain the equity portion of my offer. The offer included a number of options and a strike price (standard), but unprompted told me about the other numbers I should be concerned with: total shares outstanding, fully diluted % stake, preference multiples, etc. There's much more transparency about this stuff today (blogs, etc), but at the time no one else explained this stuff to you (and as a stupid college student, you wouldn't know to ask). Even today, in a much more competitive hiring environment, I hear about companies that tell experienced engineers (who know what they're negotiating) that certain numbers which are essential to understanding an equity offer (like total number of shares outstanding) are "confidential".
I ended up turning down the offer, but I have enormous admiration and respect for Seth, Sandy, Elaine, and the whole team at Meebo. Congratulations on your many successes over the years, and I hope to continue seeing great things from you in the future.
That said, I have more faith in pg's market timing abilities than in Sequoia's.
Not everything in life can be reduced to a financial cost/benefit analysis. Sometimes you have to do the right thing.
After a cursory search, the only such discussion I could find was about John Draper, not Stallman. http://news.ycombinator.com/item?id=1914498
From what I understand, Stallman doesn't even stay in hotel rooms.
However, language is defined by how we use it. In common parlance, "tech company" means the latter kind of company. Normatively decreeing otherwise is futile.
Should we talk more about the former kind? Yes. But I disagree that the latter kind is not a useful category. Distinguishing between "factory companies" and "non-factory companies" was probably very useful at the beginning of the industrial revolution. We're still in the early days of the information revolution.
By "software is eating the world", we don't mean that every company uses email or has a blog. That's not software that gives a competitive advantage, precisely because everyone already has it. "Software is eating the world" means that Uber is a better taxi dispatch service than traditional taxi dispatch services, because of software they developed. It means Netflix is a better movie rental service than Blockbuster, because of software they developed. It means Apple and Google upended every mobile phone manufacturer and carrier, because they could develop better operating systems and browsers.
"Software is eating the world" does NOT mean that every company uses software (duh), but rather that companies with software competency (or even excellence) will have a significant advantage with which to edge out their competitors.
Durability means you will get your data eventually (it will not be lost). Availability means you will get your data right now, which is probably what he really cares about in terms of serving live internet traffic.
Put another way: S3 not infrequently has availability hiccups (files are temporarily unavailable, resulting in a disruption of service), without taking durability hits (your files haven't been lost, you just can't see them right now).
S3 has eleven nines of durability.
The author will find, to his dismay, that durability is not the same thing as availability.There are a couple of reasons we might have recommended that Chilli's. Have any of your foursquare friends checked in there? That's a pretty strong signal for us, so that might be why it's showing up so highly. If not, it might be that a lot of people check in to that Chilli's.
That said, there's probably more we can do to detect chain restaurants and either boost them or bury them based on your personal likelihood of visiting chain restaurants. Unfortunately, all our ranking code currently works at the level of individual venues, so there's work for us yet on knowing that the venue is part of a chain and ranking accordingly.
I work for Foursquare, so I'm obviously biased, but I think Foursquare Explore is a great way to find good places to eat.
https://foursquare.com/explore
Our recommendations are based on 30 million tips (short recommendations, <= 200 characters) left by our users all over the world. They also take into account the popularity of the venue, the likelihood of people leaving tips there, the time of day, the day of week, and many other factors.
If you have a check-in history with foursquare, or if you have friends that use foursquare, we'll make personalized recommendations. We'll recommend things we think you'll like based on your check-in history and your friend's check-in histories, and we'll highlight which of your friends have been to the places we're recommending, and how often.
The product isn't perfect yet, and there are definitely some big deficiencies if you try to use it as a Yelp replacement (notably, foursquare lacks: hours, webpage links, whether they deliver or not, etc). But it's constantly improving, and it's already pretty good.
</shameless plug>
In some ways it's better, in some ways it's worse. In the long-term though, we feel that this is the right move. OpenStreetMap and MapBox will be improving continuously, and with open data we can drive those improvements in ways that we couldn't with Google data.
I've been following OpenStreetMap since it launched, and its really a testament to how far its come in the last 7 years that it's good enough to be used in major consumer websites. In many ways, this is an effort that dwarfs Wikipedia in size, complexity, and ambition.
We're excited to be making use of open data, and will be even more excited to start contributing back in the near future.
[Disclaimer: These are my personal views and do not represent those of my employer, foursquare.]
Really though, the new Google Maps pricing scheme is just totally bonkers. They're trying to charge a higher CPM than typical AdSense rates. It's just nonsense.
Phone numbers are definitely obsolete.
However, I doubt they have the bandwidth to manually grade thousands of assignments. Given the scale of the class, the grading is forces to be automated. It's hard to come up with such assignments and even harder to make them challenging, given an automated grading script.
Per Crunchbase[1][2]:
In 2008, Gowalla raised $2m, foursquare raised nothing. In 2009, Gowalla raised $8.29m, foursquare raised $1.35m. In 2010, Gowalla raised nothing, foursquare raised $20m. But by the time this happened (June 2010), the "check-in wars" were over (e.g., see: http://techcrunch.com/2010/07/07/foursquare-gowalla-stats/).
[1] http://crunchbase.com/company/gowalla [2] http://crunchbase.com/company/foursquare
BitSet(1, 2, 3).map { _.toString + "!" } // returns Set[String]
The Scala code here starts with one Functor (BitSet) and returns a different Functor (Set), depending on the type of the function (in this case, Int => String). If the function had type (Int => Int), it would still return a BitSet.The signature for fmap does not encode this flexibility.
val foo = bar.~->(45).<~<("Fred").%%(x)
If those same methods were called a, b, and c instead, it would parse like: val foo = bar.a(45).b("Fred").c(x)
Yes, some people abuse symbolic method names. Unless your method makes overwhelming sense with a symbolic name (+, -, *, etc), just don't do that. But this problem isn't unique to Scala; poor names can strike in any language. If I called my method "slfjowierlksdfjnas", that'd be bad too. But most developers have enough common sense to choose reasonable names for their methods.With N million users, odds are high that at least N thousand of them: are irrational, just need someone to talk to, can't express themselves in writing, think you're their new pen pal, find you attractive (even if they've never seen you) and just want to meet you, etc.
I know that as users and customers we all want to be treated as beautiful and unique snowflakes. But a service of any scale will have many thousands (or more) of users that are just completely batshit crazy.