The eventual release of btrfs is one of the things I'd would be glad to see happen only in a kernel that's clearly labeled part of new, less stable development.
Linus is not proposing to create a less-stable development branch. He's not proposing to change the kernel development process at all, just to change the numbering because the major number has become completely useless, the minor number has become somewhat useless and the sub-minor number (where all the action happens) is getting awfully big. Every kernel release will still be considered basically-stable, with the distros being left to do whatever final stabilization is needed.
So, while Google currently has smaller revenues and profits, it also has much better prospects for growth than IBM or Microsoft. Again, I think the market capitalization isn't at all unreasonable.
The thing is, I would like to see this backed up with some actual numbers, e.g. if Google expands its sales at x% a year, it will generate y billion dollars extra profit over the next z years, then discount these cashflows. At least you could measure the projected growth against actual results every year, and adjust the calculations accordingly.
If you read analyst reports you'll get enough of that to choke a horse.
If Linkedin is anything like other social networking sites (and, yes, I know it's for business users) you will be able to extract approximately $0 out of 99% of users.
LinkedIn already extracts money from some users to get additional features, and from recruiters who want to datamine the network looking for leads. $50 per user over 15 years seems high to me, too, but not that unreasonable. Plus you know they're going to grow well beyond the current 100 million user mark.
It's not really my idea. It has been floating around for a long time - Technocracy Movement [wikipedia.org] has come up with it back in 1930s, and I doubt they were the first ones - and it has been a staple of many a science-fiction story since then under various names such as "energy credit" or "ergthaler".
I read a lot of science fiction, golden era to contemporary, so it surprises me I haven't run into it. Or maybe I did and it just didn't stick.
Oh come on! If you do indeed work for Google, you obviously aren't a developer as you'd understand how unreasonable it is to tell someone who's actively working on a site (and it sounds like quite far along on it) to drop the tool they're using, learn something else, and rewrite the entire thing from scratch.
I am a software engineer at Google (though I've only been here for three months), and have been a professional developer for over 20 years. In that time I've had numerous opportunities to rewrite something from scratch, and as long as you avoid second-system syndrome it can be a very good idea (it's crucial to focus on what features you can remove, rather than what features you can add, otherwise it'll feature-creep monstrously). In any case, I have a strong suspicion in this particular case that this guy doesn't have a huge volume of code already written. His question had the tone of someone just getting started, rather than someone who has already invested a great deal.
Further, I think it's critical not to underestimate the amount of effort it takes to build out high-capacity, fault-tolerant infrastructure, and the huge time-suck that system administration can be. You seem to agree with me, pointing him towards exactly those advantages with respect to Azure -- which I didn't really consider because I don't know anything about it.
If Azure provides the same scalability and ease-of-management advantages as Google App Engine, and if it works -- I do understand it's very new -- and if he already has a significant amount of effort invested in his.NET app, then I'd say it's the right approach. Another poster in this thread commented with concerns about lock-in arising from the use of App Engine, though, and I think those concerns would be an order of magnitude larger with Azure. Google has a history of trying to be open and interoperable (which isn't to say they always are), and App Engine is built mostly on open source tools. Microsoft has a history of trying to lock their customers in (which isn't to say they always do), and I'm sure Azure is mostly proprietary. I think it's a valid point in both cases, but it would worry me a lot more with respect to Azure. OTOH, it may not be a concern at all for the OP, in which case I'd say Azure is the way to go, and wish him the best.
Interesting idea. I really like it, actually. It's worth some thought.
It brings up an interesting connection with bitcoin, which boils down to almost the same idea. Coins are "minted" through a computationally-intensive discovery process which creates a real limit on the rate they can be created -- and ties them somewhat to power consumed. Of course, creating a bitcoin means actually consuming the power, so it can't be used for anything else. Using currency as a representation of energy available to be used makes a lot more sense.
The most obvious problem I see with the idea is that energy is really hard to store, so all value in an energy-backed currency would end up tied to ongoing production -- which can never be fully reliable. So if the plant that produces the energy that backs the money in your pocket gets smashed by a meteor, what does that do to the money in your pocket? Still, it's hard to see how it can be worse than purely fiat money.
Hmm. If we ever do find a good way to safely and inexpensively store large amounts of energy your idea would be eminently practical.
Are you serious? Do you really think that the Windows platform can't scale to handle a few million users and a few million hits/day? Depending on how CPU and database intensive his app is, it's likely that he could scale that far on a single physical server. 8 cores + 8GB of RAM will take you far, even on Microsoft.
What about fault-tolerance? If you've got a profitable site that size, downtime can cost you a LOT, so you don't want to have all your eggs in one basket. If your one datacenter loses its Internet connection, you're hosed until it's back up. If you have a large hardware failure, or some sort of localized catastrophe (data center catches fire, floods, etc.). you're hosed until you can restore from backup... and how good will your backups be? Real-time data replication is tricky and error-prone.
Building a real, high-volume web site isn't about cycles, or RAM, or even bandwidth. It's about distributed systems, redundancy, automated failover, efficient, secure data replication, etc. That's the hard part of scaling, and.Net and Win2008 don't provide you with much help there. They do provide all the tools you need to build a solution, I'm not knocking them, but they don't provide the solution.
I'm also not knocking Windows here. I'm a Linux bigot, but the difference between the scalability of Linux and Win2008 on ordinary server hardware is basically negligible. As is the difference between Java and.NET. I think Linux provides more options, but that's neither here nor there.
Is it really true that porting a.Net app to Google's API and making it portable to other platforms takes just a little up-front thought?
Well, I'm betting that he doesn't have much of a.Net app to port, yet. If he really has tens of thousands of lines of code already invested, or a complex and fully fleshed-out relational schema (Google's datastore is not relational), then moving to a different platform is a big hurdle. But if you're just getting started, those aren't issues. As for portability to "other platforms", that depends on what you mean. Building something with Java Servlets on a Bigtable datastore that is trivially portable to.Net on SQL Server will be very challenging, because they're so different. But building something that you can move from Google App Engine to a platform with Tomcat some NoSQL store is eminently doable, and gives you plenty of options for moving off of Google's infrastructure.
I'm not thinking that growth will force him off of Google, but pricing or terms of use changes.
I meant that growth may force him off of Google because of pricing. I don't know how expensive it gets to run a large site on Google, but assuming it's expensive then that would eventually force him to move. On the other hand, assuming his site is actually revenue-generating, having so much traffic that your hosting is getting expensive generally falls into the category of a "good problem". Many, many web startups wish they had that problem... and hardly any of them ever will.
Terms of use changes... I really don't expect that will be a concern unless what he wants to do violates the current terms of use, but I do acknowledge that it's a risk, and one that has to be considered carefully. A similar risk is that you have to trust Google not to misuse data your app stores on their systems. Again, I think Google takes such issues very seriously and takes extensive precautions to protect their users' data against misuse or abuse, but it's a real risk and one that must be taken into account.
Another advantage of using App Engine (or something similar) that I didn't mention is that it means not having to deal with system administration. You write your code, deploy your app and worry about the functionality, leaving Google to worry about making sure that it's always up, always fast, that your data is safe, etc. For a one-man shop, trying to get something up quickly, the value of that shouldn't be underestimated.
I agree. It is very rational for each individual market participant, and sometimes it even works out well for the whole as well. The problem is that if you are investing based on your expectation of other people's expectations, then if you really are rational, you are engaging in a psychological endeavor of trying to predict people over trying to predict the value of the actual stock.
Depends on the time frame.
If you're looking long-term, then it's utterly useless to try to predict peoples' beliefs. Long-term, companies that are well-managed and have good products (and good R&D for producing new products) will generally produce good value for investors.
If you're looking short-term, then, yes, it's pretty much a psych-game, trying to predict which way emotions will swing. That's called "speculation", not "investment". If you're a *good* speculator, you may be able to make a lot of money. More likely, you'll lose your shirt eventually even if you succeed for a while.
I'd recommend you drop Visual Studio and Windows and "go to the cloud" on an environment that is already scaled out. There are a few options, but I think one of the easiest to set up and get going on is Google's App Engine system.
Yeah, drop everything you've created and move it to a completely different platform. One that is is proprietary so you're locked into that one vendor forever unless you want to rewrite your app.
Or, since you are already familiar with and comfortable with Windows development tools you can pick and choose from dozens of hosting providers that will provider a Windows VM or physical machine and if they change their price or terms of use to something you don't like, you can easily move everything to another hosting provider.
None of which will be able to scale your application to the levels that the guy mentioned. Scalability like that comes from architecture, not hardware, and Google has an extremely scalable distributed storage and processing architecture.
Of course, the odds that the OP will actually need that kind of scale are almost negligible, but it's what he asked for. As for the "Google lock-in"... that's manageable with a little up-front thought, as I suggested. Keep your business logic separate and you should be able to port easily to other environments. And, actually, most of the App Engine infrastructure is based on fairly standard stuff -- in Java you're writing Servlets and JSPs and in Python you can actually write most of your app as Django plugins. The main area you end up "tied" to Googel's APIs is around storage and task management, and around user identity/account management, should you choose to use Google's APIs rather than something else (there are lots of options) and it's not difficult to introduce a small abstraction layer to allow you to break those connections when required. If you grow to the point that it really makes sense to get off of Google, making the move will cost you a lot of effort and a lot of money, but it's just the effort and money required to build the scalable infrastructure, and you have to pay for that at some point, regardless.
The bottom-line reason for my suggestion was that it allows you to start small, almost ignoring issues of scalability, but to be able to scale up to massive volumes almost trivially. The Visual Studio and VMs approach doesn't provide that scalable, highly-available infrastructure out of the box, you have to build it, which takes time and effort which could be better spent on building the meat of the app.
I'd recommend you drop Visual Studio and Windows and "go to the cloud" on an environment that is already scaled out. There are a few options, but I think one of the easiest to set up and get going on is Google's App Engine system. I don't know what your preferred programming language is, and if it's not Java or Python (or Go), then you're going to have to switch, but all of those are easy languages to learn and the time required to learn them will be trivial compared to the rest of what it's going to take you to build a significant site. The App Engine SDKs are pretty easy to work with and provide a lot of powerful tools, and your site will be running on Google's infrastructure so you know it'll scale as far as you need it to. The free quota will allow you approximately 5 million pageviews per month, so there's plenty of room for initial growth. When you get to where you need more than that you should also have some cash flowing in to allow you to buy more quota.
If you're concerned about being tied to Google (a valid concern), I'd also recommend that you put some thought into placing a layer between your business logic and Google's APIs. I wouldn't make a huge investment in that, because it's the sort of thing that can soak up a LOT of time, so much that you never actually get your site off the ground, but a little thought up front will make it much easier to migrate to your own platform when you have the revenue to justify hiring all the people you need to do that (because it's a BIG job).
The nice thing is that you can start small, for free (other than your time, of course), and have plenty of room to test your ideas and your approach on the small-to-medium scale before it actually costs you anything, other than your time. Then by the time you're ready to scale up, you should know what you need, and hopefully have the cash to fund it. Or, if it doesn't work out, at least you minimized your sunk cost.
(Disclaimer: I'm a Google employee. That actually has little to do with my recommendation, other than that my employment has motivated me to play with App Engine and I've been impressed with what I've seen, but I feel it should be mentioned.)
IBM created Microsoft? Ha! I guess you don't know many IBMers from back in the day.
Yes, IBM created Microsoft. Had IBM opted to write its own operating system for the PC, or even just bought MS-DOS outright rather than licensing it, Microsoft would never have existed (the company would have, but it would never have grown the way it did).
And, yes, I know IBMers from back in the day. I didn't become an IBMer until 1997 so I wasn't there personally, but over 14 years in the company I've met plenty who were.
The "proper" value of a stock is the net present value of its future dividend stream...
... which no one can possibly know, because of the "future" bit.
Obviously no one can know, but it's possible to make a pretty good estimate for the near term. As you look further into the future the uncertainty increases... but as you look further into the future the effect of those profits on the net present value decreases. Bottom line, it is often possible to predict with surprising accuracy.
Keep in mind that this isn't some sort of newfangled idea. It's a necessary feature of any society above the hunter-gatherer level -- and even nomadic hunter-gatherers have to engage in speculation about how much effort to invest in traveling to less-utilized lands, and which ones. Certainly as soon as you start farming your food you're engaging in constant, large-scale speculation of the future. All of those seeds you plant are food that you actually could have eaten instead, and the effort you put into weeding (and, if you're more advanced, soil preparation, fertilization, irrigation, pest control, etc.) is all a calculated gamble on the future, that your crops will survive to be harvested and that you'll be around to harvest them. You also have to make bets on how much to plant, where to plant, when to plant, what to plant, etc.
I could cite endless examples, from whether or not to go to school, and how much, to whether to have a family, to the more obvious economic guesses we make... life is largely about trying to peer into the future and predict outcomes based on decisions we make today. These predictions are based on our current knowledge and understanding. Investing is no different, just a little more abstract.
It could be future earnings. It could also be the expectation that other investors are going to be willing to buy the stock for a higher price in future. I think most investing is based more on the latter and less on the former.
In the case of non-dividend stocks, it absolutely is the expectation that other investors are going to be willing to pay more in the future. That future willingness could be based on emotion or stupid decisions, or it could be based on an actual increase in the value of the company.
If I buy Apple stock, for example, (Apple, like many tech companies, doesn't pay dividends), I absolutely do expect to be able to sell that stock for a higher price in the future. Not because I'm betting that future investors will be dumb, but because I believe that Apple will have increased in value by continue to expand sales of their current lineup of products and by creating new, innovative, products that will become market leaders. Their profits will have continued to grow, resulting in a combination of increased assets and increased investment in further growth. In fact, the reason companies choose to retain earnings rather than paying dividends is because they believe that they have opportunities to expand, and expect to need that cash. Once companies reach a level where significant expansion isn't all that likely (e.g. IBM), they start paying out profits in dividends.
This is all very rational and reasonable. I'm not saying that the markets are never irrational, but buying stock today on the expectation that it will be worth tomorrow based on the company's history and prospects is usually very rational.
It's insane because it's imaginary. It's an imaginary market and it's imaginary value. It's imaginary income. They are also imaginary dollars; imaginary worth imaginary costs. The WHOLE system is imaginary.
Obviously. But so what? What would be real? Gold? A system based on metals would be equally imaginary. The metals might be real, but their value is just as much a collective societal decision as our current approach of believing that audited bits in a computer have value.
The only system that would be truly "real" is barter, where goods with actual value to improve human life are exchanged for other actual goods. However, that system has such insanely high transaction costs that it's simply unworkable. If you're going to have trade, you need a common medium of exchange, and that medium is going to be arbitrary and, to use your word, "imaginary".
and this is why the current implementation of capitalism is fatally flawed, it is founded on fraud, deception, and innuendo. facebook is valued at $50 billion dollars even though it makes very little money and will wither and die just like every other hit social network when something else comes out.
I don't see the fail.
The "proper" value of a stock is the net present value of its future dividend stream. Even for stocks that don't pay dividends, you can adjust the idea for increase in book value due to retained earnings. In either case, the value isn't just based on the most recent net revenue figures, it's based on profits, and on the anticipated future profits.
If you dig into these numbers a little more, they don't look all that unreasonable to me. Yeah, okay, IBM and Microsoft are neck-and-neck in market cap even though IBM has total revenues almost 50% higher than Microsoft, but Microsoft actually has greater profits ($19B vs $15B) which should send the cap the other way... except that IBM also has much greater assets. As far as their futures go, both companies are going to be productive and profitable both short-term and long-term, but it's unlikely that either of them is going to experience tremendous growth. So... they really are worth about the same.
Throwing Google into the mix, Google is worth almost as much as the other two, but has smaller revenues and profits ($8B)... so maybe that's the fail? Google also has tremendous opportunity for growth. It's currently raking in the lion's share of on-line advertising revenues in the industry, but those are still just a tiny piece of total advertising expenditures -- and online advertising continues to grow really quickly. Even if Google loses market share (and there isn't really any reason to think they will), the pie they're taking a share of is growing so fast that they have lots of growth ahead of them. And that assumes that none of Google's non-advertising ventures are successful. So, while Google currently has smaller revenues and profits, it also has much better prospects for growth than IBM or Microsoft. Again, I think the market capitalization isn't at all unreasonable.
But what about LinkedIn? Yeah, they may well represent a fail. But Lots of people said that about Google when their IPO went crazy. Investors in LinkedIn are gambling but it's not an entirely unreasonable gamble. LinkedIn doesn't have a lot of revenue, but they have demonstrated that they can generate income from their social network, and it's not unreasonable to believe that they'll find ways to generate a lot more. The bottom line with LinkedIn is that they currently have 100 million account holders. If they can find a way to extract $50 from each of them, on average, over the next 10-15 years they'll have justified their current market cap. That doesn't seem so far-fetched to me. It doesn't seem likely enough that I would buy their stock... but I also refused to buy Google for the same reasons.
Does the market mis-price companies at times? Absolutely. Especially when speculators start inflating bubbles. But I don't really see anything so insane here.
Ron Paul has announced his intention to seek the Republican nomination. Even if you don't like him, it'd be nice to see someone in the office who is actually different. Not that he has a prayer.
I suppose you could say that, however "people like me" with a smartphone makes up 42% of users in the US.
Cite? The most recent number I can find is 27%. That's from April 2011. Even your inflated number means that more people don't have smartphones than do, AND not all smartphones provide tethering, AND not all of those that do are very cost-effective, AND not all users are capable of figuring out how to use it. In fact, if it requires jailbreaking, most people are either incapable or unwilling.
I think there are plenty of people for whom this netbook makes more sense than an iPad plus a phone, even among those who have a smartphone -- and there are a lot more who don't than do.
I'd be a more concerned if we actually collectively wrung our hands over the death of a madman who deliberately plotted and succeeded in smashing passenger airplanes into skyscrapers
I'm not bothered by his death. I'm bothered by the fact that his death was not carried out in accordance with the law that we supposedly hold as our highest principle. If OBL was a criminal, he should have been tried and executed. If he was an enemy combatant, he should have been treated according to the rules of war, and tried as a war criminal, and executed.
However, given how often we ignore our own laws, even when it's not particularly important, I'm not at all surprised that we ignored them in this case. I'm not even arguing that we shouldn't have ignored them. I'm just saying I wish we were a country that truly cared about the Rule of Law enough to at least be a little bothered by subverting it.
OTOH, isn't a free nation of laws suppose to hold the law above all risks?
That would be nice, wouldn't it? But given that we often ignore inconvenient laws, it's not very surprising that in a case like this where following the law is risky, we decided to embrace expediency. I wish we were a country that would at least have agonized over it a little, and maybe felt obligated to come up with justifications. But we're not.
So if you also have a smartphone ($$) and data plan ($$) and if you stretch your comparison over a long timeframe then the iPad becomes cheaper.
What you're saying is "this device doesn't make sense for people exactly like me". Which says nothing at all about whether or not it makes sense for other people.
If you use this Netbook for more than 2 years, you could have bought an iPad. If you use it for 4 years, the iPad is cheaper with service.
How do you figure that?
A 3G-capabile iPad costs $629. The four-year cost for this is $960. So the iPad costs $149 more, PLUS the cost of the service for the iPad. In order to break even you'd have to find 3G service for (960-629)/48 = $6.90 per month.
Who sells 3G data service for $6.90 per month?
If you could get 3G data service for $10 per month (where?), and you used it for a little over five years, then you'd break even. At six years you'd come out ahead on the iPad.... IF you could find 3G service for $10 per month.
Ok, so by that yardstick, why all the fuss about Apple being "late" (by a month) in releasing the Webkit changes? Yesterday everyone was telling me that they shouldn't have shipped running binaries until they were ready to release the code, as the GPL requires. (which in my opinion Apple absolutely needs to get sorted immediately)
Now because it's Android and Google they get a pass on that?
No, Google doesn't get a pass; Google didn't screw this up. Google released all of GPL'd code for Honeycomb. It's only the Apache-licensed code which wasn't released -- as is allowed by the license. Google didn't violate any licenses, even for a short time.
oh your right. i forgot about eeproms emulated using flash which i guess is what they all are now. back in the day eeproms could only be flashed between 10 and 100 times.
Lots of real EEPROMs (byte-erasable) support hundreds of thousands or even millions of erase cycles.
The eventual release of btrfs is one of the things I'd would be glad to see happen only in a kernel that's clearly labeled part of new, less stable development.
Linus is not proposing to create a less-stable development branch. He's not proposing to change the kernel development process at all, just to change the numbering because the major number has become completely useless, the minor number has become somewhat useless and the sub-minor number (where all the action happens) is getting awfully big. Every kernel release will still be considered basically-stable, with the distros being left to do whatever final stabilization is needed.
So, while Google currently has smaller revenues and profits, it also has much better prospects for growth than IBM or Microsoft. Again, I think the market capitalization isn't at all unreasonable.
The thing is, I would like to see this backed up with some actual numbers, e.g. if Google expands its sales at x% a year, it will generate y billion dollars extra profit over the next z years, then discount these cashflows. At least you could measure the projected growth against actual results every year, and adjust the calculations accordingly.
If you read analyst reports you'll get enough of that to choke a horse.
If Linkedin is anything like other social networking sites (and, yes, I know it's for business users) you will be able to extract approximately $0 out of 99% of users.
LinkedIn already extracts money from some users to get additional features, and from recruiters who want to datamine the network looking for leads. $50 per user over 15 years seems high to me, too, but not that unreasonable. Plus you know they're going to grow well beyond the current 100 million user mark.
It's not really my idea. It has been floating around for a long time - Technocracy Movement [wikipedia.org] has come up with it back in 1930s, and I doubt they were the first ones - and it has been a staple of many a science-fiction story since then under various names such as "energy credit" or "ergthaler".
I read a lot of science fiction, golden era to contemporary, so it surprises me I haven't run into it. Or maybe I did and it just didn't stick.
Oh come on! If you do indeed work for Google, you obviously aren't a developer as you'd understand how unreasonable it is to tell someone who's actively working on a site (and it sounds like quite far along on it) to drop the tool they're using, learn something else, and rewrite the entire thing from scratch.
I am a software engineer at Google (though I've only been here for three months), and have been a professional developer for over 20 years. In that time I've had numerous opportunities to rewrite something from scratch, and as long as you avoid second-system syndrome it can be a very good idea (it's crucial to focus on what features you can remove, rather than what features you can add, otherwise it'll feature-creep monstrously). In any case, I have a strong suspicion in this particular case that this guy doesn't have a huge volume of code already written. His question had the tone of someone just getting started, rather than someone who has already invested a great deal.
Further, I think it's critical not to underestimate the amount of effort it takes to build out high-capacity, fault-tolerant infrastructure, and the huge time-suck that system administration can be. You seem to agree with me, pointing him towards exactly those advantages with respect to Azure -- which I didn't really consider because I don't know anything about it.
If Azure provides the same scalability and ease-of-management advantages as Google App Engine, and if it works -- I do understand it's very new -- and if he already has a significant amount of effort invested in his .NET app, then I'd say it's the right approach. Another poster in this thread commented with concerns about lock-in arising from the use of App Engine, though, and I think those concerns would be an order of magnitude larger with Azure. Google has a history of trying to be open and interoperable (which isn't to say they always are), and App Engine is built mostly on open source tools. Microsoft has a history of trying to lock their customers in (which isn't to say they always do), and I'm sure Azure is mostly proprietary. I think it's a valid point in both cases, but it would worry me a lot more with respect to Azure. OTOH, it may not be a concern at all for the OP, in which case I'd say Azure is the way to go, and wish him the best.
Interesting idea. I really like it, actually. It's worth some thought.
It brings up an interesting connection with bitcoin, which boils down to almost the same idea. Coins are "minted" through a computationally-intensive discovery process which creates a real limit on the rate they can be created -- and ties them somewhat to power consumed. Of course, creating a bitcoin means actually consuming the power, so it can't be used for anything else. Using currency as a representation of energy available to be used makes a lot more sense.
The most obvious problem I see with the idea is that energy is really hard to store, so all value in an energy-backed currency would end up tied to ongoing production -- which can never be fully reliable. So if the plant that produces the energy that backs the money in your pocket gets smashed by a meteor, what does that do to the money in your pocket? Still, it's hard to see how it can be worse than purely fiat money.
Hmm. If we ever do find a good way to safely and inexpensively store large amounts of energy your idea would be eminently practical.
Are you serious? Do you really think that the Windows platform can't scale to handle a few million users and a few million hits/day? Depending on how CPU and database intensive his app is, it's likely that he could scale that far on a single physical server. 8 cores + 8GB of RAM will take you far, even on Microsoft.
What about fault-tolerance? If you've got a profitable site that size, downtime can cost you a LOT, so you don't want to have all your eggs in one basket. If your one datacenter loses its Internet connection, you're hosed until it's back up. If you have a large hardware failure, or some sort of localized catastrophe (data center catches fire, floods, etc.). you're hosed until you can restore from backup... and how good will your backups be? Real-time data replication is tricky and error-prone.
Building a real, high-volume web site isn't about cycles, or RAM, or even bandwidth. It's about distributed systems, redundancy, automated failover, efficient, secure data replication, etc. That's the hard part of scaling, and .Net and Win2008 don't provide you with much help there. They do provide all the tools you need to build a solution, I'm not knocking them, but they don't provide the solution.
I'm also not knocking Windows here. I'm a Linux bigot, but the difference between the scalability of Linux and Win2008 on ordinary server hardware is basically negligible. As is the difference between Java and .NET. I think Linux provides more options, but that's neither here nor there.
Is it really true that porting a .Net app to Google's API and making it portable to other platforms takes just a little up-front thought?
Well, I'm betting that he doesn't have much of a .Net app to port, yet. If he really has tens of thousands of lines of code already invested, or a complex and fully fleshed-out relational schema (Google's datastore is not relational), then moving to a different platform is a big hurdle. But if you're just getting started, those aren't issues. As for portability to "other platforms", that depends on what you mean. Building something with Java Servlets on a Bigtable datastore that is trivially portable to .Net on SQL Server will be very challenging, because they're so different. But building something that you can move from Google App Engine to a platform with Tomcat some NoSQL store is eminently doable, and gives you plenty of options for moving off of Google's infrastructure.
I'm not thinking that growth will force him off of Google, but pricing or terms of use changes.
I meant that growth may force him off of Google because of pricing. I don't know how expensive it gets to run a large site on Google, but assuming it's expensive then that would eventually force him to move. On the other hand, assuming his site is actually revenue-generating, having so much traffic that your hosting is getting expensive generally falls into the category of a "good problem". Many, many web startups wish they had that problem... and hardly any of them ever will.
Terms of use changes... I really don't expect that will be a concern unless what he wants to do violates the current terms of use, but I do acknowledge that it's a risk, and one that has to be considered carefully. A similar risk is that you have to trust Google not to misuse data your app stores on their systems. Again, I think Google takes such issues very seriously and takes extensive precautions to protect their users' data against misuse or abuse, but it's a real risk and one that must be taken into account.
Another advantage of using App Engine (or something similar) that I didn't mention is that it means not having to deal with system administration. You write your code, deploy your app and worry about the functionality, leaving Google to worry about making sure that it's always up, always fast, that your data is safe, etc. For a one-man shop, trying to get something up quickly, the value of that shouldn't be underestimated.
I agree. It is very rational for each individual market participant, and sometimes it even works out well for the whole as well. The problem is that if you are investing based on your expectation of other people's expectations, then if you really are rational, you are engaging in a psychological endeavor of trying to predict people over trying to predict the value of the actual stock.
Depends on the time frame.
If you're looking long-term, then it's utterly useless to try to predict peoples' beliefs. Long-term, companies that are well-managed and have good products (and good R&D for producing new products) will generally produce good value for investors.
If you're looking short-term, then, yes, it's pretty much a psych-game, trying to predict which way emotions will swing. That's called "speculation", not "investment". If you're a *good* speculator, you may be able to make a lot of money. More likely, you'll lose your shirt eventually even if you succeed for a while.
I'd recommend you drop Visual Studio and Windows and "go to the cloud" on an environment that is already scaled out. There are a few options, but I think one of the easiest to set up and get going on is Google's App Engine system.
Yeah, drop everything you've created and move it to a completely different platform. One that is is proprietary so you're locked into that one vendor forever unless you want to rewrite your app.
Or, since you are already familiar with and comfortable with Windows development tools you can pick and choose from dozens of hosting providers that will provider a Windows VM or physical machine and if they change their price or terms of use to something you don't like, you can easily move everything to another hosting provider.
None of which will be able to scale your application to the levels that the guy mentioned. Scalability like that comes from architecture, not hardware, and Google has an extremely scalable distributed storage and processing architecture.
Of course, the odds that the OP will actually need that kind of scale are almost negligible, but it's what he asked for. As for the "Google lock-in"... that's manageable with a little up-front thought, as I suggested. Keep your business logic separate and you should be able to port easily to other environments. And, actually, most of the App Engine infrastructure is based on fairly standard stuff -- in Java you're writing Servlets and JSPs and in Python you can actually write most of your app as Django plugins. The main area you end up "tied" to Googel's APIs is around storage and task management, and around user identity/account management, should you choose to use Google's APIs rather than something else (there are lots of options) and it's not difficult to introduce a small abstraction layer to allow you to break those connections when required. If you grow to the point that it really makes sense to get off of Google, making the move will cost you a lot of effort and a lot of money, but it's just the effort and money required to build the scalable infrastructure, and you have to pay for that at some point, regardless.
The bottom-line reason for my suggestion was that it allows you to start small, almost ignoring issues of scalability, but to be able to scale up to massive volumes almost trivially. The Visual Studio and VMs approach doesn't provide that scalable, highly-available infrastructure out of the box, you have to build it, which takes time and effort which could be better spent on building the meat of the app.
>The "proper" value of a stock is the net present value of its future dividend stream.
Future dividend stream for how long?
Forever, though a realistic discount rate means that the far-future dividend stream (beyond a couple of decades) contributes trivially.
And how do you calculate the net present value?
http://en.wikipedia.org/wiki/Net_present_value
I'd recommend you drop Visual Studio and Windows and "go to the cloud" on an environment that is already scaled out. There are a few options, but I think one of the easiest to set up and get going on is Google's App Engine system. I don't know what your preferred programming language is, and if it's not Java or Python (or Go), then you're going to have to switch, but all of those are easy languages to learn and the time required to learn them will be trivial compared to the rest of what it's going to take you to build a significant site. The App Engine SDKs are pretty easy to work with and provide a lot of powerful tools, and your site will be running on Google's infrastructure so you know it'll scale as far as you need it to. The free quota will allow you approximately 5 million pageviews per month, so there's plenty of room for initial growth. When you get to where you need more than that you should also have some cash flowing in to allow you to buy more quota.
If you're concerned about being tied to Google (a valid concern), I'd also recommend that you put some thought into placing a layer between your business logic and Google's APIs. I wouldn't make a huge investment in that, because it's the sort of thing that can soak up a LOT of time, so much that you never actually get your site off the ground, but a little thought up front will make it much easier to migrate to your own platform when you have the revenue to justify hiring all the people you need to do that (because it's a BIG job).
The nice thing is that you can start small, for free (other than your time, of course), and have plenty of room to test your ideas and your approach on the small-to-medium scale before it actually costs you anything, other than your time. Then by the time you're ready to scale up, you should know what you need, and hopefully have the cash to fund it. Or, if it doesn't work out, at least you minimized your sunk cost.
(Disclaimer: I'm a Google employee. That actually has little to do with my recommendation, other than that my employment has motivated me to play with App Engine and I've been impressed with what I've seen, but I feel it should be mentioned.)
How does pkgsrc compare to ports?
IBM created Microsoft? Ha! I guess you don't know many IBMers from back in the day.
Yes, IBM created Microsoft. Had IBM opted to write its own operating system for the PC, or even just bought MS-DOS outright rather than licensing it, Microsoft would never have existed (the company would have, but it would never have grown the way it did).
And, yes, I know IBMers from back in the day. I didn't become an IBMer until 1997 so I wasn't there personally, but over 14 years in the company I've met plenty who were.
The "proper" value of a stock is the net present value of its future dividend stream...
... which no one can possibly know, because of the "future" bit.
Obviously no one can know, but it's possible to make a pretty good estimate for the near term. As you look further into the future the uncertainty increases... but as you look further into the future the effect of those profits on the net present value decreases. Bottom line, it is often possible to predict with surprising accuracy.
Keep in mind that this isn't some sort of newfangled idea. It's a necessary feature of any society above the hunter-gatherer level -- and even nomadic hunter-gatherers have to engage in speculation about how much effort to invest in traveling to less-utilized lands, and which ones. Certainly as soon as you start farming your food you're engaging in constant, large-scale speculation of the future. All of those seeds you plant are food that you actually could have eaten instead, and the effort you put into weeding (and, if you're more advanced, soil preparation, fertilization, irrigation, pest control, etc.) is all a calculated gamble on the future, that your crops will survive to be harvested and that you'll be around to harvest them. You also have to make bets on how much to plant, where to plant, when to plant, what to plant, etc.
I could cite endless examples, from whether or not to go to school, and how much, to whether to have a family, to the more obvious economic guesses we make... life is largely about trying to peer into the future and predict outcomes based on decisions we make today. These predictions are based on our current knowledge and understanding. Investing is no different, just a little more abstract.
It could be future earnings. It could also be the expectation that other investors are going to be willing to buy the stock for a higher price in future. I think most investing is based more on the latter and less on the former.
In the case of non-dividend stocks, it absolutely is the expectation that other investors are going to be willing to pay more in the future. That future willingness could be based on emotion or stupid decisions, or it could be based on an actual increase in the value of the company.
If I buy Apple stock, for example, (Apple, like many tech companies, doesn't pay dividends), I absolutely do expect to be able to sell that stock for a higher price in the future. Not because I'm betting that future investors will be dumb, but because I believe that Apple will have increased in value by continue to expand sales of their current lineup of products and by creating new, innovative, products that will become market leaders. Their profits will have continued to grow, resulting in a combination of increased assets and increased investment in further growth. In fact, the reason companies choose to retain earnings rather than paying dividends is because they believe that they have opportunities to expand, and expect to need that cash. Once companies reach a level where significant expansion isn't all that likely (e.g. IBM), they start paying out profits in dividends.
This is all very rational and reasonable. I'm not saying that the markets are never irrational, but buying stock today on the expectation that it will be worth tomorrow based on the company's history and prospects is usually very rational.
It's insane because it's imaginary. It's an imaginary market and it's imaginary value. It's imaginary income. They are also imaginary dollars; imaginary worth imaginary costs. The WHOLE system is imaginary.
Obviously. But so what? What would be real? Gold? A system based on metals would be equally imaginary. The metals might be real, but their value is just as much a collective societal decision as our current approach of believing that audited bits in a computer have value.
The only system that would be truly "real" is barter, where goods with actual value to improve human life are exchanged for other actual goods. However, that system has such insanely high transaction costs that it's simply unworkable. If you're going to have trade, you need a common medium of exchange, and that medium is going to be arbitrary and, to use your word, "imaginary".
and this is why the current implementation of capitalism is fatally flawed, it is founded on fraud, deception, and innuendo. facebook is valued at $50 billion dollars even though it makes very little money and will wither and die just like every other hit social network when something else comes out.
I don't see the fail.
The "proper" value of a stock is the net present value of its future dividend stream. Even for stocks that don't pay dividends, you can adjust the idea for increase in book value due to retained earnings. In either case, the value isn't just based on the most recent net revenue figures, it's based on profits, and on the anticipated future profits.
If you dig into these numbers a little more, they don't look all that unreasonable to me. Yeah, okay, IBM and Microsoft are neck-and-neck in market cap even though IBM has total revenues almost 50% higher than Microsoft, but Microsoft actually has greater profits ($19B vs $15B) which should send the cap the other way... except that IBM also has much greater assets. As far as their futures go, both companies are going to be productive and profitable both short-term and long-term, but it's unlikely that either of them is going to experience tremendous growth. So... they really are worth about the same.
Throwing Google into the mix, Google is worth almost as much as the other two, but has smaller revenues and profits ($8B)... so maybe that's the fail? Google also has tremendous opportunity for growth. It's currently raking in the lion's share of on-line advertising revenues in the industry, but those are still just a tiny piece of total advertising expenditures -- and online advertising continues to grow really quickly. Even if Google loses market share (and there isn't really any reason to think they will), the pie they're taking a share of is growing so fast that they have lots of growth ahead of them. And that assumes that none of Google's non-advertising ventures are successful. So, while Google currently has smaller revenues and profits, it also has much better prospects for growth than IBM or Microsoft. Again, I think the market capitalization isn't at all unreasonable.
But what about LinkedIn? Yeah, they may well represent a fail. But Lots of people said that about Google when their IPO went crazy. Investors in LinkedIn are gambling but it's not an entirely unreasonable gamble. LinkedIn doesn't have a lot of revenue, but they have demonstrated that they can generate income from their social network, and it's not unreasonable to believe that they'll find ways to generate a lot more. The bottom line with LinkedIn is that they currently have 100 million account holders. If they can find a way to extract $50 from each of them, on average, over the next 10-15 years they'll have justified their current market cap. That doesn't seem so far-fetched to me. It doesn't seem likely enough that I would buy their stock... but I also refused to buy Google for the same reasons.
Does the market mis-price companies at times? Absolutely. Especially when speculators start inflating bubbles. But I don't really see anything so insane here.
"Tribal" artwork is owned by the tribes who used them for millennia
By that argument, it's in the public domain, so no one has any claim on it. Which actually makes perfect sense to me!
Ron Paul has announced his intention to seek the Republican nomination. Even if you don't like him, it'd be nice to see someone in the office who is actually different. Not that he has a prayer.
I suppose you could say that, however "people like me" with a smartphone makes up 42% of users in the US.
Cite? The most recent number I can find is 27%. That's from April 2011. Even your inflated number means that more people don't have smartphones than do, AND not all smartphones provide tethering, AND not all of those that do are very cost-effective, AND not all users are capable of figuring out how to use it. In fact, if it requires jailbreaking, most people are either incapable or unwilling.
I think there are plenty of people for whom this netbook makes more sense than an iPad plus a phone, even among those who have a smartphone -- and there are a lot more who don't than do.
I'd be a more concerned if we actually collectively wrung our hands over the death of a madman who deliberately plotted and succeeded in smashing passenger airplanes into skyscrapers
I'm not bothered by his death. I'm bothered by the fact that his death was not carried out in accordance with the law that we supposedly hold as our highest principle. If OBL was a criminal, he should have been tried and executed. If he was an enemy combatant, he should have been treated according to the rules of war, and tried as a war criminal, and executed.
However, given how often we ignore our own laws, even when it's not particularly important, I'm not at all surprised that we ignored them in this case. I'm not even arguing that we shouldn't have ignored them. I'm just saying I wish we were a country that truly cared about the Rule of Law enough to at least be a little bothered by subverting it.
OTOH, isn't a free nation of laws suppose to hold the law above all risks?
That would be nice, wouldn't it? But given that we often ignore inconvenient laws, it's not very surprising that in a case like this where following the law is risky, we decided to embrace expediency. I wish we were a country that would at least have agonized over it a little, and maybe felt obligated to come up with justifications. But we're not.
So if you also have a smartphone ($$) and data plan ($$) and if you stretch your comparison over a long timeframe then the iPad becomes cheaper.
What you're saying is "this device doesn't make sense for people exactly like me". Which says nothing at all about whether or not it makes sense for other people.
If you use this Netbook for more than 2 years, you could have bought an iPad. If you use it for 4 years, the iPad is cheaper with service.
How do you figure that?
A 3G-capabile iPad costs $629. The four-year cost for this is $960. So the iPad costs $149 more, PLUS the cost of the service for the iPad. In order to break even you'd have to find 3G service for (960-629)/48 = $6.90 per month.
Who sells 3G data service for $6.90 per month?
If you could get 3G data service for $10 per month (where?), and you used it for a little over five years, then you'd break even. At six years you'd come out ahead on the iPad.... IF you could find 3G service for $10 per month.
Ok, so by that yardstick, why all the fuss about Apple being "late" (by a month) in releasing the Webkit changes? Yesterday everyone was telling me that they shouldn't have shipped running binaries until they were ready to release the code, as the GPL requires. (which in my opinion Apple absolutely needs to get sorted immediately)
Now because it's Android and Google they get a pass on that?
No, Google doesn't get a pass; Google didn't screw this up. Google released all of GPL'd code for Honeycomb. It's only the Apache-licensed code which wasn't released -- as is allowed by the license. Google didn't violate any licenses, even for a short time.
oh your right. i forgot about eeproms emulated using flash which i guess is what they all are now. back in the day eeproms could only be flashed between 10 and 100 times.
Lots of real EEPROMs (byte-erasable) support hundreds of thousands or even millions of erase cycles.