I just got a new iMac G5 and it transferred over all Powerbook G4's my files, applications, settings, etc. using the automated software (which pops up the first time you turn your comnputer on). No problems.
It did not automatically authorize the music, however, i had to do that the first time I played a purchased iTunes song. And you will also probably want to go back to your old computer and de-authorize it to free up one of your 5 slots.
Born in 77.. Quake GL was arguably the first eye-opener to 3D gaming, but Quake 2 was the first full experience with 3D cards. It holds a special place in my heart with Wolf 3D and Doom.
Of course until free software proponents begin implementing these same practices (which seems rather unlikely due to the voluntary nature of most free software projects)
Make no mistake: most successful and mainstream open source projects have large financial interests behind them, either directly or indirectly.
That doesn't mean they're bribing people, but it does mean someone's commercial agenda is being served. F/OSS taking over commercial software from the proprietary vendors doesn't mean less money will be paid in this industry, it just changes who will be making the money, and how.
You can store XML according to a schema, and index it using B*Trees, or you can store it as a LOB and index it with function-based indexes or text indexes. There are tradeoffs to either. Here's a document explaining Oracle's implementation, though you need to sign up to OTN (free reg)
Oracle is a monolithic beast which requires constant care and feeding by experts who have been so steeped in its ways that they are prohibitively expensive.
I know multi-terabyte Oracle DBMS' that run the entire billing and customer systems for some major telecommunication companies are basically run by 2 or 3 people, and they also have a couple dozen minor multi-gigabyte databases to support.
Oracle requires very little care and feeding. It does have a lot of knobs available for twiddling if you need to tune it, but if you're constantly twiddling them, there's usually a larger problem (the application has design problems, your hardware is inadequate, your staff is twiddle-happy, etc.)
Oracle perpetuates this situation and, as best I can tell, deliberately obfuscates their product in order to continue to rake in huge fees for training and services.
Complete bullshit. Oracle is one of the most well documented databases out there. If ppeople would just take the time to read the Concepts manual and browse Asktom.oracle.com for a day, that would skewer a lot of the "mystique" surrounding Oracle.
You don't need training or P.S. to manage a large Oracle database, you just need someone with good technical chops, the willingness and time to experiement, and the ability to learn. But that seems like the criteria for any profession.
MySQL is hardly a disruptive technology. Disruption implies "radically different". I question whether another RDBMS that happens to cost less and can be tinkered with is truly disruptive.
And let's be clear. MySQL's database revenues were 0.01% of Oracle's in 2005 based on the Gartner and IDC surveys. Oracle makes in 12 hours what MySQL takes a year to make. And Oracle's growth is not shrinking at the expense of MySQL, not according to any statistics YET anyway. Perhaps it will happen, but a number of OSS advocates are claiming advancements that are 3 to 5 years away.
Ports have very little information about the intent of a request. It's just a number, and there only are so many available for TCP/IP. A URI, on the other hand, is much more descriptive. By relying on higher level protocols such as HTTP, you have a lot of metadata about the request and the ultimate target resource. This can then lead to finer grained audit and access control.
Amusing, but mostly wrong.
on
Ajax in Action
·
· Score: 1
The situation is broken? Not at all. It's just that people can't apply their shiny dream paradigm (whether the Windows/Mac GUI, or objects, or whatever) to the distributed / networked world. Most of your points are, at best, half-truths.
The fundamental reasons for all of these quirks come down to two observations: concurrency is hard to get right & distribution is hard to get right.
1. HTTP doesn't throw away connection state and hasn't for 6+ years since HTTP 1.1 KeepAlives & pipelining
2. "objects" still matter. But they were designed for single user systems. Multi user systems imply concurrency. That changes things. Object oriented people wanted their hammer to make everything look like a nail -- well sorry, it doesn't work that way. Yes, OO is still useful, just in certain contexts (like, a request or session scope).
3. Stateful v. stateless objects are somewhat of a red herring. it's really always been about shared vs. local data. shared data can be a concurrency bottleneck. If you want shared data objects, that's what an RDBMS or ODBMS is for.
4. GUI's were not designed with the network in mind. The first client/server GUIs that did deal with a network tended to suck, as they didn't make it clear to the user what a request and a response was. So you'd get bizarre brain freezes, lags, cryptic errors, etc. The browser sucks less because it makes the network apparent to the user.
Transparency can be a useful goal, but it doesn't work with distributed systems. Distribution is fundamentally different from local computing, and should be treated as such. Abstractions yes, transparency no.
My best friend met his wife through match.com back in late 2000, both living in the San Francisco Bay Area. They got married in 2002. He had dated around 3 or 4 people through various sites (including match.com) before meeting her, she had dated around the same number of people before finding him. Interestingly enough, she had cancelled her account, thinking it wasn't going to do any good. But later reactivated it and found his profile.... She was the one who emailed first.:-)
Yes, they both work in the computer industry, though I wouldn't call them geeks (she's a trainer & consultant for a small software company, he's an IT director). They were just two professionals that had to work long hours, one of them travelled a lot, and so it was hard to meet people.
To suggest that anyone can talk about art or music to the same degree as those who have spent a long time studying it really belittles the effor that they have put in.
That wasn't my intended suggestion. My suggestion was that anybody can talk about art or music as a general subject. Certainly not to the degree a geek could. But there is some common ground, especially when talking about popular art.
To your examples, a college educated person would at least know who Plato is, and perhaps even Kant (anyone who's taken a 1st or 2nd year Philosophy course). They may not have a lot of depth there, and may not care a lot, but there's at least some way to relate. Yet specialized technical fields are almost completely foreign to average college students. They wouldn't know the slightest thing about CPU scheduling, concurrency management and consistency -- just like the average person doesn't know how to fix their car, or know how to design an airplane, construct a building, or create new polymers.
I think this is mainly because the former are relatively general pursuits that apply to all humans and the latter are relatively specialized. It's easier to socialize when there is common ground.
I find that visual art geeks, music geeks, etc. tend to be socially accepted, mainly because to be "socially accepted" you have to be SOCIAL. And that means you have to be able to talk about things that interest you. Everyone can discuss 'art' such as music, everyone has an opinion, and I think people find geek's opinions, especially on pop phenomenas, fascinating, because they're so worked out and involved. For example, Chuck Klosterman's books & columns are very popular; he's a quintessential music geek.
On the other hand I think movie geeks are a bit less accepted and more akin to the techie geek label because it's much harder to "get" what someone sees in art movies. Listning to music takes a few minutes or hours, to get a sense of a genre. Enduring a marathon session on Italian neo-realism can take an entire weekend.
Similarly, experiencing with someone a Linux kernel hack or create a Java domain model can take a while, and it's hard to pick up what the person is doing if they're deep in concentration (as the many here who dislike pair programming will attest).
You know, a skilled tradesman these days will often make more than an IT worker, because there is such a shortage. Six figures, at times. In the north east, anyway.
Economics is certainly flawed, but that's because it's very hard to experiment and observe in practice. Thus economic theories are useful to explain certain phenomena but are always incomplete in the real world. In the area of macroeconomics especially, there really is very little clue about how to guide & control it, especially as national economies becomes more complex and grow into multi-national blocs, industries become sick on their own, etc.
Having said that, it's an important area, as important as politics and sociology are at least as a way of understanding how humans interact.
However, economics has become the modern religion of politics, with its "experts" word taken as golden writ, despite the path of ruination it leads us to
This I agree with. American politics has enthroned economics as the beginning and end of all policy debate. Certainly, economics has a place in policy debate -- one must understand the cost of a policy. But to focus solely on that, as some conservatives are prone to, ignore the profound social consequences that economic change can reap. Government has an obligation to balance the need for change (driven by capitalism) and the need for continuity (driven by social services, community, culture, etc.)
And try using XP with short iterations (1day). You spend more time in iteration meetings than coding and you end up with horrible productivity.
Huh? Just a few posts back you said....
With a real agile development methodology, there is no iteration where you set requirements in stone and then go meet them. You do the least possible to show the customer, and then show them, and you keep working with them constantly.
And now you're saying it's bad to spend too much time in meetings and not coding!
This certainly has been an interesting conversation, but I've come to the conlusion your view of XP is very different than my experience with it in various settings, and indicative of malpractice rather than using it properly.
Determining whether something is "Agile" depends on the etymology of the term. In a general sense, anyone can come up with their own fitting description, though the colloquial use of the term refers to any method that adheres to the direction in the Agile Manifesto, and follows the principles behind the manifesto, all of which was crafted by the Agile Alliance (of which Beck is a founding member).
You'll note one of the principles is "At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly." It doesn't really matter if those intervals are "every day" or "every 2 weeks", so long as there is some kind of rhythm. You say XP was not designed in this way, and I strongly disagree. Kent had 3 day iterations on one of his Swiss projects circa 1999-2000, and was working on moving it to 1 day iterations. There is nothing inherent in XP to mandate a period for iterations, other than there must be a period. If you do it "whenever there's stuff to show the customer", you lose rigor in your ability to measure and control the process. The latter could work, of course, but it's just less repeatable.
And as for whether something is "Agile" or not, the person I usually turn to is Alistair Cockburn, probably the most experienced software project anthropologist out there. While he's critical of XP, it certainly is considered agile. So I must disagree on your point. Judging by the vehemenance of your claims, I doubt I'll be able to argue further, thus we'll have to leave it at that.
1. what's new IN scrum? 2. why is there "yet another buzzword" with Scrum? 3. methodologies don't matter, people do 4. I hate XP
Well the answer is, there's nothing new, and it's not a new buzzword. It's been around since at least 1996-1997. And it contains a lot of "common sense" to certain classes of hackers, which is far from "common sense" to managers used to treating software development like a manufacturing process.
As for methodologies mattering, the real problem is that many times you'll have talented developers and talented business people, but they don't speak the same language. So there is misunderstanding. And management also has its own language and techniques. Smart people will work through these problems, though it certainly can be nerve wracking and inconsistent. A method really is a way of codifying behaviours and interactions that have worked well for others. It should be tailored to your situation with care, and shouldn't be swallowed as a statement of religion.
Finally, XP is a way of looking at things from a particular vantage point. That's a strength and a weakness. It ignores larger concerns in favour of smaller concerns. Having said that, most of Its practises are spot on, even though they're very "programming in the small" practices. Pair programming is an acquired taste, of course, but it is very effective with certain team dynamics and individuals.
Come again? Isn't an iteration a set time where a project "evolves"? Every Agile project I've been involved, even back when they were called "Iterative & Incremental" or "Evoluationary" methods, had... iterations.
"Agile" is an umbrella term. XP fits within it. It means working with a customer just as much as scrum or DSDM or "create your own agile method"... though with different priorities, focus & responsibilities than other methods.
Beck's main book (Embrace change) and the Beck/Fowler book (Planning) both make this clear. As do the C2 archives from circa 1998-1999 when XP was first created. Perhaps you've spoken to people that have gone way too far down a path (customer is responsible for specs "period") without being reasonable (customers are responsible but need collaboration & guidance).
To quote Inigo, "You keep using that word. I do not think it means what you think it means."
OSS is not Marxism. Perhaps superficially, if you think Marxism = "No Property", and perhaps there are some similarities to Anarchist Communism. But in OSS there still is property -- you have the right to license your software any way you want. It certainly is like a gift economy, but the the scientific community and the Internet in general has had a similar character.
In OSS, where is the class warfare? Windows vs. Linux users? Marx was focused on society's commodity fetishism and the exploitation of labour for profit by capitalists who owned the means of production. But in "creative arts" that generate IP -- whether songwriting, recording, software development, book / article authoring, etc. -- the "means of production" is owned by the worker themself. The fetishism is still there in many cases (witness popular music), but I fail to see how open licensing is about overthrowing the existing order to bring about a paradise of worker-rule. It may be changing the face of one industry, forcing it to be more competitive, but not global the economic system.
Look at Linux -- anyone that thinks it's "gratis" hasn't looked at RedHat's prices lately. A subscription is in some cases more expensive than a Windows Advanced Server 2003 install! OSS companies will continue to find ways to make it "inconvenient" to use the software without purchasing a support subscription. And it's still far from a foregone conclusion that proprietary software companies will falter.
The only problem with TPC-C, which is why they keep the results in a split-list, is that it doesn't really test cluster nodes uniformly, i.e. something like 80% of transactions can be co-located on a cluster node. This makes shared-nothing approaches look much more scalable and performing than they actually are with many real world cases.
Those layers have nothing to do with object orientation, and everything to do with a school of thinking in systems architecture. Object oriented databases comingled persistence and business into the same layer. Was that not OO?
Your post is misleading. Yes, Apple's units are flat from 2000. What you're not saying is that they're significantly up from 2001-2004, and that they're inches away from eclipsing their 2000 unit sales figure.
Also, Dell's growth has been abnormally high vs. the PC industry as a whole, they're the only one that grew through the downturn. Apple is not really in direct competition with Dell, they have completely different value propositions.
PC Industry unit growth (CY): 1999 = +23%, 2000 = 14.5% , 2001 = -7%, 2002 = -1%, 2003 = +9%, 2004 = +15%, 2005 = (predicted) +0.5%
Apple's unit sales in FY 2000: 4.6 million. FY2001-2004, around 3 million. Apple's unit sales in FY 2005: 4.53 million.
Dell's unit growth in 2005 (FY, end): (predicted) +17%. They grew 50% in 1999 and well over 20% each year through most of the downturn.
Sources: Gartner & IDC stats for 2000, Dell's 10-K filings from FY2001-2005 where they reported their share vs. industry share, Apple's 10-K filings from FY2000-2004, plus their 10-Q from Q3 2005 combined with the Q4 announced figures. and Gartner's 2005 prediction.
A couple of notes: Apple's growth figures tend to lag the industry because they count "last year's" holiday season. Notwithstanding that, Apple's 38% unit jump relative to a flat industry, and nearly double that of Dell for FY 2005, is significant. Does it mean Apple is killing Dell? No! Does it mean that more people are buying Macs? Probably. I find the argument that all those 32% that bought Macs in 2000 are en-masse upgrading this year somewhat implausible. This holiday's figures are going to be very interesting to compare vs. the rest of the industry.
Honestly, other than Apple's iTunes/iPod service, there aren't many popular (i.e., non-technical) end to end services at *all*.
Fair point. Perhaps we can be reasonable and just say "consumer product" with completely open software. TiVO is close, though the internal TCL scripts aren't really "open" so much as hackable.
Microsoft makes code but not computers,
XBox + XBox Live + Microsoft Game Studios is pretty end-to-end, and beating the crap out of Sony which doesn't want to get into the hosting side (that I'm aware of).
Nokia makes phones, but doesn't provide phone service.
Though the telcos themselves are good examples of "end-to-end" in that they have to mix and match all the network and IT components to make a service.
Interesting point, but I think it has more to do with how the tech business works rather than how software is licensed.
Well it draws attention to a couple of trends: Does shared IP (which is a big advantage of OSS) "grow" in a world of end-to-end solutions or where software-as-a-service (SaaS) reigns? Or are even more restrictive bulkheads created than in today's world with PC's? Companies like Google use GPL'd code and don't have to recontribute... GPL 3 is looking to fix this I gather. But would that matter anyway? i.e. does SaaS lead to more closed solutions long-term, or will there be more sharing because there really is more advantage in coorporating on infrastructure?
I can think of lots of other questions... many in the FOSS camp seem to have prematurely declared victory, which is forboding...
There are corporations that are completely devoted to open source, some profit, some non-profit. Most application development consulting companies are open source to their client as a matter of business practice.
You're really stretching the definition of "open source" if you're referring to consultants sharing it client companies. That's not open, that's more akin to Microsoft's "shared source".
And yes, there are many corporations dedicated to open source software, but you didn't address my point: none of them deliver solutions for non-technical consumers. Those that do (Tivo) use substantial proprietary components along side the open source ones.
Open source isn't some magic new fairy that swung in on RMS's beard... that's Free Software, a different kettle of fish. Open source has come and gone and always existed in both the business and hobbyist world... which have both fed off each other countless times over the years.
Fair enough, I was thinking of free software / GPL as it is usually only those adherents that suggest there should be no proprietary / closed portions in any given solution.
The challenge was: "Show me a single open-source project that goes from end-to-end (source to end-user) and gives you a seamless natural way of doing "it" (whatever 'it' is)". Your examples (Tivo, Linksys, etc.) are examples of companies that do not develop open source software -- they USE it, certainly, but otherwise create closed solutions.
I don't think anyone would suggest that one can't make money from using open source components -- every major company has incorporated them at some point, including Microsoft (portions of BSD). The argument was whether an open source project could deliver a successful consumer experience. Thus far, it's been zero -- except in cases where the audience is very technical.
CSS is great for a very few certain things (like flowing text), but totally sucks at a lot of other very common layout tasks.
I've managed to get pixel perfect display and printing in a number of web apps using CSS. I fail to see how it totally sucks.
I just got a new iMac G5 and it transferred over all Powerbook G4's my files, applications, settings, etc. using the automated software (which pops up the first time you turn your comnputer on). No problems.
It did not automatically authorize the music, however, i had to do that the first time I played a purchased iTunes song. And you will also probably want to go back to your old computer and de-authorize it to free up one of your 5 slots.
Born in 77.. Quake GL was arguably the first eye-opener to 3D gaming, but Quake 2 was the first full experience with 3D cards. It holds a special place in my heart with Wolf 3D and Doom.
Of course until free software proponents begin implementing these same practices (which seems rather unlikely due to the voluntary nature of most free software projects)
Make no mistake: most successful and mainstream open source projects have large financial interests behind them, either directly or indirectly.
That doesn't mean they're bribing people, but it does mean someone's commercial agenda is being served. F/OSS taking over commercial software from the proprietary vendors doesn't mean less money will be paid in this industry, it just changes who will be making the money, and how.
You can store XML according to a schema, and index it using B*Trees, or you can store it as a LOB and index it with function-based indexes or text indexes. There are tradeoffs to either. Here's a document explaining Oracle's implementation, though you need to sign up to OTN (free reg)
/ appdev.101/b10790/xdb01int.htm#sthref46
http://download-west.oracle.com/docs/cd/B14117_01
Oracle is a monolithic beast which requires constant care and feeding by experts who have been so steeped in its ways that they are prohibitively expensive.
I know multi-terabyte Oracle DBMS' that run the entire billing and customer systems for some major telecommunication companies are basically run by 2 or 3 people, and they also have a couple dozen minor multi-gigabyte databases to support.
Oracle requires very little care and feeding. It does have a lot of knobs available for twiddling if you need to tune it, but if you're constantly twiddling them, there's usually a larger problem (the application has design problems, your hardware is inadequate, your staff is twiddle-happy, etc.)
Oracle perpetuates this situation and, as best I can tell, deliberately obfuscates their product in order to continue to rake in huge fees for training and services.
Complete bullshit. Oracle is one of the most well documented databases out there. If ppeople would just take the time to read the Concepts manual and browse Asktom.oracle.com for a day, that would skewer a lot of the "mystique" surrounding Oracle.
You don't need training or P.S. to manage a large Oracle database, you just need someone with good technical chops, the willingness and time to experiement, and the ability to learn. But that seems like the criteria for any profession.
MySQL is hardly a disruptive technology. Disruption implies "radically different". I question whether another RDBMS that happens to cost less and can be tinkered with is truly disruptive.
And let's be clear. MySQL's database revenues were 0.01% of Oracle's in 2005 based on the Gartner and IDC surveys. Oracle makes in 12 hours what MySQL takes a year to make. And Oracle's growth is not shrinking at the expense of MySQL, not according to any statistics YET anyway. Perhaps it will happen, but a number of OSS advocates are claiming advancements that are 3 to 5 years away.
Ports have very little information about the intent of a request. It's just a number, and there only are so many available for TCP/IP. A URI, on the other hand, is much more descriptive. By relying on higher level protocols such as HTTP, you have a lot of metadata about the request and the ultimate target resource. This can then lead to finer grained audit and access control.
The situation is broken? Not at all. It's just that people can't apply their shiny dream paradigm (whether the Windows/Mac GUI, or objects, or whatever) to the distributed / networked world. Most of your points are, at best, half-truths.
The fundamental reasons for all of these quirks come down to two observations: concurrency is hard to get right & distribution is hard to get right.
1. HTTP doesn't throw away connection state and hasn't for 6+ years since HTTP 1.1 KeepAlives & pipelining
2. "objects" still matter. But they were designed for single user systems. Multi user systems imply concurrency. That changes things. Object oriented people wanted their hammer to make everything look like a nail -- well sorry, it doesn't work that way. Yes, OO is still useful, just in certain contexts (like, a request or session scope).
3. Stateful v. stateless objects are somewhat of a red herring. it's really always been about shared vs. local data. shared data can be a concurrency bottleneck. If you want shared data objects, that's what an RDBMS or ODBMS is for.
4. GUI's were not designed with the network in mind. The first client/server GUIs that did deal with a network tended to suck, as they didn't make it clear to the user what a request and a response was. So you'd get bizarre brain freezes, lags, cryptic errors, etc. The browser sucks less because it makes the network apparent to the user.
Transparency can be a useful goal, but it doesn't work with distributed systems. Distribution is fundamentally different from local computing, and should be treated as such. Abstractions yes, transparency no.
My best friend met his wife through match.com back in late 2000, both living in the San Francisco Bay Area. They got married in 2002. He had dated around 3 or 4 people through various sites (including match.com) before meeting her, she had dated around the same number of people before finding him. Interestingly enough, she had cancelled her account, thinking it wasn't going to do any good. But later reactivated it and found his profile.... She was the one who emailed first. :-)
Yes, they both work in the computer industry, though I wouldn't call them geeks (she's a trainer & consultant for a small software company, he's an IT director). They were just two professionals that had to work long hours, one of them travelled a lot, and so it was hard to meet people.
To suggest that anyone can talk about art or music to the same degree as those who have spent a long time studying it really belittles the effor that they have put in.
That wasn't my intended suggestion. My suggestion was that anybody can talk about art or music as a general subject. Certainly not to the degree a geek could. But there is some common ground, especially when talking about popular art.
To your examples, a college educated person would at least know who Plato is, and perhaps even Kant (anyone who's taken a 1st or 2nd year Philosophy course). They may not have a lot of depth there, and may not care a lot, but there's at least some way to relate. Yet specialized technical fields are almost completely foreign to average college students. They wouldn't know the slightest thing about CPU scheduling, concurrency management and consistency -- just like the average person doesn't know how to fix their car, or know how to design an airplane, construct a building, or create new polymers.
I think this is mainly because the former are relatively general pursuits that apply to all humans and the latter are relatively specialized. It's easier to socialize when there is common ground.
I find that visual art geeks, music geeks, etc. tend to be socially accepted, mainly because to be "socially accepted" you have to be SOCIAL. And that means you have to be able to talk about things that interest you. Everyone can discuss 'art' such as music, everyone has an opinion, and I think people find geek's opinions, especially on pop phenomenas, fascinating, because they're so worked out and involved. For example, Chuck Klosterman's books & columns are very popular; he's a quintessential music geek.
On the other hand I think movie geeks are a bit less accepted and more akin to the techie geek label because it's much harder to "get" what someone sees in art movies. Listning to music takes a few minutes or hours, to get a sense of a genre. Enduring a marathon session on Italian neo-realism can take an entire weekend.
Similarly, experiencing with someone a Linux kernel hack or create a Java domain model can take a while, and it's hard to pick up what the person is doing if they're deep in concentration (as the many here who dislike pair programming will attest).
I am not one to knock the trades
You know, a skilled tradesman these days will often make more than an IT worker, because there is such a shortage. Six figures, at times. In the north east, anyway.
Economics is certainly flawed, but that's because it's very hard to experiment and observe in practice. Thus economic theories are useful to explain certain phenomena but are always incomplete in the real world. In the area of macroeconomics especially, there really is very little clue about how to guide & control it, especially as national economies becomes more complex and grow into multi-national blocs, industries become sick on their own, etc.
Having said that, it's an important area, as important as politics and sociology are at least as a way of understanding how humans interact.
However, economics has become the modern religion of politics, with its "experts" word taken as golden writ, despite the path of ruination it leads us to
This I agree with. American politics has enthroned economics as the beginning and end of all policy debate. Certainly, economics has a place in policy debate -- one must understand the cost of a policy. But to focus solely on that, as some conservatives are prone to, ignore the profound social consequences that economic change can reap. Government has an obligation to balance the need for change (driven by capitalism) and the need for continuity (driven by social services, community, culture, etc.)
Huh? Just a few posts back you said....
And now you're saying it's bad to spend too much time in meetings and not coding!
This certainly has been an interesting conversation, but I've come to the conlusion your view of XP is very different than my experience with it in various settings, and indicative of malpractice rather than using it properly.
Determining whether something is "Agile" depends on the etymology of the term. In a general sense, anyone can come up with their own fitting description, though the colloquial use of the term refers to any method that adheres to the direction in the Agile Manifesto, and follows the principles behind the manifesto, all of which was crafted by the Agile Alliance (of which Beck is a founding member).
You'll note one of the principles is "At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly." It doesn't really matter if those intervals are "every day" or "every 2 weeks", so long as there is some kind of rhythm. You say XP was not designed in this way, and I strongly disagree. Kent had 3 day iterations on one of his Swiss projects circa 1999-2000, and was working on moving it to 1 day iterations. There is nothing inherent in XP to mandate a period for iterations, other than there must be a period. If you do it "whenever there's stuff to show the customer", you lose rigor in your ability to measure and control the process. The latter could work, of course, but it's just less repeatable.
And as for whether something is "Agile" or not, the person I usually turn to is Alistair Cockburn, probably the most experienced software project anthropologist out there. While he's critical of XP, it certainly is considered agile. So I must disagree on your point. Judging by the vehemenance of your claims, I doubt I'll be able to argue further, thus we'll have to leave it at that.
I meant "four" popular posts... alas.
Three popular posts are emerging:
1. what's new IN scrum?
2. why is there "yet another buzzword" with Scrum?
3. methodologies don't matter, people do
4. I hate XP
Well the answer is, there's nothing new, and it's not a new buzzword. It's been around since at least 1996-1997. And it contains a lot of "common sense" to certain classes of hackers, which is far from "common sense" to managers used to treating software development like a manufacturing process.
As for methodologies mattering, the real problem is that many times you'll have talented developers and talented business people, but they don't speak the same language. So there is misunderstanding. And management also has its own language and techniques. Smart people will work through these problems, though it certainly can be nerve wracking and inconsistent. A method really is a way of codifying behaviours and interactions that have worked well for others. It should be tailored to your situation with care, and shouldn't be swallowed as a statement of religion.
Finally, XP is a way of looking at things from a particular vantage point. That's a strength and a weakness. It ignores larger concerns in favour of smaller concerns. Having said that, most of Its practises are spot on, even though they're very "programming in the small" practices. Pair programming is an acquired taste, of course, but it is very effective with certain team dynamics and individuals.
Come again? Isn't an iteration a set time where a project "evolves"? Every Agile project I've been involved, even back when they were called "Iterative & Incremental" or "Evoluationary" methods, had ... iterations.
"Agile" is an umbrella term. XP fits within it. It means working with a customer just as much as scrum or DSDM or "create your own agile method"... though with different priorities, focus & responsibilities than other methods.
Beck's main book (Embrace change) and the Beck/Fowler book (Planning) both make this clear. As do the C2 archives from circa 1998-1999 when XP was first created. Perhaps you've spoken to people that have gone way too far down a path (customer is responsible for specs "period") without being reasonable (customers are responsible but need collaboration & guidance).
To quote Inigo, "You keep using that word. I do not think it means what you think it means."
OSS is not Marxism. Perhaps superficially, if you think Marxism = "No Property", and perhaps there are some similarities to Anarchist Communism. But in OSS there still is property -- you have the right to license your software any way you want. It certainly is like a gift economy, but the the scientific community and the Internet in general has had a similar character.
In OSS, where is the class warfare? Windows vs. Linux users? Marx was focused on society's commodity fetishism and the exploitation of labour for profit by capitalists who owned the means of production. But in "creative arts" that generate IP -- whether songwriting, recording, software development, book / article authoring, etc. -- the "means of production" is owned by the worker themself. The fetishism is still there in many cases (witness popular music), but I fail to see how open licensing is about overthrowing the existing order to bring about a paradise of worker-rule. It may be changing the face of one industry, forcing it to be more competitive, but not global the economic system.
Look at Linux -- anyone that thinks it's "gratis" hasn't looked at RedHat's prices lately. A subscription is in some cases more expensive than a Windows Advanced Server 2003 install! OSS companies will continue to find ways to make it "inconvenient" to use the software without purchasing a support subscription. And it's still far from a foregone conclusion that proprietary software companies will falter.
The only problem with TPC-C, which is why they keep the results in a split-list, is that it doesn't really test cluster nodes uniformly, i.e. something like 80% of transactions can be co-located on a cluster node. This makes shared-nothing approaches look much more scalable and performing than they actually are with many real world cases.
Those layers have nothing to do with object orientation, and everything to do with a school of thinking in systems architecture. Object oriented databases comingled persistence and business into the same layer. Was that not OO?
Your post is misleading. Yes, Apple's units are flat from 2000. What you're not saying is that they're significantly up from 2001-2004, and that they're inches away from eclipsing their 2000 unit sales figure.
Also, Dell's growth has been abnormally high vs. the PC industry as a whole, they're the only one that grew through the downturn. Apple is not really in direct competition with Dell, they have completely different value propositions.
PC Industry unit growth (CY): 1999 = +23%, 2000 = 14.5% , 2001 = -7%, 2002 = -1%, 2003 = +9%, 2004 = +15%, 2005 = (predicted) +0.5%
Apple's unit growth (FY, ending September): 1999 = +25%, 2000 = +32%, 2001 = -32%, 2002 = 0%, 2003 = -3%, 2004 = +9%, 2005 = (predicted) +38%
Apple's unit sales in FY 2000: 4.6 million. FY2001-2004, around 3 million. Apple's unit sales in FY 2005: 4.53 million.
Dell's unit growth in 2005 (FY, end): (predicted) +17%. They grew 50% in 1999 and well over 20% each year through most of the downturn.
Sources: Gartner & IDC stats for 2000, Dell's 10-K filings from FY2001-2005 where they reported their share vs. industry share, Apple's 10-K filings from FY2000-2004, plus their 10-Q from Q3 2005 combined with the Q4 announced figures. and Gartner's 2005 prediction.
A couple of notes: Apple's growth figures tend to lag the industry because they count "last year's" holiday season. Notwithstanding that, Apple's 38% unit jump relative to a flat industry, and nearly double that of Dell for FY 2005, is significant. Does it mean Apple is killing Dell? No! Does it mean that more people are buying Macs? Probably. I find the argument that all those 32% that bought Macs in 2000 are en-masse upgrading this year somewhat implausible. This holiday's figures are going to be very interesting to compare vs. the rest of the industry.
Honestly, other than Apple's iTunes/iPod service, there aren't many popular (i.e., non-technical) end to end services at *all*.
Fair point. Perhaps we can be reasonable and just say "consumer product" with completely open software. TiVO is close, though the internal TCL scripts aren't really "open" so much as hackable.
Microsoft makes code but not computers,
XBox + XBox Live + Microsoft Game Studios is pretty end-to-end, and beating the crap out of Sony which doesn't want to get into the hosting side (that I'm aware of).
Nokia makes phones, but doesn't provide phone service.
Though the telcos themselves are good examples of "end-to-end" in that they have to mix and match all the network and IT components to make a service.
Interesting point, but I think it has more to do with how the tech business works rather than how software is licensed.
Well it draws attention to a couple of trends: Does shared IP (which is a big advantage of OSS) "grow" in a world of end-to-end solutions or where software-as-a-service (SaaS) reigns? Or are even more restrictive bulkheads created than in today's world with PC's? Companies like Google use GPL'd code and don't have to recontribute... GPL 3 is looking to fix this I gather. But would that matter anyway? i.e. does SaaS lead to more closed solutions long-term, or will there be more sharing because there really is more advantage in coorporating on infrastructure?
I can think of lots of other questions... many in the FOSS camp seem to have prematurely declared victory, which is forboding...
There are corporations that are completely devoted to open source, some profit, some non-profit. Most application development consulting companies are open source to their client as a matter of business practice.
You're really stretching the definition of "open source" if you're referring to consultants sharing it client companies. That's not open, that's more akin to Microsoft's "shared source".
And yes, there are many corporations dedicated to open source software, but you didn't address my point: none of them deliver solutions for non-technical consumers. Those that do (Tivo) use substantial proprietary components along side the open source ones.
Open source isn't some magic new fairy that swung in on RMS's beard... that's Free Software, a different kettle of fish. Open source has come and gone and always existed in both the business and hobbyist world... which have both fed off each other countless times over the years.
Fair enough, I was thinking of free software / GPL as it is usually only those adherents that suggest there should be no proprietary / closed portions in any given solution.
The challenge was: "Show me a single open-source project that goes from end-to-end (source to end-user) and gives you a seamless natural way of doing "it" (whatever 'it' is)". Your examples (Tivo, Linksys, etc.) are examples of companies that do not develop open source software -- they USE it, certainly, but otherwise create closed solutions.
I don't think anyone would suggest that one can't make money from using open source components -- every major company has incorporated them at some point, including Microsoft (portions of BSD). The argument was whether an open source project could deliver a successful consumer experience. Thus far, it's been zero -- except in cases where the audience is very technical.