The world has enough loser hackers who learned to code in their teens and think they know something about anything. Let them get into it themselves if they are interested, then they can get on a CompSci course in college and not be saddled with 10 years of bad technique, bad habits and stupid languages like BASIC.
Try Netbeans or IntelliJ. Their webapp support is years ahead of Eclipse. Also - you might want to look at the Stripes framework. It's an MVC framework that makes building small to medium webapps pretty darn easy. It also integrates with Spring and JPA.
Users *can* be a pain. Where I work though, there's an extremely small chance that a situation like this would happen.
Hey I tried to install windows 7 alpha but now my computer doesn't work?
Our company machines require a password to boot from anything but the hard drive. This user would be more likely to call me about getting it installed rather than asking for support after the fact. Even if he somehow managed to guess the password, the fact that he had to do so likely indicates that he's not going to be calling my helpdesk to get support for it, and the fact that he can't log into the domain to access his documents or e-mail means that his machine would be re-imaged by lunchtime.
Seriously, you have either that broad a system policy, a decent upgrade policy, or very dull people working or you. Where I work, the only supported systems are the ones the company provided that are often not adequate for the needs of the users they've been supplied to. Many users bring their personal Mac to work because the PC they were given was a piece of crap, even though it was running XP. Ever try to get a designer to use a PC? Ever get a user who has a screw-driver, opens up the chasis and resets the BIOS with the reset jumper? It's not hard.
I have a problem with my computer since I installed mega-zob-toolbar; please fix it.
We have a corporate antivirus to help reduce attacks like that, but if they fail, then this is part of my job. Most users, realizing that it takes significant amounts of time away from their productivity, tend to ask what they can do to avoid it in the future. The majority of virus attacks I get are based on ignorance, not malice.
Wait - people WANT to be productive - now I really think you are living in some parallel dimension.
My kid gave me Adobe CS12 Mega Ultra Designer Pack-DOMINO-REPACK-XXXX to edit that PDF can I have admin right to install it?
First, a quick google search shows that DOMiNO releases DVD rips of movies and isn't a software release group. That said, the majority of the users at work will call me if they need help editing the PDF file in the first place, not asking for help installing 5 DVDs and running a keygen. They know their coworkers can do it, and if they need Acrobat installed on their machines and don't have it, they know that all it takes is a phone call to my desk and I'm going to work on solving their problem.
So what happens when a web developer, Bob, who is working on a site, but graphics person Jim has handed him a pile of graphics that fundamentally don't work for some reason like they were created at the wrong size by 2 pixels, and Bob's ass is on the line to get the website up by noon, and he doesn't have a copy of Photoshop/Illustrator etc.? He has several choices: 1) Install GIMP and fix the graphic, except that under your scheme he doesn't have admin so strike that. 2) Get Photoshop installed by IT, who will more than likely refuse, citing that it's unnecessary for his job function, where-upon he might go to his manager who will shrug because the budget isn't under his control, and can't make that decision, and his manager's manager is off-site at some management training function (party), 3) send the graphic back to Jim, and blame the release slipping on Jim, who claims he wasn't given the right spec making Jim look bad either way, and Bob look like a whiner; general political BS ensues and the developer gets blamed anyway, pisses of Jim, his Manager and his Manager's manager; lose-lose for him.
Hey, I've been trying to send that DVD by email for the last three days but it doesn't work and by the way the email server is very slow.
This one I could technically see happening, but AFAIK the only person here who uses ISO files is me. On a more generic note (i.e. sending stupidly large files via e-mail), our Exchange s
Re:The only devs that Macs are good for are Mac de
on
Best Developer's Laptop?
·
· Score: 2, Insightful
hundreds of flavors of *nix for free, yet none of them run iMovie, iTunes, iDvd, Photoshop, Illustrator, Aperture, Lightroom, Visio*, Word, Excel, an Exchange client or a dozen other business/personal critical apps for normal human beings.
Do a check - last time I priced a Dell with comparable hardware to a Mac, they were MORE expensive, not less.
I own a lovely Sony Vaio, and ditched it for a 24" iMac which was _cheaper_, faster, ran OS X not Vista, so could do more with less, and supported Apache/Postgresql/PHP/Java without serious pain. It has a better screen, a nicer keyboard, better Bluetooth support, good networking (ever try to get WebDAV to work properly on Vista, or bring up the network neighbourhood screen and not wait less than several minutes?) an excellent built in backup solution that doesn't suck balls, firewire 800 so my external content drive doesn't take forever to transfer large files, which apparently USB sucks at, wireless that actually works (still waiting for wireless to work properly in linux distros), and actually syncs with media players without patching the kernel, or installing really stupid software.
I'll run linux when linux devs stop building more MP3 players and start working on apps that people actually need. I'll run Windows when Microsoft stops re-inventing the wheel every other release and focuses on bringing a stable easy-to-use environment to me. Have you noticed that OS X gets better with each release? What an amazing idea! They add _more_ functionality, _more_ (useful) apps, _more_ performance, _more_ stability, and the upgrade is $50 for a whole family and I don't need a degree in computer science to install it successfully.
Linux on the desktop will never happen until somebody with lots of money comes along and makes it happen. Oh wait - that's Mark Shuttleworth at canonical, and linux on the desktop is still years behind OS X.
The question isn't why would you buy a Mac, it's why wouldn't you? So they cost more. I save the difference in a single week of productivity gains.
The truth is that most users are idiots. Not only that, but they don't give a shit about technology, and don't want to be bothered to because it's hard. If it wasn't hard they wouldn't pay us to fix it when it breaks.
They teach math in school, and most people still can't add two numbers together, or simplify an equation a year after they graduate. They don't even teach tech in schools (at least not to any level worth mentioning).
Also - you can't just tell the users that management didn't give you the budget to buy the tools you need to actually fix the problem quickly, so their down time is a result of management's penny pinching, and that's IF you have clueful IT staff, which is rare because the job is shit and the pay sucks, and they are the least important piece of an organisation simply because they are a cost center and don't generate revenue, so they are often the first to go when the times are tough, which makes the remaining people's jobs suck even worse.
Tech staff are the lowest of the low. They are only there because they can't do without you, and they resent that. You represent their stupidity, they have to call you when they can't figure it out and are therefore stupid. You will never be treated well.
Users will always be bastards to you, and the only human response is to be a bastard back. If you can do better, then bully for you, but you are wasting your effort, and should find a new line of work. in fact I encourage any IT worker to find a new line of work if they are smart because it will burn you out, chew you up and spit you out.
It's yet another demonstration of the professionalism of the MySQL people. Maybe Sun can introduce some level of seriousness about software to MySQL. Oh wait - those are the people that gave us Java; nevermind.
Two words: Explain Plan Three More: Share nothing cluster A date: '00-00-0000 00:00' Two More: Silent truncation One acronym: MVCC Result: Nobody in their right mind uses MySQL.
LAMP has it's place, it's at the bottom of a trash heap. Ever tried to write business objects in PHP? What about dependency injection? Database abstraction? (let's face it PDO is a joke). Hell even prepared statements are a pain in PHP/MySQL (only exist in mysqli, and the implementation is horrible). AOP? You can't even do connection pooling for goodness sake because they turned it off in mysqli, and you need your head read if you are using the regular mysql libraries where the solution to injection attacks is to escape quotes and pray. Do you know how long it takes PHP to parse 80,000 lines of libraries every time a script runs because there is no persistence between requests, so PHP has to parse everything over for each request.
MySQL where foreign keys are silently ignored if you forgot to set your table engine to InnoDB. Where aggregates don't work right, where self referencing updates don't work, so you have to write a program to do what other RDBMSes can do in a single statement. Where your table names are case sensitive, but your text matches aren't. Where you don't have sequences to generate globally unique ids, where bit fields work like a boolean half the time and char half the time. Where mysqldump locks half your database and doesn't get everything by default which you find out too late because you didn't know any better.
Apache where the recommended default for MaxClients is 256, which anybody with a clue knows is insane for dynamic websites, but most sysadmins put in anyway. PHP that hasn't been bothered to update itself to work with a threaded Apache that has been around for a decade.
I could go on for ages and ages on this stuff. I mean there are SO many issues with LAMP, it's a minefield. LAMP fails when you need it most, when traffic starts getting heavy.
OR
you could use a system that separates components into libraries and interfaces, allows you to modularize, allows database independence, makes testing easy, has static typing so the compiler can catch 80% of problems before they ever get executed. Has AOP, has IOC that isn't insane and is used by more enterprise shops that anything else.
Ever come across the n+1 selects problem in hibernate. How many junior devs are good enough to figure out whats going on? Not many.
It means if you are fetching 1,000 records from the database it takes as much as 1,000 times as long as it should. Is halving your dev team cost really worth a 1,000 fold increase in hardware costs because your programmers don't understand the technology properly.
So I guess you've never worked in the real world, where corporate mandates a change that has to go out before EOB same day, or where you are half way through a feature set impl, and management changes the priorities. What do you do with that code then? Or when the CTO ups and quits, and his info has to be yanked from the website in 30 minutes or less.
Often you need three branches at least, one for dev, one for staging, and one for production. And that's not counting the system rewrite branch that might be bumbling along in the background perpetuated by another developer whose been assigned to fixing all the wrongs in the current system.
And let's not even start down the path of trying to integrate people's work in subversion who are in a big team when someone has gone three weeks without a commit because they are working on a major new feature. And that's not even starting to talk about database updates and how they have to be applied in the process between co-ordinating developers.
Then we can talk about the offshore development team who isn't trusted to put changes into the main branch without a peer review from someone onshore.
And then you get sued by a competitor who accuses you of stealing their code because you hired one of their developers and they have some random bit of proof, so you have to make a new branch to incorporate whatever random changes legal decides are appropriate to mitigate that, that have to be reviewed by an independent third party who takes three weeks to do anything, and you can't just stop development and wait for them.
And what happens when you have to update the docs that should be in version control too for someone else, particularly manuals for a release that is concurrent with ongoing development, or even historic because something somebody put in the manual six months ago has turned out to be wrong, and they have to be updated for that release that people are still buying.
Showing product to the client (because that's who really calls the shots, not the product manager) every few hours is just plain impractical. Most people don't want to see updates every few hours, they want a finished product in clear review cycles. They don't have the time to review the entire system every few days let alone every few hours. A full QA cycle for a normal sized product can last a week. Do you just stop development while they do a full QA before a release?
And let's not even mention bugs that are transient and may only show up six months down the road when more people start using the system, like race conditions which have become apparent in code that was written two years ago and nobody remembers for toffee. What about storage checking - the system was written by someone who thought that storage would never run out, so why check to see if there is enough space on the disk to complete the operation, and the application crashes and is down for a while while some poor sysadmin tries to find more disk space.
And the application that wasn't maxing out the network until it was deployed at a client with 300 users, and now you have to go back and rework your com model from a year ago. It's not exactly a bug, but you're gonna have to fix it anyway.
What about a large scale integration with a pre-existing piece of software that might take a month to complete? You can unit test each piece of it sure, but you can't release the whole thing until the integration is totally complete.
There are SO many reasons you have to have branches in the real world.
Of course if any of your programs that were actually in use went into swap, your computer would be rendered virtually unusable as it frantically swapped programs in and out just to keep them running.
You think Americans are that smart? Most of them don't seem to care that most of their taxes for the last few years have been paying for the Armed Services to imprison and kill Iraqis, fly around whoever the government picks up to foreign countries to be tortured, and yet not to pay for veteran's health care, the very people that sacrificed their good health to defend our freedom. Yet the man who wants to continue pissing away America's vast wealth is considered a close contender for the presidency.
"I would not be doing business with AT&T any longer were they to allow that sort of behaviour"
then you admit they let the government spy on your ass without a warrant, for free, and then paid off the government not to let the courts prosecute them.
How are you going to stop doing business with your electric company? and your cable company? and your mortgage company that probably lied to thousands of people about their rate plans? All of these people regularly share information with the government, and with anyone who just calls up and pretends to be you.
Most people have a similar set of basic needs including printing. I just installed the latest Ubuntu, and I can't print at all. It won't let me install a printer. This is a constant problem in Linux. Printing is a nightmare. Spreadsheets and Documents are the other stuff. Open Office still sucks, and can't import MS Documents properly. And as a professional programmer, I need a diagramming tool. What the hell is available on Linux? dia? kivio? Please, both are terrible. If you are a programmer and don't need a diagramming tool, then I pity you. Design is a wonderful thing, and a picture says 1000 words. Windows has Visio, and Mac OS X has OmniGraffle, both of which are great tools.
The problem is that platforms always move on. There is always a better technology just around the corner. Some of the 'better' technologies aren't, but some are. Universities and veteran programmers have to spend a great deal of time teaching/learning the new technologies because that's what the marketroids are hiring for, even if they suck. At some point you _are_ going to have to migrate to a new platform because buying people who know the old platform becomes too expensive or too difficult. You just have to plan on migrating every 3 or 4 years, sometimes more often because you can't find people willing to work in the old platform who are any good. Fresh out of Uni programmers only know the new platform, (some universities have stopped teaching C altogether for pete's sake), and often good veterans are unwilling to work with the old clunky system when there are plenty of good jobs in the new system which is better (some of them truly are).
Plus - when Adobe releases Photoshop/Illustrator/Dreamweaver/Flash for Linux, and Microsoft releases Visio and Project for Linux, you might just get some adopters in the business world, until then it's pointless. Without the tools we use every day there is no chance of switching to linux whatsoever. None. Nada. Zip. Zero. And those tools are just the tip of the iceberg.
Lets not even talk about what Firefox looks like in Linux either, or how reliable it seems to be.
Alas CCP's implementation sucks ass compared to WoW - more than a few dozen people in one system, and the whole thing grinds to a halt making play almost impossible, not only that it was a buggy mess for more than a year with nodes going off-line more often than palatable. Eve Online is a horrible mess, which is why I and a bunch of other people quit playing. I Wish to god someone like Blizzard would make an MMO space game because it would be worth playing instead of eve which was a huge waste of time.
Yeah, cos that's a typical use case... NOT.
Simple: Don't
The world has enough loser hackers who learned to code in their teens and think they know something about anything. Let them get into it themselves if they are interested, then they can get on a CompSci course in college and not be saddled with 10 years of bad technique, bad habits and stupid languages like BASIC.
Try Netbeans or IntelliJ. Their webapp support is years ahead of Eclipse. Also - you might want to look at the Stripes framework. It's an MVC framework that makes building small to medium webapps pretty darn easy. It also integrates with Spring and JPA.
Not really - all the good shit is in the closed source version AFAIK.
Users *can* be a pain. Where I work though, there's an extremely small chance that a situation like this would happen.
Hey I tried to install windows 7 alpha but now my computer doesn't work?
Our company machines require a password to boot from anything but the hard drive. This user would be more likely to call me about getting it installed rather than asking for support after the fact. Even if he somehow managed to guess the password, the fact that he had to do so likely indicates that he's not going to be calling my helpdesk to get support for it, and the fact that he can't log into the domain to access his documents or e-mail means that his machine would be re-imaged by lunchtime.
Seriously, you have either that broad a system policy, a decent upgrade policy, or very dull people working or you. Where I work, the only supported systems are the ones the company provided that are often not adequate for the needs of the users they've been supplied to. Many users bring their personal Mac to work because the PC they were given was a piece of crap, even though it was running XP. Ever try to get a designer to use a PC?
Ever get a user who has a screw-driver, opens up the chasis and resets the BIOS with the reset jumper? It's not hard.
I have a problem with my computer since I installed mega-zob-toolbar; please fix it.
We have a corporate antivirus to help reduce attacks like that, but if they fail, then this is part of my job. Most users, realizing that it takes significant amounts of time away from their productivity, tend to ask what they can do to avoid it in the future. The majority of virus attacks I get are based on ignorance, not malice.
Wait - people WANT to be productive - now I really think you are living in some parallel dimension.
My kid gave me Adobe CS12 Mega Ultra Designer Pack-DOMINO-REPACK-XXXX to edit that PDF can I have admin right to install it?
First, a quick google search shows that DOMiNO releases DVD rips of movies and isn't a software release group. That said, the majority of the users at work will call me if they need help editing the PDF file in the first place, not asking for help installing 5 DVDs and running a keygen. They know their coworkers can do it, and if they need Acrobat installed on their machines and don't have it, they know that all it takes is a phone call to my desk and I'm going to work on solving their problem.
So what happens when a web developer, Bob, who is working on a site, but graphics person Jim has handed him a pile of graphics that fundamentally don't work for some reason like they were created at the wrong size by 2 pixels, and Bob's ass is on the line to get the website up by noon, and he doesn't have a copy of Photoshop/Illustrator etc.? He has several choices: 1) Install GIMP and fix the graphic, except that under your scheme he doesn't have admin so strike that. 2) Get Photoshop installed by IT, who will more than likely refuse, citing that it's unnecessary for his job function, where-upon he might go to his manager who will shrug because the budget isn't under his control, and can't make that decision, and his manager's manager is off-site at some management training function (party), 3) send the graphic back to Jim, and blame the release slipping on Jim, who claims he wasn't given the right spec making Jim look bad either way, and Bob look like a whiner; general political BS ensues and the developer gets blamed anyway, pisses of Jim, his Manager and his Manager's manager; lose-lose for him.
Hey, I've been trying to send that DVD by email for the last three days but it doesn't work and by the way the email server is very slow.
This one I could technically see happening, but AFAIK the only person here who uses ISO files is me. On a more generic note (i.e. sending stupidly large files via e-mail), our Exchange s
hundreds of flavors of *nix for free, yet none of them run iMovie, iTunes, iDvd, Photoshop, Illustrator, Aperture, Lightroom, Visio*, Word, Excel, an Exchange client or a dozen other business/personal critical apps for normal human beings.
Do a check - last time I priced a Dell with comparable hardware to a Mac, they were MORE expensive, not less.
I own a lovely Sony Vaio, and ditched it for a 24" iMac which was _cheaper_, faster, ran OS X not Vista, so could do more with less, and supported Apache/Postgresql/PHP/Java without serious pain. It has a better screen, a nicer keyboard, better Bluetooth support, good networking (ever try to get WebDAV to work properly on Vista, or bring up the network neighbourhood screen and not wait less than several minutes?) an excellent built in backup solution that doesn't suck balls, firewire 800 so my external content drive doesn't take forever to transfer large files, which apparently USB sucks at, wireless that actually works (still waiting for wireless to work properly in linux distros), and actually syncs with media players without patching the kernel, or installing really stupid software.
I'll run linux when linux devs stop building more MP3 players and start working on apps that people actually need. I'll run Windows when Microsoft stops re-inventing the wheel every other release and focuses on bringing a stable easy-to-use environment to me. Have you noticed that OS X gets better with each release? What an amazing idea! They add _more_ functionality, _more_ (useful) apps, _more_ performance, _more_ stability, and the upgrade is $50 for a whole family and I don't need a degree in computer science to install it successfully.
Linux on the desktop will never happen until somebody with lots of money comes along and makes it happen. Oh wait - that's Mark Shuttleworth at canonical, and linux on the desktop is still years behind OS X.
The question isn't why would you buy a Mac, it's why wouldn't you? So they cost more. I save the difference in a single week of productivity gains.
The truth is that most users are idiots. Not only that, but they don't give a shit about technology, and don't want to be bothered to because it's hard. If it wasn't hard they wouldn't pay us to fix it when it breaks.
They teach math in school, and most people still can't add two numbers together, or simplify an equation a year after they graduate. They don't even teach tech in schools (at least not to any level worth mentioning).
Also - you can't just tell the users that management didn't give you the budget to buy the tools you need to actually fix the problem quickly, so their down time is a result of management's penny pinching, and that's IF you have clueful IT staff, which is rare because the job is shit and the pay sucks, and they are the least important piece of an organisation simply because they are a cost center and don't generate revenue, so they are often the first to go when the times are tough, which makes the remaining people's jobs suck even worse.
Tech staff are the lowest of the low. They are only there because they can't do without you, and they resent that. You represent their stupidity, they have to call you when they can't figure it out and are therefore stupid. You will never be treated well.
Users will always be bastards to you, and the only human response is to be a bastard back. If you can do better, then bully for you, but you are wasting your effort, and should find a new line of work. in fact I encourage any IT worker to find a new line of work if they are smart because it will burn you out, chew you up and spit you out.
It's yet another demonstration of the professionalism of the MySQL people. Maybe Sun can introduce some level of seriousness about software to MySQL. Oh wait - those are the people that gave us Java; nevermind.
Two words: Explain Plan
Three More: Share nothing cluster
A date: '00-00-0000 00:00'
Two More: Silent truncation
One acronym: MVCC
Result: Nobody in their right mind uses MySQL.
LAMP has it's place, it's at the bottom of a trash heap. Ever tried to write business objects in PHP? What about dependency injection? Database abstraction? (let's face it PDO is a joke). Hell even prepared statements are a pain in PHP/MySQL (only exist in mysqli, and the implementation is horrible). AOP? You can't even do connection pooling for goodness sake because they turned it off in mysqli, and you need your head read if you are using the regular mysql libraries where the solution to injection attacks is to escape quotes and pray. Do you know how long it takes PHP to parse 80,000 lines of libraries every time a script runs because there is no persistence between requests, so PHP has to parse everything over for each request.
MySQL where foreign keys are silently ignored if you forgot to set your table engine to InnoDB. Where aggregates don't work right, where self referencing updates don't work, so you have to write a program to do what other RDBMSes can do in a single statement. Where your table names are case sensitive, but your text matches aren't.
Where you don't have sequences to generate globally unique ids, where bit fields work like a boolean half the time and char half the time. Where mysqldump locks half your database and doesn't get everything by default which you find out too late because you didn't know any better.
Apache where the recommended default for MaxClients is 256, which anybody with a clue knows is insane for dynamic websites, but most sysadmins put in anyway. PHP that hasn't been bothered to update itself to work with a threaded Apache that has been around for a decade.
I could go on for ages and ages on this stuff. I mean there are SO many issues with LAMP, it's a minefield. LAMP fails when you need it most, when traffic starts getting heavy.
OR
you could use a system that separates components into libraries and interfaces, allows you to modularize, allows database independence, makes testing easy, has static typing so the compiler can catch 80% of problems before they ever get executed. Has AOP, has IOC that isn't insane and is used by more enterprise shops that anything else.
God, I've never worked for a company that gave a Christmas bonus worth mentioning, googlers should be happy with anything!!
Ever come across the n+1 selects problem in hibernate. How many junior devs are good enough to figure out whats going on? Not many.
It means if you are fetching 1,000 records from the database it takes as much as 1,000 times as long as it should. Is halving your dev team cost really worth a 1,000 fold increase in hardware costs because your programmers don't understand the technology properly.
So I guess you've never worked in the real world, where corporate mandates a change that has to go out before EOB same day, or where you are half way through a feature set impl, and management changes the priorities. What do you do with that code then? Or when the CTO ups and quits, and his info has to be yanked from the website in 30 minutes or less.
Often you need three branches at least, one for dev, one for staging, and one for production. And that's not counting the system rewrite branch that might be bumbling along in the background perpetuated by another developer whose been assigned to fixing all the wrongs in the current system.
And let's not even start down the path of trying to integrate people's work in subversion who are in a big team when someone has gone three weeks without a commit because they are working on a major new feature. And that's not even starting to talk about database updates and how they have to be applied in the process between co-ordinating developers.
Then we can talk about the offshore development team who isn't trusted to put changes into the main branch without a peer review from someone onshore.
And then you get sued by a competitor who accuses you of stealing their code because you hired one of their developers and they have some random bit of proof, so you have to make a new branch to incorporate whatever random changes legal decides are appropriate to mitigate that, that have to be reviewed by an independent third party who takes three weeks to do anything, and you can't just stop development and wait for them.
And what happens when you have to update the docs that should be in version control too for someone else, particularly manuals for a release that is concurrent with ongoing development, or even historic because something somebody put in the manual six months ago has turned out to be wrong, and they have to be updated for that release that people are still buying.
Showing product to the client (because that's who really calls the shots, not the product manager) every few hours is just plain impractical. Most people don't want to see updates every few hours, they want a finished product in clear review cycles. They don't have the time to review the entire system every few days let alone every few hours. A full QA cycle for a normal sized product can last a week. Do you just stop development while they do a full QA before a release?
And let's not even mention bugs that are transient and may only show up six months down the road when more people start using the system, like race conditions which have become apparent in code that was written two years ago and nobody remembers for toffee. What about storage checking - the system was written by someone who thought that storage would never run out, so why check to see if there is enough space on the disk to complete the operation, and the application crashes and is down for a while while some poor sysadmin tries to find more disk space.
And the application that wasn't maxing out the network until it was deployed at a client with 300 users, and now you have to go back and rework your com model from a year ago. It's not exactly a bug, but you're gonna have to fix it anyway.
What about a large scale integration with a pre-existing piece of software that might take a month to complete? You can unit test each piece of it sure, but you can't release the whole thing until the integration is totally complete.
There are SO many reasons you have to have branches in the real world.
Of course if any of your programs that were actually in use went into swap, your computer would be rendered virtually unusable as it frantically swapped programs in and out just to keep them running.
You think Americans are that smart? Most of them don't seem to care that most of their taxes for the last few years have been paying for the Armed Services to imprison and kill Iraqis, fly around whoever the government picks up to foreign countries to be tortured, and yet not to pay for veteran's health care, the very people that sacrificed their good health to defend our freedom. Yet the man who wants to continue pissing away America's vast wealth is considered a close contender for the presidency.
Wow - you win an award for this one.
"I would not be doing business with AT&T any longer were they to allow that sort of behaviour"
then you admit they let the government spy on your ass without a warrant, for free, and then paid off the government not to let the courts prosecute them.
How are you going to stop doing business with your electric company? and your cable company? and your mortgage company that probably lied to thousands of people about their rate plans? All of these people regularly share information with the government, and with anyone who just calls up and pretends to be you.
You think you can get customer service in a country where companies like AT&T own the government. So you swallowed the bull-crap about a free country?
Most people have a similar set of basic needs including printing. I just installed the latest Ubuntu, and I can't print at all. It won't let me install a printer. This is a constant problem in Linux. Printing is a nightmare. Spreadsheets and Documents are the other stuff. Open Office still sucks, and can't import MS Documents properly. And as a professional programmer, I need a diagramming tool. What the hell is available on Linux? dia? kivio? Please, both are terrible. If you are a programmer and don't need a diagramming tool, then I pity you. Design is a wonderful thing, and a picture says 1000 words. Windows has Visio, and Mac OS X has OmniGraffle, both of which are great tools.
The problem is that platforms always move on. There is always a better technology just around the corner. Some of the 'better' technologies aren't, but some are. Universities and veteran programmers have to spend a great deal of time teaching/learning the new technologies because that's what the marketroids are hiring for, even if they suck. At some point you _are_ going to have to migrate to a new platform because buying people who know the old platform becomes too expensive or too difficult. You just have to plan on migrating every 3 or 4 years, sometimes more often because you can't find people willing to work in the old platform who are any good. Fresh out of Uni programmers only know the new platform, (some universities have stopped teaching C altogether for pete's sake), and often good veterans are unwilling to work with the old clunky system when there are plenty of good jobs in the new system which is better (some of them truly are).
For most people who eat meat, turds float.
Plus - when Adobe releases Photoshop/Illustrator/Dreamweaver/Flash for Linux, and Microsoft releases Visio and Project for Linux, you might just get some adopters in the business world, until then it's pointless. Without the tools we use every day there is no chance of switching to linux whatsoever. None. Nada. Zip. Zero. And those tools are just the tip of the iceberg.
Lets not even talk about what Firefox looks like in Linux either, or how reliable it seems to be.
Have you ever heard of Passive mode? Plays just fine with NATs
If you only pay $55/mo in electric you must be living in either a very small place, or somewhere where electricity is unbelievably cheap.
I'm pretty sure most people agree that waterfall is dead.
Alas CCP's implementation sucks ass compared to WoW - more than a few dozen people in one system, and the whole thing grinds to a halt making play almost impossible, not only that it was a buggy mess for more than a year with nodes going off-line more often than palatable. Eve Online is a horrible mess, which is why I and a bunch of other people quit playing. I Wish to god someone like Blizzard would make an MMO space game because it would be worth playing instead of eve which was a huge waste of time.
Except for several basic things:
There is still no sign of a good MS Visio clone.
There is still no sign of a good MS Access clone.
Nobody worth mentioning is shipping Open Office with new PCs
Not counting the $600/year you have to PAY to MySQL to license it compared to the $0/year for Postgresql .
After all, it is the bottom line.