Indeed it takes a team of competent programmers to work on an XP project. However, I believe that every programmer, actually every professional should be competent at what they do. Otherwise I'd be afraid of driving across the bridge every morning. People on XP teams don't have to be exceptional they just have to be competent and reasonably confident in their ability to learn. Also group pride must take over the personal pride as coding in XP is considered group effort. You say most people you worked with you wouldn't let touch your code. As always it depends. Just remember that in XP it's all about programming in pairs. So even two relatively inexperienced programmers will tend to make less glaring mistakes as they have a better pool of experience to draw from when paired up.
You must have small teams in XP. If you've more than twelve developers on your team (give or take two) it's probably a bit large for XP. But that's about as large as any single programming team should be. Go larger and any methodology collapses. It's all about effective communication breakdown. With more than twelve people collaborating it's extremely challenging to keep everyone in the loop. Solution? Split your work vertically to create small sized teams of eight to ten people and assign a coach to each team. If you're really building a single monstrous product split it according to functionality blocks and give each team a separate block to tackle. Teams have to be small but that doesn't mean that companies those teams work for have to be small too.
There is more and more talk about XP being used in mission critical applications which traditionally followed very strict and conservative software methodologies. So there must be a grain of wisdom in all that stuff. Remember that XP doesn't force you to embrace all of it in one go. It just forces you to be aware how far your "knobs are turned" on the XP stuff. You can go all the way or you can go just a little bit at a time and implement more as you gain confidence in the techniques proposed.
Anyway I'm not a professional XP evangelist, just an average Joe Coder who has had a really good experience with it.
Well I worked in for a geoscience software company (large data visualisation) and we followed most of the XP practices. We didn't call it XP at the time but the work model was essentially the same. We figured it through trial and error. XP is just experiences of good coders formalised into a methodology. And I wouldn't call the stuff we coded as simple by any stretch of imagination. XP works for complex earth cube analysis software as well as a jsp website. It simply works.
Can you restate your point? I'm sorry but I think I missed it. In case you were defending the "old" methodologies (such as the Rational Unified Process) yes XP essentially says that they are all bollocks. And in my Not So Humble Opinion XP is right. We tried Rational and failed. I worked in a so called Rational shop and it was a plain nightmare. Diagrams out of date, designers without a clue about coding trying to come up with their Actors and Scenarios and all that pile of cruft with no deliverables. And despite programmers' best attempts to keep the Rose models in synch with the code it was just a big drag and those models did get outdated very quickly. Process instilled modeling doesn't work. Deal with it. Design is what programmers do on the whiteboard. Anything else is just fluff thought up by people who need to justify their existance. XP basically says cut the cruft and get on with the job. It doesn't prescribe sloppiness of coding. Quite the opposite actually. It prescribes an obscene amount of testing. Actually XP is more similar to traditional engineering than waterfall. How many electronic engineers do you know that just work on their own on "their" piece of the design? How many electronic engineers do you know that don't unit test their designs? How many electronic engineers do you know who design Actors and Stages for their next 3D geometry engine? Answer those questions and you'll discover that XP is a pretty formal methodology despite having such a relaxed name. Don't get conned by expensive software into thinking that because it costs $10000 a seat it must be something very "professional".
I've read the first fifty posts or so and all those "insightful" comments so far is all pile of shite strictly speaking. Everone's so confused I don't even know where to begin.
Most comments are pointing out that XP is yet another management buzzword or it's just stating the obvious. Well, it's neither. XP stands against all the principles touted by the waterfall model or the Rational Unified process and shite like that. XP is basically saying "toss out that copy of Rational Rose because you ain't gonna need it". If it doesn't make your job easier (and Rational Rose doesn't, believe me) toss it out. If you're already building five classes to parse a simple parameters file toss it out because you ain't gonna need it. XP points out (quite accurately) that the design for change is only useful if we allow extendibility in the right places. Unfortunately this requires you to analyze your problem domain beyond what's needed to ship your product and most of the time you'll still get it wrong. You'll get it worong because you don't have a crystal ball. You can't tell what the customer will want next. This way you eliminate the whole code design circus and end up with simple code that does what it's supposed to do, no more, no less.
One of the most important aspects of XP is unit testing. XP recommends that unit tests be written before the code that's supposed to pass those tests. This is more important than you think for two reasons.
Reason one: how are you supposed to develop your code if you don't know how to test it? When you write your unit tests you gain insight into the exact functionality of your code.
Reason number two: If you write your tests after you develop the code your tests will most likely only test the scenarios you considered when you were writing the code. Your tests will most liekely be incomplete because they'll have a slant towards your implementation.
Coding in pairs is probably the most prominent and the most controversial aspect of the system. It's important to realise the benefits of pair programming though. No code ownership means people can't get territorial about their code so everyone is free to change it when they need to change it. I've seen shops where changing John's code was considered politically incorrect and often John would take the issue personally. In other words if John wrote the message dispatcher John and John alone would decide on it's shape, form and future directions. XP essentially says that the hypothetical John can no longer pee around "his" piece of code and keep it as a guarded secret because John is no longer the sole developer of the message dispatcher. If John gets territorial about his work, John gets moved on to do something else and somebody else takes over until they start growing attached to the code again. Lather, rinse, repeat.
Besides code ownership and territorial programmers the other issue that XP takes on is coding primadonnas. Most software shops have a standard (sad) working model. One self promoted primadonna coding 70% of the application including the critical subsystems and the other twenty developers working around the edges "helping" the primadonna and trying hard not to get in her way. Our primadonna often isn't even the best coder on the team but surely is the most bullish and opinionated and thus grabs all the exciting work. Everyone else is just supposed to feel inferior and work on some tiny pet project of their own. This is not only grossly underutilises the rest of the team but usually at some point puts the project in jeopardy because the primadonna has now found another company to prey on. Project "gurus" have mushroomed throughout this industry and weeding them out may prove challenging. XP offers a very radical albeit a very promising way of achieving that.
This comment is growing a little long now so I'll shut up at this point. I hope this offers some enlightenment to those who keep on saying that XP is just another waterfall mutilation. It's not. It's a hackers methodology. On the side not however, I to have an issue with the name and the accronym. It's just juvenile.
Apples and Oranges. Really. QNX strives to be a realtime OS with embedded market as its main customer base. AtheOS just strives to be a nice desktop OS with good threads support and no realtime aspirations. Both are posix(ish) though.
QNX does have a gui subsystem (Photon) but I think its main purpose is to provide QNX developers with a native QNX environment to avoid cross compiling. I don't think we'll see Photon as a end user front end. Having said that QNX is hiring multimedia plugin developers so I might be wrong here. QSSL seem to be quite enigmatic about the direction of QNX-Rtp. Maybe someone here will enlighten us on this matter.
While AtheOS and QNX have very little in common both are worth checking out as both are gems. QNX is beautiful underneath. It just laughs in the faces of Linux zealots who think microkernels are passe.
Atheos is promising and because it's developed as an open source project there is a chance that the community might take it in a certain direction. But then again it might drift without focus. Time will tell I guess. It's looking good for now though.
I saw Kurt replying to other comments here so this may be a great chance for the masses here to ask some questions. After all this guy put together an entire OS. Even Linus hasn't accomplished that.
My questions to Kurt:
Can Atheos compile itself yet?
Is anyone working on a GUI RAD tool for AtheOS (something in the spirit of KDevelop or Glade)?
Are you trying to gather the momentum among application developers now or is it too early?
Do you have a Component Model yet? If not are you planning to add one soon? A CM would definitely help keep the look and feel consistent and help avoid code duplication. Two things that marred Linux's acceptance as a desktop OS.
Funny you said that. I also prefer the look and feel of Atheos widgets. I think they are quite close to AmigaOS. They are simple yet functional and get the job done. Just what one needs no more no less. However, the big job for both KDE and GNOME was getting their respective Component Models working. That's no mean feat by any stretch of imagination. I don't think Atheos has one yet but it's a must for a viable desktop OS.
I worked in a games company on my first job. This was good and well and it was a challenging start and the job was fun and I loved working with those people.
But there was a problem.
Money.
Games programmers make peanuts compared to what programmers in other markets. Of course database jobs are far less glamorous and finance applications are not always cutting edge but there is a difference between making $65k and $20k which is what most game shops will pay their new recruits. Games companies are a western equivalent for sweatshops. They fill the definition nicely. The hours are long, the pay is shite, the pressure always goes downwards and the management is largely lacks management skills. Lack of proper planning is what makes most games programmers work twice as hard as they have to.
I may sound like someone who doesn't have the "heart" for games. That's silly I have a lot of devotion to programming in general and 3d programming in particular. I wrote cool shit since I moved on. But I had to move on so that I wouldn't have to scrap through for the basic necessities. And I'm not looking forward to coming back to your industry other than by founding a company of my own. I'd rather have my cash and 40 hours week and enough spare time to code fun stuff of my own. Ironically I'm working on a remake of a certain classic game from the eighties.
The best way to get into game programming is to stay away from the gaming industry.
I wanted to do exactly that. The problem for me is financing such a pursuit. An alternative might be to take a pay cut and get a job in academia. This is usually a more feasible option for most.
This could mean that IBM will be promoting KDE as their default (standard?) Linux desktop for IBM systems. Now that's interesting because that would mean that IBM would be going up against Sun's choice of GNOME as the default Linux WM. Is IBM onto something here?
I appreciate you're dislectic mate, but boy you really have to show your posts to someone for proofreading. Man this stuff in unintelligible. I'm not really sure what you're trying to say in that comment. Please put a little bit of effort into punctuation. Wrong punctuation could change the meaning of your sentence.
Look I'm a big Mandrak fan but I'm concerned about its future as a company. Because all their stuff is deeply rooted in this GPL dogma they can't break out of the pack and truly innovate. They will be stuck scrapping through and asking for handouts just to make basic living. This is not a way to run a successful business in the long run.
They're not asking for handouts. They're giving us the opportunity to show our appreciation for and support of all the hardwork that goes into all the cool stuff we get to use.
No. I don't think they're looking for appreciation here. They're after cold hard cash. If developers seek appreciation they ususally ask to be sent a postcard or a bottle of beer etc. This is just plain saying "We work for free but we're not gonna survive if you don't give us your dosh so pick up that wallet and support our commune. This is different from a few hackers trying to get kudos. This is a struggling business trying to sustain itself on an unrealistic business plan.
No, I wasn't "trolling". Everyone should be concerened about the fincancial health of linux companies because they're dropping like flies. And I'd like to see at least some survive in the long shot.
This guy is a moron if I ever saw one
on
Calling Out TiVo
·
· Score: 1
This guy needs to get a clue. Even if tivo gets used to skip the commercials (which it probably does) it's just a signal to the producers of commercials that their products are extremely lame. I recently moved from the UK and I'm finding US commercials appoling. They are loud, stupid and devoid of humour and even if they try to be funny the jokes are either crude or have very obvious "in your face" humour. In Britain I wouldn't have used TiVO to skip commercials. Quite a few of them are too good to miss. Unfortunately very few good British ads make it to the US and when they do they usually get altered so that the punchline is more obvious and hence less funny. Why do american ads directors assume that everyone is a moron and won't get a simple joke?
Oh, speaking of funny commercials I have to say that TiVO has the most brilliant commercial of all American companies. I'm talking about the "masculine itch" one...
Anywas, my point is that Tivo is a cool device and American commercials are very lame and they themselves are the reason for the commercial success of Tivo.
Most people (myself included) hate the (almost dead but not quite dead) "culture" of the dotcom companies. Lavish offices in swanky locations just to show off and very expensive equipment and furniture for the twenty-somethings calleing themselves C*O and fast talking 'know nothing' IT pseudo-consultants. This whole farce would drive a saint to insanity. Now that most of them are titsup.com hopefully new and stable startups will keep popping up and who knows we may see the resurection of uber-cool so called basement startups(tm). Just the way it used to be in the eighties. Because you don't build a company by spending wads of money first. You build it by having a good product that people want first and growing from there. Good riddance dotcom world! Don't come back any time soon.
MS has a win-win situation on their hands. They are once again embracing and extinguishing, pardon me, extending a file format. Naturally the danger here is the mighty hand of DOJ but hey, this time they have a "legitimate" reason for this since the MP3 format has no content protection. The ultimate argument for MS will be that they are replacing the inferior standard with a better one that honours the IP of the music industry. MS just can't lose here. They will be able to do this and still come out clean as a whistle. Do you really think that the DOJ will stand up against Microsoft's extermination of the "evil" MP3? I say MP3 is doomed as a format already. Fear the power of Redmond.
No way! How can everybody keep saying: Oh, I saw this coming right from the start? If you did why did you keep posting on this forum? Why are you reading this article if you knew this all along?
Indrema had a superb tech and using Linux gave them the edge to surpass all competition on the technical front. They just did not have the financial backing all the industry titans enjoy. It was a brilliant idea and they guys gave their best. I'm sure it will one day raise like a Phoenix from its ashes and the world will enjoy a Free gaming platform. So please stop trolling about one mishap this little bump along the way to the ultimate glory of the superior OS.
What? Of course I need karma points. Go sue me asshole!
Man if I had moderating points they'd all go to ya! Sweet! The rumour has it that Miguel was so fascinated with MS tech that he applied for a job with them and decided to mingle with the Open Sores crowd after MS turned him down.
Bonobo is a clone of Microsoft COM/OLE written by Miguel De Icaza after MS rejected his job application. Moderating morons all I said above is true. Check before moderating down.
You must have small teams in XP. If you've more than twelve developers on your team (give or take two) it's probably a bit large for XP. But that's about as large as any single programming team should be. Go larger and any methodology collapses. It's all about effective communication breakdown. With more than twelve people collaborating it's extremely challenging to keep everyone in the loop. Solution? Split your work vertically to create small sized teams of eight to ten people and assign a coach to each team. If you're really building a single monstrous product split it according to functionality blocks and give each team a separate block to tackle. Teams have to be small but that doesn't mean that companies those teams work for have to be small too.
There is more and more talk about XP being used in mission critical applications which traditionally followed very strict and conservative software methodologies. So there must be a grain of wisdom in all that stuff. Remember that XP doesn't force you to embrace all of it in one go. It just forces you to be aware how far your "knobs are turned" on the XP stuff. You can go all the way or you can go just a little bit at a time and implement more as you gain confidence in the techniques proposed. Anyway I'm not a professional XP evangelist, just an average Joe Coder who has had a really good experience with it.
Well I worked in for a geoscience software company (large data visualisation) and we followed most of the XP practices. We didn't call it XP at the time but the work model was essentially the same. We figured it through trial and error. XP is just experiences of good coders formalised into a methodology. And I wouldn't call the stuff we coded as simple by any stretch of imagination. XP works for complex earth cube analysis software as well as a jsp website. It simply works.
Can you restate your point? I'm sorry but I think I missed it. In case you were defending the "old" methodologies (such as the Rational Unified Process) yes XP essentially says that they are all bollocks. And in my Not So Humble Opinion XP is right. We tried Rational and failed. I worked in a so called Rational shop and it was a plain nightmare. Diagrams out of date, designers without a clue about coding trying to come up with their Actors and Scenarios and all that pile of cruft with no deliverables. And despite programmers' best attempts to keep the Rose models in synch with the code it was just a big drag and those models did get outdated very quickly. Process instilled modeling doesn't work. Deal with it. Design is what programmers do on the whiteboard. Anything else is just fluff thought up by people who need to justify their existance. XP basically says cut the cruft and get on with the job. It doesn't prescribe sloppiness of coding. Quite the opposite actually. It prescribes an obscene amount of testing. Actually XP is more similar to traditional engineering than waterfall. How many electronic engineers do you know that just work on their own on "their" piece of the design? How many electronic engineers do you know that don't unit test their designs? How many electronic engineers do you know who design Actors and Stages for their next 3D geometry engine? Answer those questions and you'll discover that XP is a pretty formal methodology despite having such a relaxed name. Don't get conned by expensive software into thinking that because it costs $10000 a seat it must be something very "professional".
Most comments are pointing out that XP is yet another management buzzword or it's just stating the obvious. Well, it's neither. XP stands against all the principles touted by the waterfall model or the Rational Unified process and shite like that. XP is basically saying "toss out that copy of Rational Rose because you ain't gonna need it". If it doesn't make your job easier (and Rational Rose doesn't, believe me) toss it out. If you're already building five classes to parse a simple parameters file toss it out because you ain't gonna need it. XP points out (quite accurately) that the design for change is only useful if we allow extendibility in the right places. Unfortunately this requires you to analyze your problem domain beyond what's needed to ship your product and most of the time you'll still get it wrong. You'll get it worong because you don't have a crystal ball. You can't tell what the customer will want next. This way you eliminate the whole code design circus and end up with simple code that does what it's supposed to do, no more, no less.
One of the most important aspects of XP is unit testing. XP recommends that unit tests be written before the code that's supposed to pass those tests. This is more important than you think for two reasons.
Reason one: how are you supposed to develop your code if you don't know how to test it? When you write your unit tests you gain insight into the exact functionality of your code.
Reason number two: If you write your tests after you develop the code your tests will most likely only test the scenarios you considered when you were writing the code. Your tests will most liekely be incomplete because they'll have a slant towards your implementation.
Coding in pairs is probably the most prominent and the most controversial aspect of the system. It's important to realise the benefits of pair programming though. No code ownership means people can't get territorial about their code so everyone is free to change it when they need to change it. I've seen shops where changing John's code was considered politically incorrect and often John would take the issue personally. In other words if John wrote the message dispatcher John and John alone would decide on it's shape, form and future directions. XP essentially says that the hypothetical John can no longer pee around "his" piece of code and keep it as a guarded secret because John is no longer the sole developer of the message dispatcher. If John gets territorial about his work, John gets moved on to do something else and somebody else takes over until they start growing attached to the code again. Lather, rinse, repeat.
Besides code ownership and territorial programmers the other issue that XP takes on is coding primadonnas. Most software shops have a standard (sad) working model. One self promoted primadonna coding 70% of the application including the critical subsystems and the other twenty developers working around the edges "helping" the primadonna and trying hard not to get in her way. Our primadonna often isn't even the best coder on the team but surely is the most bullish and opinionated and thus grabs all the exciting work. Everyone else is just supposed to feel inferior and work on some tiny pet project of their own. This is not only grossly underutilises the rest of the team but usually at some point puts the project in jeopardy because the primadonna has now found another company to prey on. Project "gurus" have mushroomed throughout this industry and weeding them out may prove challenging. XP offers a very radical albeit a very promising way of achieving that.
This comment is growing a little long now so I'll shut up at this point. I hope this offers some enlightenment to those who keep on saying that XP is just another waterfall mutilation. It's not. It's a hackers methodology. On the side not however, I to have an issue with the name and the accronym. It's just juvenile.
I don't have to Imagine. I just come to slashdot.
QNX does have a gui subsystem (Photon) but I think its main purpose is to provide QNX developers with a native QNX environment to avoid cross compiling. I don't think we'll see Photon as a end user front end. Having said that QNX is hiring multimedia plugin developers so I might be wrong here. QSSL seem to be quite enigmatic about the direction of QNX-Rtp. Maybe someone here will enlighten us on this matter.
While AtheOS and QNX have very little in common both are worth checking out as both are gems. QNX is beautiful underneath. It just laughs in the faces of Linux zealots who think microkernels are passe.
Atheos is promising and because it's developed as an open source project there is a chance that the community might take it in a certain direction. But then again it might drift without focus. Time will tell I guess. It's looking good for now though.
Hope this helps somewhat.
My questions to Kurt:
Can Atheos compile itself yet?
Is anyone working on a GUI RAD tool for AtheOS (something in the spirit of KDevelop or Glade)?
Are you trying to gather the momentum among application developers now or is it too early?
Do you have a Component Model yet? If not are you planning to add one soon? A CM would definitely help keep the look and feel consistent and help avoid code duplication. Two things that marred Linux's acceptance as a desktop OS.
Funny you said that. I also prefer the look and feel of Atheos widgets. I think they are quite close to AmigaOS. They are simple yet functional and get the job done. Just what one needs no more no less. However, the big job for both KDE and GNOME was getting their respective Component Models working. That's no mean feat by any stretch of imagination. I don't think Atheos has one yet but it's a must for a viable desktop OS.
I don't need to explain to you why, do I?
I worked in a games company on my first job. This was good and well and it was a challenging start and the job was fun and I loved working with those people.
But there was a problem.
Money.
Games programmers make peanuts compared to what programmers in other markets. Of course database jobs are far less glamorous and finance applications are not always cutting edge but there is a difference between making $65k and $20k which is what most game shops will pay their new recruits. Games companies are a western equivalent for sweatshops. They fill the definition nicely. The hours are long, the pay is shite, the pressure always goes downwards and the management is largely lacks management skills. Lack of proper planning is what makes most games programmers work twice as hard as they have to. I may sound like someone who doesn't have the "heart" for games. That's silly I have a lot of devotion to programming in general and 3d programming in particular. I wrote cool shit since I moved on. But I had to move on so that I wouldn't have to scrap through for the basic necessities. And I'm not looking forward to coming back to your industry other than by founding a company of my own. I'd rather have my cash and 40 hours week and enough spare time to code fun stuff of my own. Ironically I'm working on a remake of a certain classic game from the eighties.
The best way to get into game programming is to stay away from the gaming industry.
Anyways, good luck to you and enjoy your course.
A very safe one indeed. Albeit a very strict one too.
This could mean that IBM will be promoting KDE as their default (standard?) Linux desktop for IBM systems. Now that's interesting because that would mean that IBM would be going up against Sun's choice of GNOME as the default Linux WM. Is IBM onto something here?
Cheers,
Bob
Look I'm a big Mandrak fan but I'm concerned about its future as a company. Because all their stuff is deeply rooted in this GPL dogma they can't break out of the pack and truly innovate. They will be stuck scrapping through and asking for handouts just to make basic living. This is not a way to run a successful business in the long run.
No. I don't think they're looking for appreciation here. They're after cold hard cash. If developers seek appreciation they ususally ask to be sent a postcard or a bottle of beer etc. This is just plain saying "We work for free but we're not gonna survive if you don't give us your dosh so pick up that wallet and support our commune. This is different from a few hackers trying to get kudos. This is a struggling business trying to sustain itself on an unrealistic business plan.
No, I wasn't "trolling". Everyone should be concerened about the fincancial health of linux companies because they're dropping like flies. And I'd like to see at least some survive in the long shot.
Oh, speaking of funny commercials I have to say that TiVO has the most brilliant commercial of all American companies. I'm talking about the "masculine itch" one...
Anywas, my point is that Tivo is a cool device and American commercials are very lame and they themselves are the reason for the commercial success of Tivo.
Most people (myself included) hate the (almost dead but not quite dead) "culture" of the dotcom companies. Lavish offices in swanky locations just to show off and very expensive equipment and furniture for the twenty-somethings calleing themselves C*O and fast talking 'know nothing' IT pseudo-consultants. This whole farce would drive a saint to insanity. Now that most of them are titsup.com hopefully new and stable startups will keep popping up and who knows we may see the resurection of uber-cool so called basement startups(tm). Just the way it used to be in the eighties. Because you don't build a company by spending wads of money first. You build it by having a good product that people want first and growing from there. Good riddance dotcom world! Don't come back any time soon.
MS has a win-win situation on their hands. They are once again embracing and extinguishing, pardon me, extending a file format. Naturally the danger here is the mighty hand of DOJ but hey, this time they have a "legitimate" reason for this since the MP3 format has no content protection. The ultimate argument for MS will be that they are replacing the inferior standard with a better one that honours the IP of the music industry. MS just can't lose here. They will be able to do this and still come out clean as a whistle. Do you really think that the DOJ will stand up against Microsoft's extermination of the "evil" MP3? I say MP3 is doomed as a format already. Fear the power of Redmond.
Yahoo is joining that one elite group of dotcoms that are actually turning profit. Kudos!
You wouldn't spot sarcasm if it bit you in the ass would you?
Indrema had a superb tech and using Linux gave them the edge to surpass all competition on the technical front. They just did not have the financial backing all the industry titans enjoy. It was a brilliant idea and they guys gave their best. I'm sure it will one day raise like a Phoenix from its ashes and the world will enjoy a Free gaming platform. So please stop trolling about one mishap this little bump along the way to the ultimate glory of the superior OS.
What? Of course I need karma points. Go sue me asshole!
Man if I had moderating points they'd all go to ya! Sweet! The rumour has it that Miguel was so fascinated with MS tech that he applied for a job with them and decided to mingle with the Open Sores crowd after MS turned him down.
Bonobo is a clone of Microsoft COM/OLE written by Miguel De Icaza after MS rejected his job application. Moderating morons all I said above is true. Check before moderating down.