zred
Joined 14 years ago
Joined 14 years ago
2. I don't think PHP is any easier than Python or Ruby - in fact, in many ways I consider it more difficult personally. There may be a higher number of people that advertise PHP skills, but many of them are people that can cut and paste and keep futzing until something mostly works in WordPress. That's not really the kind of programmer you want (at any price).
3. PHP has some nice built-ins for the web - including session/cookie handling, the $_GET and $_POST hashes, etc. However, when I use Python, Ruby, or Java, I get these things via a framework (even a microframework). Yes, one of PHP's strengths is that it includes a microframework that handles basic routing, session handling, and request information. However, all of that is available in other languages.
4. Whether it's Django, Rails, or another framework, I find that an error in one request doesn't propagate to the next. It's interesting how the author hedges and says, "well, when it does get borked, it's your fault rather than PHP's". So, PHP never fails for more than one request, unless it does in which case it's your fault. That's hard to argue against since it doesn't mean anything.
5. None of PHP's frameworks seem as mature as those available in Python, Ruby, C#, and Java and I think part of it is due to the fact that PHP is by itself a microframework.
6. PHP.net does have great docs and they're all nicely in a prominent location. However, one really needs better docs to compensate for poor design. For example, when dealing with PHP strings, do you put the needle or the haystack first? The answer is that it depends on the function. preg_match is needle first, strstr is haystack first. That brings up another inconsistency: should words be separated by an underscore? The answer is again that it depends. Every language has its warts, but PHP is known for being inconsistent.
7. PHP does have a bunch written about it, but it also has a lot of noise. There's a lot written by people who don't quite know what they're doing, but were able to cut and paste code and futz until it worked.
8. The same could be said of almost any community. It's easy to say that there's always people to help since it can't be quantified or argued against.
9. PHP does have good support for many things, but it lacks a modules system. Python has PyPI, Ruby has RubyGems, Java has Maven, and Perl has CPAN. PHP does support a lot of things, but you've provided no evidence that it supports more things than any other language (MongoDB, Pusher, and memcached are supported in many languages and those are the only things you used as examples).
10. Many languages are dynamically typed, but PHP is also weakly typed. Sometimes this is fine, but it can also be a pain and introduce subtle bugs from implicit type casting.
11. I think that many of us have chosen other languages because we believe we get things done faster in them. Writing an application isn't just getting the proof of concept out the door. It's about long-term productivity.
If you like PHP, great for you! I hope you're productive and enjoy using it. However, none of these reasons really ring as valid. PHP is not more scalable. PHP includes a microframework that you don't have to choose beyond the language, but that's not really something that interesting given that frameworks exist for most languages. Via a library, most languages have as good support for the web as PHP has - sometimes better (in my opinion). And the idea that PHP's popularity on the low end makes it an attractive option just seems like a bad argument.
Finally, the author says that PHP is where it's at for the web for the next 5 years (at least). However, what is launching around now and using PHP? Instagram was Python (Django). Quora wasn't PHP. FriendFeed was Python and Facebook seems to have moved away from PHP except for its legacy front-end. Google, Microsoft, and Apple don't use PHP. Pinterest is Python and Django. Twitter is a mix of Ruby and Scala. Github is Rails, BitBucket is Django. Groupon is Rails. Again, just because someone else is doing something isn't a reason to do it. However, if the author is arguing that PHP is the language of the next 5 years, I'd argue that it isn't the language of today.
When Facebook launched, Rails and Django didn't exist; .NET MVC didn't exist; Play! didn't exist. In some ways, Facebook seems to be the last big pre-Rails site. That doesn't mean that newer sites always use frameworks (or that some frameworks didn't exist before then). However, new and popular frameworks burst onto the scene in 2004 and 2005. It changed our web development community. Since that time, I think we've seen new projects using other languages a lot more than PHP. Again, I can't emphasize enough that just because someone is doing something doesn't make it good for you. However, if the author is going to claim that PHP is the language of the day, I'm going to refute it. That doesn't mean that you can't build good things with PHP, but I think that a lot of us are using other tools.
http://en.wikipedia.org/wiki/Cancellation_of_Debt_(COD)_Inco...
Taxes are complicated enough that I wouldn't presume to say that this applies in all or most cases, but it's something to be aware of. I was only aware of it due to a USA Today article a while back mentioning it (http://www.usatoday.com/money/perfi/taxes/story/2012-03-02/i...). It's something to think about if you're interested in this topic.
1. PHP has built-in templating in that it's a language that gets embedded within other text files. If you go with PHP, you don't have to decide how you're going to output your content into your front-end design. So, PHP (as a language) has made the decision on templating much in the way that frameworks like Rails and Django make that decision for Ruby and Python. And it's possible to override that decision in any of those frameworks and even PHP has alternative templating engines, but it provides a built-in default decision.
2. PHP puts many useful things into global variables. One can debate the merits of this (and I'm not here to do that), but when you're new to things and can be told "anything in that form will be available in $_REQUEST['var_name']," that can get you off the ground fast - much in the same way that params[:var_name] does in Rails.
3. PHP provides built-in "routing". Heck, it's files on your filesystem. You know how a static site works? Great! You know how PHP works (in terms of routing) as well. I appreciate having reversible routers, but one can see how PHP's approach is simple, especially for new users who might have experience with static sites.
I could go on, but it would basically be re-stating the same concept. PHP as a language includes many micro-framework features in the language itself and they're usually implemented in a simple way (even if one argues that it's not an ideal way for long-term maintainability). It gets people off the ground running fast and because its micro-framework-like capabilities are widely used, it's easy to google for information.
I don't program in PHP much, but I can understand why it could be called a "DSL for the web". It has many of the things that users grab a framework to handle built into the language. I personally much prefer to work on a site in a framework in Python, Ruby, C#, or Java, but PHP's thin layer of framework tools built into the language is very easy to understand and fast to learn.
So, this morning when it started trading, the first order seems to have been $42.05 (according to Google) with subsequent orders fluctuating from there. The LA Times is reporting (http://www.latimes.com/business/technology/la-fi-tn-facebook...) that the companies who underwrote the IPO (for example, Morgan Stanley) had to defend the price so that it didn't drop below $38 during trading today. Basically, one can do this by offering to buy shares at $38. That way, their clients who bought yesterday at $38 don't suffer a loss today as the stock is actively traded.
1. Facebook's profits are declining (by 12%). Revenue is up 43%, but revenue isn't what counts - profits are. Likewise, 43% isn't such an amazing increase. By contrast, Apple's profits are up 117% and their revenue is up 73%. Apple's P/E ratio is around 13. Even if you consider Apple an outlier, Google's profits are up 14% with revenue up 29% and a P/E ratio of around 19. So, in terms of growth, it doesn't look like Facebook is there. They don't seem to show a stronger growth pattern than companies that are trading with much more favorable P/E ratios.
2. Facebook could be a fad. While I think Facebook has much better engineering chops than AOL, Friendster, or MySpace, it's definitely possible that they could suffer the same fate. In a certain light, Facebook is a club and sometimes the crowd up and moves somewhere else. I have to emphasize that I really respect Facebook's engineering and that such strength and willingness to confront hard problems will help them a lot. Still, I remember when everyone used AIM and now everyone I know uses GTalk.
3. Facebook hasn't found a way to monetize users well. I read some estimate that Google earns 10-20x more per user. Facebook is at 900M users. They aren't going to justify such a high price by adding users. They need to figure out how to monetize them. Now, they may very well do that. If you think they will, it might justify that price. If Facebook could get its monetization per user up to Google's level, they would certainly justify that price (shrinking that P/E ratio to 8 or maybe even better). However, that's a big "if" (at least for me). I think that people betting on Facebook are betting that they will be able to figure that problem out.
4. Their mobile app doesn't have ads. To stay in the same place, they need to be able to monetize mobile as well as they've monetized their site.
5. People might become wary of Facebook. I hear a lot more ramblings about privacy and Facebook than privacy and Google. Maybe people feel more confident about Google being able to make money off of them through more traditional means. Maybe people have just felt Facebook trying to force them to be more open for their own ends several times before.
6. People are gunning for Facebook. Facebook has something that isn't making a ton of money, but people really want to be in that space. That's not great. Apple has a bunch of people that want in on mobile, but it's somewhat limited to major players - making a phone takes more than making Instagram in terms of time, money, and diversity of skills. Plus, Apple's making great money.
7. I think that Facebook isn't the best positioned for cool, new, useful things. I think that the mobile telecom industry is going to be flipped upside-down over the next half decade or so with LTE and then LTE Advanced. It's possible that a mandate for neutrality toward VoIP will come down. Google will be in a great position owning Android and GTalk. Apple has the iPhone and FaceTime. Even Microsoft has Windows Phone and Skype. Google and Apple are both working hard on mapping and other geo problems. While I like being kept up on random things in acquaintances lives, GMail and my phone know who I really interact with.
--
To be fair, I do think that Amazon is overvalued. While their revenue has grown well, their margins and profits haven't. Frankly, unlike social networking, retail isn't going to be a single-source industry in the future. Amazon will continue to have to compete against other retailers and they may face better organized competition in the future. Plus, when a company can increase its revenue so much and not have its profits go up, it just seems like a business model that relies on such thin margins that an attempt to thicken them leads to great loss of business.
--
Again, Facebook very well might justify that price. If they're able to greatly increase their monetization per user, that P/E ratio could drop fast. However, currently people are speculating that social doesn't lend to good monetization. We're also seeing that investors are willing to throw money at this with no monetization strategy (ala Instagram) and that means that Facebook isn't going to be on easy street with the space to itself.
Frankly, it isn't always about whether a company will justify a price. It's sometimes about having other options. Apple is trading at a P/E ratio of 13. If we assume that companies hit an equilibrium around 15 for slow-growth companies, Apple could get 15% earnings growth per year and return a little more than 15% per year in the stock market to get to that 15 P/E ratio. By contrast, if Facebook increases earnings 50% per year for 5 years, their P/E ratio would be 17 assuming absolutely no increase in Facebook's share price. To kind of put that growth in perspective, if Facebook's user base grew at that rate for 5 years, everyone on earth would be on Facebook.
So, Facebook has to figure out how to increase monetization per user by a good deal, fend off challenges from very smart people, make sure user apathy doesn't happen and that people don't go somewhere else, and make sure that it can adapt to mobile and other cool new things. I'm not saying they won't. I just think that there are places I could put my money that are smoother sailing. Facebook hasn't given me a plan of how they expect to increase their earnings: Zuck has even said that earnings aren't really their concern. In some ways, he's more interested in running a good site that people like - and that's good for me as a Facebook user. However, if earnings don't hockey-stick, that would leave me in an unfortunate position as an investor. Facebook is sustainable in that they're a profitable business. That doesn't mean the share price won't tank at some point if people begin to believe that Facebook will merely remain sustainable rather than hockey-sticking. Zuck is exiting this IPO with $1B in cash. It doesn't matter if Facebook tanks from here on out and he might be happy to see it remain more popular rather than more profitable. I think a lot of companies can operate that way - Patagonia does - but I don't think that's the ethos of those getting in on this IPO (even if it may be Zuck's).
I'm indifferent toward being proven wrong - I'd rather risk less and this is just an opinion. I respect Facebook's engineering and they've done a much better job than those who have come before as well as open-sourcing some great stuff. Facebook just hasn't shown me a plan for increasing profits. Without that, I wouldn't bet on that happening - and that's what people are betting on. Likewise, while Amazon has shown me how they intend to continue getting more popular, they haven't shown me increasing profitability. Again, Bezos is interested in creating a great customer experience that I appreciate as a customer. For the most part, I appreciate Facebook - it's reliability, consistency, speed. But that isn't the only thing I'm looking for in an investment - certainly not an investment with such a high P/E ratio. If Amazon's P/E ratio were 8, I would care less about a plan to increase profits - being able to keep them relatively level would be good enough. The same applies to Facebook. And I'm not saying that it won't happen. I just don't yet see how and I don't think Facebook does either - I think they're hopeful that they will figure it out later. They definitely could. I just prefer something more concrete.
"You agree that if Bill Gates comes up to you tomorrow and offers you $1B, you can't get out of this. You also agree that if you read a post on HN about our investors being crappy that you can't get out of it. If those events/data were known to you at the time of signing this, you wouldn't sign this document. However, you're saying that you accept the risk that you might find out some information that would have made you not sign this."
In some ways, that makes sense. When doing business dealings, you often don't have information that if you did have would alter your decisions.
I'm not a lawyer, but the difference between this release and a "general release" would be whether discovering information not known by you at the time of signing can let you out of the contract. I remember my partner (who is in law school) talking about a contract where one party had withheld information that would have materially changed the second party's likelihood to sign the agreement. I don't actually remember how the court ruled on it.
In this case, it's possible that the producers of the show might have sent around emails saying, "this team's idea is pure crap, but we need to fill the time." Knowing that might change whether you want to sign up since, if the producers think it's crap, there's a greater possibility that the investors on the show will as well. This also feels a bit on the deceptive side of things. They're withholding their opinion of the team and by doing so it makes the team more likely to sign.
I wouldn't go on some VC reality show, but I think it's partly motivated by the fact that they must deal with lots of different people and some of those people might think it good to sue if they get jilted on the show. As a counterpoint to a deceptive scenario, we could see a suit where the team alleged, "If I had known that none of the investors were interested in X-Industry, I would never have come on the show. They were from Y and Z-Industry and if I had known that, I wouldn't have given away 2% of my company." The retort could be, "well, we can't have investors from every industry and often investors invest in things outside their core". In this scenario, ABC was trying to do good - introduce a team they liked to investors who might branch out into their industry. The ABC team might have believed in good faith that the team was awesome and would persuade the investors. However, the knowledge that the investors were from a different industry might change the team's decision on the contract. Nothing was withheld in a deceptive manner, but it was still data that might have changed the team's decision.
In terms of being able to waive rights, some you can and some you can't. For example, in my state, if you have your own private entry/egress, you can waive your right to have the landlord do snow removal. At the same time, there are many things that renter's can't waive their rights on. Sometimes laws are written as a default. It's important that we've decided a way that this is handled in the absence of some explicit agreement to the contrary. However, other times we genuinely want to establish a floor past which one cannot go. I don't really know a lot about California law.
Again, I wouldn't go on some VC reality show and maybe I'm reading this wrong, but it doesn't sound too outrageous unless I'm missing something. I'm with you - I like dealing with low-key people with sound dealings. However, I don't think people like us are the types that the title conjures up. "Shark Tank" sounds like it's for people looking to make a big bang and get their way - possibly even if it means lawyering up and going after ABC. I'm not trying to defend ABC - I wouldn't agree to be on this show - but this might be reasonable if it's just about making sure that they don't have to worry about people saying, "but I never knew X and if I had known X I wouldn't have signed this" where X is something that wasn't withheld in an intent to deceive, but rather one of the millions of variables that change our decisions. Or maybe ABC is trying to be able to be deceptive and covering themself. I guess I haven't watched the show so I'm not sure what the environment is like.
EDIT: A concrete example (based on on Wikipedia). Right now, Mark Cuban is listed on the show. You want to be on the show because you think Mark Cuban specifically would like your idea. ABC is in contract negotiations with Cuban for the next season. He might not be on the show. Then we get into a big thing of going through emails. Emails show that Cuban was threatening to leave. They didn't tell you that. They reply that it's just part of his hard-ball approach to get the best contract and that they didn't think it was actually going to happen. Seems like a nightmare.
Oddly enough, unlike the article, Comcast's DNS was working fine with my domain fine on the root CNAME.
Most services like Heroku or Google's AppEngine (where you set up a CNAME for your domain rather than an A record) recommend that you have your DNS provider to a redirect to the "www." version. Namecheap's DNS will do this (a lot of providers offer redirects in their DNS system which isn't really DNS, but is a simple value-add for them to provide).
In 2001 (when BeOS was bought), it might have made a bit of sense. Be was pretty modern then - competing against Windows XP and either the Classic Mac OS which it was far better than or OS X which was very new and so incredibly slow it was nearly unusable - I don't miss those days being a Mac user. However, in 2001 it had just been bought. Palm wasn't going to turn around and say "we spent $11M on this, you guys want it on the cheap?"
Today, Haiku has probably surpassed BeOS in any relevant way. The issue is that the world has moved on. Imagine a really well-made car/engine from 1990 (and imagine that it was like code which doesn't corrode and such). It can still be a great car today in many respects - maybe its performance characteristics still make it a lot nicer than many modern cars. However, you then start thinking about how it doesn't have anti-lock brakes, traction control, electronic slip protection, air bags, a CD player, iPod hookup, bluetooth; plus, it has a an analog carphone installed in the center. That's a bit like was BeOS would be like today.
For example, Haiku just got preliminary WPA support in October. Frankly, if an operating system doesn't have wonderful WiFi support, it's missing a key practical piece for me. Likewise, other operating systems have put considerable energy into compositing window managers to provide things people take for granted today like shadows, transparency, minimization effects, etc. Plus, and this is pure speculation since I haven't used Haiku recently enough to really comment, I'm guessing the web browser ports aren't quite as mature/good as they are for other systems that have a lot more users/developers.
So, licensing the BeOS IP isn't the issue. It would basically be buying an operating system that hasn't been updated since Windows XP came out. Sure, Windows XP isn't terrible today, but part of that is because Microsoft continued to update and maintain it since its release in 2001. Even then, it seems old.
If BeOS was open-sourced in 2001, it might have seen decent adoption. It had a nice GUI, was really ready for the multi-core processors to come, and it might have gotten the traction to see things like Mozilla concentrate on it as a platform. When OpenBeOS (Haiku's former name) started, I think there was a lot of hope. Of course, as they were concentrating on replicating BeOS R5, the world moved on and Apple, Microsoft, and the Linux community had an army of programmers working on advancing their systems while Haiku had a small team trying to resurrect their beloved system. BeOS was very advanced for its day and in some ways I think it's still better, but BeOS today would just be old in many practical ways even if it was awesome in many other ways.
http://www.haiku-os.org/news/2008-05-18/steady_progress_towa...
But I think the valuation is quite high for a potential that they haven't shown they can leverage their users toward. Google hasn't shown that it can leverage its might toward, say, social. However, Google's valuation isn't so high compared to its earnings. For me, it's a big bet to assume a company can drastically change its monetization.
Myself, I don't see Facebook necessarily going the way of AOL and MySpace. Facebook's engineering chops are a lot better. Sure, there's an amount of social lock-in that they shared with AOL and MySpace, but that isn't the only thing keeping Facebook on top right now. Facebook has made sure that their site runs well - a minimum of errors, predictable and decently speedy response, and a willingness to address technological challenges that keep the site humming. While we might lambaste Facebook a bit from a social perspective, they've open sourced some genuinely good tools and seem to be sticking to their technological guns. Unlike MySpace, AOL, and Yahoo, Facebook isn't morphing into a company where "media" types run the show. While the social aspect is very important for Facebook, I think there's a more engineering-centric or engineering-friendly culture that will persist there like it has at Google. I don't see the higher-ups at Facebook thinking "oh, I get the cool stuff the kids today are hip to and I just need some peon programmer to translate my awesomeness into computer speak. All programmers are interchangeable cogs, right?" I think that does speak to Facebook's longevity. In technology, you need to be able to improve your product, not just keep the lights on.
However, Facebook relies on non-technological factors more than Google or Apple. Facebook needs to remain the place people sign up when they join a social network. It isn't too hard to imagine Facebook becoming the place known as the hangout for people's parents. As someone in my twenties, I'll probably have teenagers in 15-25 years (a decent number of my friends will in 15 years). Will they want to be on the social network that I'm on - the social network of my generation? It's already weird to me when old people sign up for Facebook. I don't want to "friend" my actual friends' parents. Frankly, I'm a (slightly) different person when I'm talking to my friends and when I'm talking to my friends' parents. Likewise, Facebook is treading a thin line on sharing. In the early days, Facebook was very closed and putting something on Facebook felt more private. Facebook has been slowly changing that to the point that I wonder whether I should just edit myself a bit more and publish publicly rather than on FB in a more formal way (ie. a blog). Finally, people could just get tired of it. I'm finding less interesting things in my newsfeed as time goes on. I find that I don't feel like posting as much.
For me, Facebook's valuation at $100B seems high given its earnings. It's PE ratio is above 100 and so one has to assume much more growth than other very good companies. It might happen. However, I think Facebook faces a decent amount of uncertainty in its future. It's well-engineered and well-run compared to those who have failed that we might point to as Facebook's future, but with a social product there's more than just having good service and any number of things could hurt Facebook from privacy concerns to becoming the network of the people who went to college from 2000-2015 while younger folk find a different place to digitally hang out. I wouldn't compare them to AOL, Yahoo, or MySpace, but I'd still say Facebook's valuation is quite high.
In fact, I'm wondering how you came about your "I'm able to run infrastructure comprising ~500GB RAM for literally 3% of the cost of EC2" calculation at all. Even without reserved instances, Amazon has their 3.75GB instance available for $115/mo (or $30.67/GB). At $17/GB, prgmr is more than half the price (~55%). That is a savings, but certainly nowhere near 3% of the cost.
IIRC, prgmr charges $4 plus $1 per 64MB of RAM. Assuming that they'd sell you a 500GB instance, that would be $8,004/mo. Since you'd probably have to spread it over more machines, it would likely be a bit higher. Anyway, even without dipping into reserve pricing (using the quad XL high-mem instances), you can get 500GB of RAM for $9,000-$10,000. Again, prgmr is a bit of a savings, but in the 10-20% range.
And here's the big point. If you're using AWS for on-demand instances in that range, you're likely to want the hourly billing and rely on the fact that Amazon has much greater scale. Prgmr can have a queue for more capacity so clearly they're not accommodating someone like Netflix who needs 1,000+ boxes to do encoding for a week when a new platform comes out and then shuts them down until a new platform comes out. If you're running a more predictable infrastructure (which it has to be to an extent to go with a smaller player), then you can use Amazon's reserved instances. Amazon's reserved instances beat prgmr on price.
Now, I didn't calculate in storage or bandwidth into Amazon's costs, but even with those additional charges, I don't see how you came upon prgmr being 3% of the cost of EC2.
For my own personal server, I have an EC2 Micro instance with 1-year heavy utilization. That means that I pay $8.77/mo for 613MB RAM - a discount against prgmr's $12. Now, I have to add storage to that - the 12GB that prgmr offers would cost an additional $1.20 - and bandwidth, but I don't break $12 for my usage. If I wanted to commit to three years, the cost would be even less - $6.38/mo.
None of this is to take anything away from Luke - he's literally written "The Book of Xen". That said, Amazon's pricing isn't much more expensive. Their reserved instances can be a good bit cheaper. Amazon also has the scale to accommodate you more easily. Prgmr can't keep thousands of spare boxes on hand and they (as you noted) have had queues for instances. Amazon is by no means the be-all and end-all of Xen instances, but it's pricing isn't that bad (and in fact can be better) and there are advantages to using a company with Amazon's scale.
YouTube has a bit of a network effect going on in that viewers want to go where they think the videos will be and people want to upload where they think the viewers will be. I don't (personally) use dropbox in a manner that has any network effects. I basically use it to sync files between multiple computers that I own.
If most people are using Dropbox in a way that doesn't take advantage of other people also using the service, Google could make good entry.
Also, you mention Google Video as a space that Google entered against competitors, failed, and bought the largest. However, that isn't always the case. "We've seen this before. It was called Gmail. In the end they ended up taking most of the new signups away from Hotmail and Yahoo." The distinction between those two situations is important. Was it that Google was facing off against competitors that had rested on a mediocre product while Dropbox is still making their product awesome? Was it that Google was able to (though Ajax) provide something inherently superior while this new Google storage will be at best a clone of Dropbox?
I don't think Dropbox provides as much lock-in as email or online video. If Google introduces this tomorrow, I can easily copy the contents of my Dropbox into it and see if I like using it. If they provide something superior, it's easy for me to switch. I've used Dropbox since early on and been a huge advocate of it at my workplace and to my friends. I do have a certain loyalty to a product that's been around, is reliable, and I trust. Still, that isn't the kind of lock-in that YouTube or email have.
At the same time Dropbox is more like YouTube in that it's a company that creating something good that people love to use. The argument could be made that Google disrupts best where competitors are lax - text ads, search, email, maps. They disrupt products that people use to get to an end, but don't enjoy the means. With Dropbox, I don't see how Google can make it significantly more compelling and it seems like they're resorting to more storage. I love the Dropbox model of having a sync'd folder and whenever someone tries to do something more complex, it leaves me with less joy.
I guess my question would be: what makes Dropbox like YouTube and not like Yahoo? Is the lock-in (or lack thereof) not an issue? Is the crux that Dropbox is an innovator making things people love rather than taking a "that'll do" attitude?