Let's not take that quote out of context, you have to read the rest of the overview:
"Zend Platform uniquely guarantees application uptime and reliability through enhanced PHP monitoring and immediate problem resolution that removes the troubleshooting guesswork out of the equation and replaces it with peace-of-mind."
They aren't saying that PHP as a platform isn't good enough, they're saying that Platform helps ensure your applications run smoothly. Platform is essentially a combination opcode cache, partial and full page cache, and in depth monitoring and event logging. If the applications you are running experience a problem - be it a fatal error, warning, unusually slow performance, slow sql query or whatever custom metrics you define - you can be alerted right away. You're also able to reproduce any event that has been logged instantly through the IDE's debugger. Basically, it keeps things running nice and quickly, and when an issue in the application causes a problem, it gives you the information needed to quickly fix the problem.
We've actually been running Platform since it was first available, and while pricey it's been a great tool to have. It's not perfect and there are some issues that I'd still like to see resolved, but none of them have been show stoppers. I wish they would offer a cheaper version with just the logging functionality though, there are cases where we really don't need anything else.
Do none of these "decent" retailer's sell online? You would think that if they did, people in areas where it is selling out would jump to order them instead of waiting in lines or paying excessive amounts on ebay. At the very least, you'd think that people in your area would buy them just to be able to sell it on ebay and make an extra hundred dollars or so. I actually managed to pick one up at the local best buy this morning, but to do so had to start waiting in line at 7am for a 9am opening. Even at that time, I was one of the last people able to get one. Between Best Buy and the Future Shop next door, there were well over 50 people standing out in the cold. If an online retailer (ebay excluded) with stock existed, there's no way I would have been waiting in line.
Well it should be noted that the Dell server doesn't come with rails either, and they add $99 to the price of an entry level PowerEdge 850 for the "static" rails. These static rails are literally two pieces of metal as shown here, and don't telescope (much less have a cable management arm). If you want rails that actually let you pull the server all the way out of the rack - still no cable management - well, those are $129. It's pretty sad how much any vendor will gouge you on rails. These rail prices from Dell are actually much lower than in the past as well. A few months ago rails for a few PowerEdge 750s I ordered were priced at $200 per server. To their credit, Sun seems to have their 2U server rails priced the same as their 1U offerings. Rails for a Dell 2850 are a painful $250.
Of course it's never the fault of the programmer. From the description of PASSWORD() from the MySQL docs:
"Calculates and returns a password string from the plaintext password str, or NULL if the argument was NULL. This is the function that is used for encrypting MySQL passwords for storage in the Password column of the user grant table.
Note: The PASSWORD() function is used by the authentication system in MySQL Server; you should not use it in your own applications. For that purpose, use MD5() or SHA1() instead. Also see RFC 2195 for more information about handling passwords and authentication securely in your applications."
This has been in the docs for years, long before 4.1 (the version in which the internal hash algorithm was updated) was released. The possibility for application breakage from this change was also fully documented in the upgrade release notes. In fact, it's mentioned in the first real step. As if that wasn't enough, you actually have to want to use the new password algorithm. If after you upgrade the grants table isn't manually altered to support the new hash length, the PASSWORD() function works exactly as it did in versions 4.0 and earlier.
Sorry I wasn't clear, that's what I had meant. Teach the concepts, yes. But if they are going to require PHP be used, they should also briefly say "this is how these concepts are implemented in PHP".
You're also 100% right with the second thing. As far as architecture is concerned, it should also be taught WHERE to use the superglobals so that it doesn't pollute the code and make things a confusing mess.
I think any course on complex websites at a university level should focus more on best practices rather than a specific language or platform. Yes, use PHP and MySQL to teach the concepts, but make sure your course teaches concepts, not the language. I've worked with far too many people who "know" a language but have no idea of how to write a good web application. What they learn in this course should help them regardless of if they end up developing in PHP,.NET or Java.
Things to be sure to include:
A basic overview of the language; you can't escape doing this. Don't cover the basic syntax for variables, loops, etc. (they should be able to learn this stuff on their own) but its nuances and the way it approaches web development. Discuss the $_SESSION array and how it works in PHP, as well as the $_POST, $_REQUEST, $_GET and especially $_SERVER super variables. Mention how PHP turns a form element into an array if the html element has [] at the end of its name. If possible don't even bother with HTML, and I wouldn't worry too much about CSS either. Mention it briefly and explain why it's of benefit, but don't actually teach it. Often times a programmer won't even be the one writing HTML or CSS.
Good architecture: separation of code from content - especially in languages such as ASP and PHP. Discuss what works and what doesn't work for scalability. Bring up different architectures which are used and discuss the pros and cons of each. Potential things to cover in this section could be 3-tier architectures, front controllers, ORM frameworks, etc. You may also want to briefly mention different ways a web application may be scaled including techniques for load balancing and how this affects the design of web application.
Caching of output: far too many web sites and applications hit the database twenty times for a single page view. Hammer in the importance of caching, and introduce different techniques for doing so (full page caching, caching of specific database results, etc.)
Security issues: This is a major one. Proper escaping of input, session hijacking, cross-site scripting, etc. Be sure that people are educated on how easy it is to forge data that is submitted by get or post so they don't have URLs like view_billing_information.php?AcountID=512 where changing the URL allows you to view someone else's personal information. Yes this type of thing should be obvious but people don't always thing of it. Don't forget about cookies and the dangers of storing sensitive information in them.
Near the end of the course briefly cover things such as xml-http requests and SOAP but make the focus more of "these things exist" rather than detailed information on how to use them. Bring up JavaScript and client side code, but only after they have a solid grounding on the server-side of things.
I'm not sure why people continue to perpetuate this myth, but picture tube HDTV's can be had for $500-$600 now. If you want something bigger CRT projection TVs can can be found for under $1500. Buying a HDTV doesn't mean having to buy the the most expensive option available (Plasma/LCD/DLP). I bought a 30" widescreen Toshiba HDTV nearly two years ago and only paid around $850 for it.
And MySQL's popularity has lead to a lot of people learning some very bad habits (particularly about doing a lot of client-side work, like joins or aggregates, or using sub-queries where joins should work)
I'm sorry, but how does MySQL's popularity lead to people using sub-queries in place of joins? It's only with MySQL 4.1 which was only recently released that decent sub-query support even existed in MySQL. As for the comment about indexes, it's been possible to specify exactly which indexes a query should use for ages. Now, I'm the first to admit that MySQL is far from perfect, but we don't have to go making up additional flaws to knock it with.
That being said, I do think you're right about MySQL's marketing efforts being a major part of its success. I also think you hit the nail on the head with regards to the ease of installation, or actually, ease of maintenance. While it's not an issue any more, Postgres used to be burdened with table locking issues from vacuum, essentially forcing the database offline while it performed its daily maintenance. MySQL never had this problem and ran well on cheap hardware, and so was at the time a natural choice over Postgres for use on the web. Since then it's continued to be good enough for most people (and is getting MUCH better with 4.1 and the upcoming 5.0 release) and as such there's been little inclination to go through the hassles of migrating to another RDBMS. As long as it continues to be good enough, people will keep using it.
According to the article what makes Streambase different is that it's able to query new data that is coming in at an extremely fast rate. Instead of writing the new data to disk before a query can be executed against it, the database is able to query it as soon as it is streamed into memory. According to the article the current customers testing the software are financial services companies who need to be able to analyze stock ticker information which comes in at an extremely high rate of speed. The $100,000 to $300,000 per year cost the current customers are paying is also a bit of a deterrent for use in web space.
I've just recently started using VOIP and the Nortel box that I received allows you to optionally plug in a regular phone line to use for failover purposes. That way if your power goes out, as long as you have a working phone jack you can still make and receive calls. I'm not sure exactly how it works, but I don't believe you even need to have active phone service to the jack. If the fail over is used (ie. calls are made or received) your next VOIP bill will simply include a "toll" charge, similar to roaming on a cell phone.
Comparared to a $1000 or even entry level $500 machine it IS low cost. Whereas before in those countries computers could be afforded only by the wealthy and other institutions, they are now in the realm of affordability for the average citizen. I suggest YOU read the article again. No where does it say that the machines are cheap for those living in the areas, just that the machines themselves are low cost compared to what else is available - enough so to be affordable to those who want one.
$249 is cheap here, but does it qualify as a "budget" machine in the target markets (India, Russia, China, Mexico and Brazil)? According to this site, the average income in Brazil's largest metropolitan areas is less than $300 a month!
How is this different than the situation for people in developed nations ten years ago? I remember paying over $3000 CAD for a 486 DX2/66 with a 15" monitor - my first "real" computer - back when the Pentiums were just coming out. At the time that was sure as hell an equally large chunk of my (and most) family's monthly income.
I agree 100% on the issue with Mozilla profiles. Even on a small network the fact that Firefox stores its browser cache in the application data folder instead of local settings is a major pain when roaming profiles are brought into the picture. The default settings caused logging in and out of a machine to take at least five times longer than pre-Mozilla, not to mention the increased storage requirements that come with storing an extra 100MB or so of junk per user on the server, and that doesn't even take backups into account.
Thankfully, there is a "solution"... reducing the size of your cache to 5MB-10MB. While not spectacular for bandwidth savings and load time, at least this allows you to have a functional profile while maintaining some level of a browser cache.
There will be a LOT of people out there who will not bother installing a browser that didn't come with their machine. Though they'll happily install a Bonzi Buddy or Comet Cursor. How do we handle that great majority?
I think you answered your own question. What we really need is an installer for mozilla that functions exactly like the installers for bonzi buddy, comet cursor and their ilk. "Do you want to install Mozilla Firefox and set it as your default browser? Yes, No". The next time these users click on "The Internet" from their start menu, they'll get Firefox instead of IE, and given a decent default theme, would probably never notice the difference. If it's good enough for spy ware, why not for an alternative browser?
While I don't ever see such a thing ever being written, it would be very interesting to see how quickly it would boost adoption of Mozilla.
Let's not forget about the recent changes of the MySQL client to use the GPL instead of the LGPL, since such a change hardly suggests that they're looking to dump the GPL. This change was widely publicised, as it caused issues (which have now been resolved) with other non-GPL open source applications which previously shipped with the client software - PHP being the prime example.
On the other hand, I do think MySQL really wants to push their commercial license as they "recommend" it for everyone who use MySQL in a commercial environment, even though their dual licensing scheme only requires the purchase of a license if you plan to be distributing MySQL itself. It'll be interesting to see how this all unfolds, but I don't think the GPL version of MySQL is going to go anywhere, at least not for non-commercial users. While commercial users may face stronger "recommendations" to purchase licenses, I don't see any actual changes to the license requiring a license for commercial use without distribution. Doing this would shut out millions of entry level hosting providers, and it wouldn't be long until MySQL's massive market share fell to alternatives such as Postgres or SQLite.
Are there any external hard drives that have decent support under Linux? From what I've read all of the common ones seem to require a slew of hacks to get working properly, and even then are somewhat quirky. I'd love to be able to plug one of these into a running machine, mount the drive and just have it work. Any of the current offerigns fit the bill? Some of these external drives can be booted to as well, which would be an extra bonus.
Sorry to reply to my own post, but I just found the article text in a post a little further down and had to comment on it yet again. What's up with his recommendations?
If you can take advantage of the student/teacher addition of MS Office 2003, I would recommend it over EIOffice 2004. However, if you are looking to stay away from MS products and are looking for a familiar look to MS Office, or cannot take advantage of the student/teacher MS Office editions, then you should give EIOffice 2004 a spin. For Linux users, I'd say stick with OpenOffice.org if you are currently using it, and if not using OpenOffice.org, download it here.
So let me get this straight, if you can get MS Office for less than $150, buy it. If not, pay the $150 for EIOffice. Of course that's only if you're a Windows user. If you're a Linux user the best choice is OOo, even though both OOo and EIOffice are available for Windows and Linux. If EIOffice is the better "bargin" choice on Windows, why isn't it the better choice on Linux? And if his recommendation for Linux users to use OOo is so strong that he says they should download and use it regardless of what office suite they're currently running, why not recommend it to Windows users?! Makes absolutely no sense, and seems to be the reviewer is more concerned with not offending anybody by recommending all their products than actually delivering a useful review.
Lack of trial version aside, the review hardly inspired confidence either. I only managed to catch parts of it before it got slashdotted, but take this little excerpt regarding the spreadsheet functionality:
The only difference can be seen after the chart is created. The bars in EIOffice's chart are grouped together, where in Excel's chart the bars are not close together. I tried editing the spacing between the bars in EIOffice by changing the gap width of each bar, but the chart was at an angle where the bars would still overlap. Excel gives the option to change the gap width, gap depth and chart depth. EIOffice only enabled me to alter the gap width; other than that, EIOffice permitted editing just about every aspect of the chart, including font style, colors sizes, you know the works.
From what I could see the review gives no indication what-so-ever as to if the EIOffice spreadsheet application can even compared to Excel on a functionality basis. Rather, the basis for comparison seems to be saying that changing cell spacing works differently, but that you're still able to assign pretty fonts and colors. Wonderful!
It also means little if servers are being shipped with XP or even no OS, and being loaded with Debian after delivery.
I know in the past when ordering servers from Dell even though we order them with no operating system preinstalled the sales rep would ask what OS we were going to be using, presumably to gather just that sort of information. As for stripping windows and installing a Linux distribution, how often does this really happen on server hardware? On desktops, sure, but on a server? It's highly unlikely any serious hardware could even be ordered with a non-server version of windows, and if you're footing the bill for that, chances are it's not so you can just toss it and do a reformat as soon as the machine arrives.
Personally I use iTunes as my default music player, and since it isn't able to play Windows Media files (much less DRMed ones) that immediately rules out any services using that format. The apple DRM is also much less restrictive and is relatively easy to bypass by re-encoding songs to mp3, which in my mind makes it the lesser of evils, and most importantly, makes it less of a hassle. As a Canadian I've been waiting for the iTunes store to be available for quite some time, and can only hope that Napster's launch is a sign that Apple may not be far behind.
Is that reduced timeline maybe an example of what this/. article from a couple months ago was talking about? Essentially it stated that a lot of the new worms are actually being caused by the reverse engineering of patches to easily find exploits. Some machines will of course be patched, but as we all know, a huge number of machines will remain unpatched and vulnerable for months to come. If this is the case, Microsoft can hardly be faulted for getting the patch out only a few days before the exploit, since it's the patch itself that potentially prompted its creation. The really interesting thing is that if this is the case and Microsoft is actually increasing their security efforts and releasing more patches, we could actually see more worms released targetting unpatched systems. For them, this really isn't a good situation to be in - the more they do correct problems with their operating systems, the more exploits hit the unpatched machines, making it look like their enhanced focus on security is a joke.
I don't remember exact numbers off hand, but the last time I saw this discussed someone posted benchmarks demonstrating that the $array[key] syntax is actually significantly slower than $array['key'] because of some nuance in how php works internally.
Note that they've now posted a technical whitepaper outlining the architecture which wasn't there yesterday. It's worth a read, goes into a lot more detail than what was there previously and talks about replication options, failure scenarios, etc. It mentions that disk storage is used in addition to memory storage, which confirms the speculation made earlier in the discussion, though it still doesn't explain exactly how disk storage is used.
I was wondering this as well. Also the FAQ mentions that "Data that needs to be highly-available must reside in the MySQL Cluster storage engine. If existing MyISAM and/or InnoDB data needs to be made highly-available then it has to be migrated to the MySQL Cluster storage engine." I'd assume that the clustered table types have support for transactions like InnoDB tables do, but there's nothing here to confirm this.
From the way I'm reading it, this type of cluster would be most ecomomically used for in conjunction with a traditional replicated mysql database. You would use clustered engine for transactional tables where a large number of inserts or updates occur, and for tables where you have a lot of historical or read-only data, you would use standard replication, where you could tolerate a few minutes without the ability to insert or update should the master fail. In order to reduce the memory requirements for the cluster you could also move old transactations from the transactional tables to historical tables which use InnoDB/MyISAM.
That being said, there must be SOME use of the disk on the cluster, because their recommended node system has raid + four 73GB SCSI hard drives... major overkill if everything except for OS/Software is stored in memory!
Let's not take that quote out of context, you have to read the rest of the overview:
"Zend Platform uniquely guarantees application uptime and reliability through enhanced PHP monitoring and immediate problem resolution that removes the troubleshooting guesswork out of the equation and replaces it with peace-of-mind."
They aren't saying that PHP as a platform isn't good enough, they're saying that Platform helps ensure your applications run smoothly. Platform is essentially a combination opcode cache, partial and full page cache, and in depth monitoring and event logging. If the applications you are running experience a problem - be it a fatal error, warning, unusually slow performance, slow sql query or whatever custom metrics you define - you can be alerted right away. You're also able to reproduce any event that has been logged instantly through the IDE's debugger. Basically, it keeps things running nice and quickly, and when an issue in the application causes a problem, it gives you the information needed to quickly fix the problem.
We've actually been running Platform since it was first available, and while pricey it's been a great tool to have. It's not perfect and there are some issues that I'd still like to see resolved, but none of them have been show stoppers. I wish they would offer a cheaper version with just the logging functionality though, there are cases where we really don't need anything else.
Do none of these "decent" retailer's sell online? You would think that if they did, people in areas where it is selling out would jump to order them instead of waiting in lines or paying excessive amounts on ebay. At the very least, you'd think that people in your area would buy them just to be able to sell it on ebay and make an extra hundred dollars or so. I actually managed to pick one up at the local best buy this morning, but to do so had to start waiting in line at 7am for a 9am opening. Even at that time, I was one of the last people able to get one. Between Best Buy and the Future Shop next door, there were well over 50 people standing out in the cold. If an online retailer (ebay excluded) with stock existed, there's no way I would have been waiting in line.
Well it should be noted that the Dell server doesn't come with rails either, and they add $99 to the price of an entry level PowerEdge 850 for the "static" rails. These static rails are literally two pieces of metal as shown here, and don't telescope (much less have a cable management arm). If you want rails that actually let you pull the server all the way out of the rack - still no cable management - well, those are $129. It's pretty sad how much any vendor will gouge you on rails. These rail prices from Dell are actually much lower than in the past as well. A few months ago rails for a few PowerEdge 750s I ordered were priced at $200 per server. To their credit, Sun seems to have their 2U server rails priced the same as their 1U offerings. Rails for a Dell 2850 are a painful $250.
Of course it's never the fault of the programmer. From the description of PASSWORD() from the MySQL docs:
"Calculates and returns a password string from the plaintext password str, or NULL if the argument was NULL. This is the function that is used for encrypting MySQL passwords for storage in the Password column of the user grant table.
Note: The PASSWORD() function is used by the authentication system in MySQL Server; you should not use it in your own applications. For that purpose, use MD5() or SHA1() instead. Also see RFC 2195 for more information about handling passwords and authentication securely in your applications."
This has been in the docs for years, long before 4.1 (the version in which the internal hash algorithm was updated) was released. The possibility for application breakage from this change was also fully documented in the upgrade release notes. In fact, it's mentioned in the first real step. As if that wasn't enough, you actually have to want to use the new password algorithm. If after you upgrade the grants table isn't manually altered to support the new hash length, the PASSWORD() function works exactly as it did in versions 4.0 and earlier.
Could this be one of the reasons behind recent comments regarding MySQL wanting to be the Ikea of databases and not wanting to compete with Oracle?
Sorry I wasn't clear, that's what I had meant. Teach the concepts, yes. But if they are going to require PHP be used, they should also briefly say "this is how these concepts are implemented in PHP". You're also 100% right with the second thing. As far as architecture is concerned, it should also be taught WHERE to use the superglobals so that it doesn't pollute the code and make things a confusing mess.
I think any course on complex websites at a university level should focus more on best practices rather than a specific language or platform. Yes, use PHP and MySQL to teach the concepts, but make sure your course teaches concepts, not the language. I've worked with far too many people who "know" a language but have no idea of how to write a good web application. What they learn in this course should help them regardless of if they end up developing in PHP, .NET or Java.
Things to be sure to include:
A basic overview of the language; you can't escape doing this. Don't cover the basic syntax for variables, loops, etc. (they should be able to learn this stuff on their own) but its nuances and the way it approaches web development. Discuss the $_SESSION array and how it works in PHP, as well as the $_POST, $_REQUEST, $_GET and especially $_SERVER super variables. Mention how PHP turns a form element into an array if the html element has [] at the end of its name. If possible don't even bother with HTML, and I wouldn't worry too much about CSS either. Mention it briefly and explain why it's of benefit, but don't actually teach it. Often times a programmer won't even be the one writing HTML or CSS.
Good architecture: separation of code from content - especially in languages such as ASP and PHP. Discuss what works and what doesn't work for scalability. Bring up different architectures which are used and discuss the pros and cons of each. Potential things to cover in this section could be 3-tier architectures, front controllers, ORM frameworks, etc. You may also want to briefly mention different ways a web application may be scaled including techniques for load balancing and how this affects the design of web application.
Caching of output: far too many web sites and applications hit the database twenty times for a single page view. Hammer in the importance of caching, and introduce different techniques for doing so (full page caching, caching of specific database results, etc.)
Security issues: This is a major one. Proper escaping of input, session hijacking, cross-site scripting, etc. Be sure that people are educated on how easy it is to forge data that is submitted by get or post so they don't have URLs like view_billing_information.php?AcountID=512 where changing the URL allows you to view someone else's personal information. Yes this type of thing should be obvious but people don't always thing of it. Don't forget about cookies and the dangers of storing sensitive information in them.
Near the end of the course briefly cover things such as xml-http requests and SOAP but make the focus more of "these things exist" rather than detailed information on how to use them. Bring up JavaScript and client side code, but only after they have a solid grounding on the server-side of things.
I'm not sure why people continue to perpetuate this myth, but picture tube HDTV's can be had for $500-$600 now. If you want something bigger CRT projection TVs can can be found for under $1500. Buying a HDTV doesn't mean having to buy the the most expensive option available (Plasma/LCD/DLP). I bought a 30" widescreen Toshiba HDTV nearly two years ago and only paid around $850 for it.
And MySQL's popularity has lead to a lot of people learning some very bad habits (particularly about doing a lot of client-side work, like joins or aggregates, or using sub-queries where joins should work)
I'm sorry, but how does MySQL's popularity lead to people using sub-queries in place of joins? It's only with MySQL 4.1 which was only recently released that decent sub-query support even existed in MySQL. As for the comment about indexes, it's been possible to specify exactly which indexes a query should use for ages. Now, I'm the first to admit that MySQL is far from perfect, but we don't have to go making up additional flaws to knock it with.
That being said, I do think you're right about MySQL's marketing efforts being a major part of its success. I also think you hit the nail on the head with regards to the ease of installation, or actually, ease of maintenance. While it's not an issue any more, Postgres used to be burdened with table locking issues from vacuum, essentially forcing the database offline while it performed its daily maintenance. MySQL never had this problem and ran well on cheap hardware, and so was at the time a natural choice over Postgres for use on the web. Since then it's continued to be good enough for most people (and is getting MUCH better with 4.1 and the upcoming 5.0 release) and as such there's been little inclination to go through the hassles of migrating to another RDBMS. As long as it continues to be good enough, people will keep using it.
According to the article what makes Streambase different is that it's able to query new data that is coming in at an extremely fast rate. Instead of writing the new data to disk before a query can be executed against it, the database is able to query it as soon as it is streamed into memory. According to the article the current customers testing the software are financial services companies who need to be able to analyze stock ticker information which comes in at an extremely high rate of speed. The $100,000 to $300,000 per year cost the current customers are paying is also a bit of a deterrent for use in web space.
I've just recently started using VOIP and the Nortel box that I received allows you to optionally plug in a regular phone line to use for failover purposes. That way if your power goes out, as long as you have a working phone jack you can still make and receive calls. I'm not sure exactly how it works, but I don't believe you even need to have active phone service to the jack. If the fail over is used (ie. calls are made or received) your next VOIP bill will simply include a "toll" charge, similar to roaming on a cell phone.
Comparared to a $1000 or even entry level $500 machine it IS low cost. Whereas before in those countries computers could be afforded only by the wealthy and other institutions, they are now in the realm of affordability for the average citizen. I suggest YOU read the article again. No where does it say that the machines are cheap for those living in the areas, just that the machines themselves are low cost compared to what else is available - enough so to be affordable to those who want one.
$249 is cheap here, but does it qualify as a "budget" machine in the target markets (India, Russia, China, Mexico and Brazil)? According to this site, the average income in Brazil's largest metropolitan areas is less than $300 a month!
How is this different than the situation for people in developed nations ten years ago? I remember paying over $3000 CAD for a 486 DX2/66 with a 15" monitor - my first "real" computer - back when the Pentiums were just coming out. At the time that was sure as hell an equally large chunk of my (and most) family's monthly income.
I agree 100% on the issue with Mozilla profiles. Even on a small network the fact that Firefox stores its browser cache in the application data folder instead of local settings is a major pain when roaming profiles are brought into the picture. The default settings caused logging in and out of a machine to take at least five times longer than pre-Mozilla, not to mention the increased storage requirements that come with storing an extra 100MB or so of junk per user on the server, and that doesn't even take backups into account.
Thankfully, there is a "solution"... reducing the size of your cache to 5MB-10MB. While not spectacular for bandwidth savings and load time, at least this allows you to have a functional profile while maintaining some level of a browser cache.
There will be a LOT of people out there who will not bother installing a browser that didn't come with their machine. Though they'll happily install a Bonzi Buddy or Comet Cursor. How do we handle that great majority?
I think you answered your own question. What we really need is an installer for mozilla that functions exactly like the installers for bonzi buddy, comet cursor and their ilk. "Do you want to install Mozilla Firefox and set it as your default browser? Yes, No". The next time these users click on "The Internet" from their start menu, they'll get Firefox instead of IE, and given a decent default theme, would probably never notice the difference. If it's good enough for spy ware, why not for an alternative browser?
While I don't ever see such a thing ever being written, it would be very interesting to see how quickly it would boost adoption of Mozilla.
Let's not forget about the recent changes of the MySQL client to use the GPL instead of the LGPL, since such a change hardly suggests that they're looking to dump the GPL. This change was widely publicised, as it caused issues (which have now been resolved) with other non-GPL open source applications which previously shipped with the client software - PHP being the prime example.
On the other hand, I do think MySQL really wants to push their commercial license as they "recommend" it for everyone who use MySQL in a commercial environment, even though their dual licensing scheme only requires the purchase of a license if you plan to be distributing MySQL itself. It'll be interesting to see how this all unfolds, but I don't think the GPL version of MySQL is going to go anywhere, at least not for non-commercial users. While commercial users may face stronger "recommendations" to purchase licenses, I don't see any actual changes to the license requiring a license for commercial use without distribution. Doing this would shut out millions of entry level hosting providers, and it wouldn't be long until MySQL's massive market share fell to alternatives such as Postgres or SQLite.
Are there any external hard drives that have decent support under Linux? From what I've read all of the common ones seem to require a slew of hacks to get working properly, and even then are somewhat quirky. I'd love to be able to plug one of these into a running machine, mount the drive and just have it work. Any of the current offerigns fit the bill? Some of these external drives can be booted to as well, which would be an extra bonus.
Sorry to reply to my own post, but I just found the article text in a post a little further down and had to comment on it yet again. What's up with his recommendations?
If you can take advantage of the student/teacher addition of MS Office 2003, I would recommend it over EIOffice 2004. However, if you are looking to stay away from MS products and are looking for a familiar look to MS Office, or cannot take advantage of the student/teacher MS Office editions, then you should give EIOffice 2004 a spin. For Linux users, I'd say stick with OpenOffice.org if you are currently using it, and if not using OpenOffice.org, download it here.
So let me get this straight, if you can get MS Office for less than $150, buy it. If not, pay the $150 for EIOffice. Of course that's only if you're a Windows user. If you're a Linux user the best choice is OOo, even though both OOo and EIOffice are available for Windows and Linux. If EIOffice is the better "bargin" choice on Windows, why isn't it the better choice on Linux? And if his recommendation for Linux users to use OOo is so strong that he says they should download and use it regardless of what office suite they're currently running, why not recommend it to Windows users?! Makes absolutely no sense, and seems to be the reviewer is more concerned with not offending anybody by recommending all their products than actually delivering a useful review.
Lack of trial version aside, the review hardly inspired confidence either. I only managed to catch parts of it before it got slashdotted, but take this little excerpt regarding the spreadsheet functionality:
The only difference can be seen after the chart is created. The bars in EIOffice's chart are grouped together, where in Excel's chart the bars are not close together. I tried editing the spacing between the bars in EIOffice by changing the gap width of each bar, but the chart was at an angle where the bars would still overlap. Excel gives the option to change the gap width, gap depth and chart depth. EIOffice only enabled me to alter the gap width; other than that, EIOffice permitted editing just about every aspect of the chart, including font style, colors sizes, you know the works.
From what I could see the review gives no indication what-so-ever as to if the EIOffice spreadsheet application can even compared to Excel on a functionality basis. Rather, the basis for comparison seems to be saying that changing cell spacing works differently, but that you're still able to assign pretty fonts and colors. Wonderful!
It also means little if servers are being shipped with XP or even no OS, and being loaded with Debian after delivery.
I know in the past when ordering servers from Dell even though we order them with no operating system preinstalled the sales rep would ask what OS we were going to be using, presumably to gather just that sort of information. As for stripping windows and installing a Linux distribution, how often does this really happen on server hardware? On desktops, sure, but on a server? It's highly unlikely any serious hardware could even be ordered with a non-server version of windows, and if you're footing the bill for that, chances are it's not so you can just toss it and do a reformat as soon as the machine arrives.
Personally I use iTunes as my default music player, and since it isn't able to play Windows Media files (much less DRMed ones) that immediately rules out any services using that format. The apple DRM is also much less restrictive and is relatively easy to bypass by re-encoding songs to mp3, which in my mind makes it the lesser of evils, and most importantly, makes it less of a hassle. As a Canadian I've been waiting for the iTunes store to be available for quite some time, and can only hope that Napster's launch is a sign that Apple may not be far behind.
Is that reduced timeline maybe an example of what this /. article from a couple months ago was talking about? Essentially it stated that a lot of the new worms are actually being caused by the reverse engineering of patches to easily find exploits. Some machines will of course be patched, but as we all know, a huge number of machines will remain unpatched and vulnerable for months to come. If this is the case, Microsoft can hardly be faulted for getting the patch out only a few days before the exploit, since it's the patch itself that potentially prompted its creation. The really interesting thing is that if this is the case and Microsoft is actually increasing their security efforts and releasing more patches, we could actually see more worms released targetting unpatched systems. For them, this really isn't a good situation to be in - the more they do correct problems with their operating systems, the more exploits hit the unpatched machines, making it look like their enhanced focus on security is a joke.
I don't remember exact numbers off hand, but the last time I saw this discussed someone posted benchmarks demonstrating that the $array[key] syntax is actually significantly slower than $array['key'] because of some nuance in how php works internally.
Note that they've now posted a technical whitepaper outlining the architecture which wasn't there yesterday. It's worth a read, goes into a lot more detail than what was there previously and talks about replication options, failure scenarios, etc. It mentions that disk storage is used in addition to memory storage, which confirms the speculation made earlier in the discussion, though it still doesn't explain exactly how disk storage is used.
I was wondering this as well. Also the FAQ mentions that "Data that needs to be highly-available must reside in the MySQL Cluster storage engine. If existing MyISAM and/or InnoDB data needs to be made highly-available then it has to be migrated to the MySQL Cluster storage engine." I'd assume that the clustered table types have support for transactions like InnoDB tables do, but there's nothing here to confirm this.
From the way I'm reading it, this type of cluster would be most ecomomically used for in conjunction with a traditional replicated mysql database. You would use clustered engine for transactional tables where a large number of inserts or updates occur, and for tables where you have a lot of historical or read-only data, you would use standard replication, where you could tolerate a few minutes without the ability to insert or update should the master fail. In order to reduce the memory requirements for the cluster you could also move old transactations from the transactional tables to historical tables which use InnoDB/MyISAM.
That being said, there must be SOME use of the disk on the cluster, because their recommended node system has raid + four 73GB SCSI hard drives... major overkill if everything except for OS/Software is stored in memory!