1. Commenting code - absolute requirement. But using standard ways of doing things makes the time for a new person to board much less (how do you store connection string information and where. how do you prefer to do database connection pooling. naming conventions). Lack of communcation will just have things built upon the last version of the standards or whatever the developer feels like.
2. A program should only do one thing functionaly, but to do so it will have to do manythings technically (user credentials, file manipulation, data display, database connections, etc.) Programs should be components and applications made of tightly integrated components. But what components did the programmer in the next room already make for you? Whats he about to release - could part of it be split at a lower level to serve both of you? Maybe its not the same at all but the concept is similar - approaching it together will add consistancy and cover the angles better.
3. Great, but not comprehensive enough. Your not sharing the value of the collective knowledge, and are dependant on plain text to communicate the same meaning to everyone.
How often do you re-invent the wheel? Has someone inside our outside of your company already made part of your job easier and you don't know it?
Lack of communication (both formal and informal) may increase time to devote to development, but it will cost more is software reuse, more time troubleshooting, and make application support much more difficult (there's only one person that can fix that, and they are on vacation or quit etc...).
If its not an immediate requirement from your customers, including it in your estimates/costs is overcharging them. Good design makes porting much easier, and consideration should be taken, however if portability is not a requirement, simplicity of design and speed/cost of implementation should take precidence.
This has nothing to do with locking in customers, or who wrote the article, it has to do with economics of commercial software development. Open source, free (price), software that is being developed for free by the community has no formal customer and no formal specification, thus portability should be a requirement to ensure flexibility and the development situation supports the added complexity and time required (no budget, no time to market concerns).
I applaud you for using linux in this situation - it is what I would have done also.
However your argument is a little weak: Don't know exactly what you would have paid extra for on Windows. You would have paid for a Windows license, but Microsoft has pretty low pricing for nonprofits. That windows license would have included a web server IIS that natively supports dynamic conent (ASP & ASP.NET, a gui for accounts administration - that they can use remotely if you let them, an SMTP server is also included. PHP, mySQL & Perl (and many more) are all available for windows. There are also a tonn of free ware sites for windows applications - from code libraries to utilities.
Now if your argument is that you would have had to pay for windows you have an excellent point. If its that you would have spent an extra hour downloading security patches you have a point as well.
But in general there aren't that many cases on Windows that you'd have to "Pay-Extra".
Sadly the Ontario Ministry of Education has long been underfunded and has looked to alternative software packages. Things like Unisys Icons and other software packages created at the university of Waterloo are common is Ontario schools.
Strictly a remote session, and even then as infrequent and short sessions as possible. Its a sweet machine but you don't want to be on a production machine unless you have to.
The real point is that there are lots of machines capable of maintaining a significant database in ram. Even our test system "hoss" is 8 processor 12GB of ram.
gee, I dunno, I'm only sitting on a sun box that has 24GB RAM and 12 processors right now, can't imagine why ANYONE would spend the money for an Oracle db (and an Oracle admin) for a database small enough to fit in RAM.....
the biggest fear with a remote exploit is that you won't know that it has happened, or what has been touched.
In a physical access exploit, you are much more likely to leave a trail (ie you took the whole machine, or changed the root password).
Also remote attacks are much more common as they less real to the attacker, giving them a sense that they are just playing a game and have little chance of getting caught.
I broke up with her. aka: kicked her to the curb. I especially enjoy picturing her bouncing a couple times down the driveway, finally coming to a skidding stop as she hits the curb.
My family also. This is the third year we have not exchanged gifts. Its fantastic.
There is still one side that does a gift exchange, but that means each of us only has to buy one gift.
I would have had to buy the girlfriend something, but instead I let her go skidding to curb last week - making me even more relaxed;) (ever notice how nutty chicks get this time of year?)
Hence why there are so many people that bash Microsoft.
However there are long running commercial product lines, all fed by yearly support costs.
Look at AIX, HP Unix, OS/390, and AS/400 software packages as specific examples, sometimes there are upgrades available but often not. Computer Associates and IBM are famous for long support contracts.
There are manufacturing applications that are still running on OLD VAX systems that are still actively supported by their creators.
The adrenaline rush as you mash the gas petal as the light turns green, poping the clutch to allow the tires just the right amount of spin. Clutch/Shift the road zooms past as you hit the speed limit in a split second, then down shift and tap the brake as you dive into the tightly wound highway on ramp, then back to the accleration as soon as the apex of the turn is on you.
Yes you are sorta of right. 40 watt draw difference right:
Watts * hours * days / kilo 40W * 24 * 365 / 1000 = 350.4 KwH at 6 cents / KwH = $21.02 at 8 cents / KwH = $28.03
so if you keep the machine running for a full year, non stop it costs you around $25 more. So if a Athlon is $50 less you can run it for 2 years straight before it costs you more. That is assuming the same $$$ for the motherboard.
But then you could also look at investing that $50 or something;)
Also this assums that the chip pulls full wattage all the time which it doesn't.
So I'll keep buying a power hungry athlon and enjoy the extra speed and knowing I'm funding the underdog.
The poster was not suggesting that there was any problems with the stability of the apps once they are set up right, or that there were any problems with compatiblity between systems.
Here's an example of what they are talking about:
Take an average MSCE. Give them whatever type of box they like (NT, XP, 2K whatever). Ask them to get Tomcat running. Time them. If it takes them longer than 10 minutes (and it will) to get it running properly there needs to be work done. Now repeat for Forte, Netbeans, Eclipse, etc...
The point isn't that it can't be done its that its not easy enough yet.
Another case in point, take a non-technical Mom. Explain Classpaths, src vrs class, and java vs javac to her to the point where she can understand it. Now repeat with VB. The knowledge required is just much less.
That said all the applications you mentioned are incredible. I love them. To be honest Java is the neatest thing in development I've worked with (and thats saying ALOT). When done right its provides stellar results.
This isn't the end of PGP. OpenPGP is always going to be around. (or almost always - its open but everyone could decide to trash it if they like)
This is the end of commercial PGP. This isn't a good thing for PGP to be used in commercial settings. Also this is the end of the PGPDesktop which was the only thing close to an option for (l)users.
Hopefully NSI will release the code in a manner that will allow a smaller company to add value and repackage it to large corporations.
I installed it on two machines this week. Installed smoothly, and no adverse affects so far. Seems slick.
Being a Canadian working in the US the alchol and fuel taxes are what I notice the most.
24 beer in Ontario is $34 (CND), where as 24 beer here is about $15. An no, the beer isn't better in Canada, I'm comparing Molsen Canadian prices.
Gasoline is also about 50% less...
1. Commenting code - absolute requirement. But using standard ways of doing things makes the time for a new person to board much less (how do you store connection string information and where. how do you prefer to do database connection pooling. naming conventions). Lack of communcation will just have things built upon the last version of the standards or whatever the developer feels like.
2. A program should only do one thing functionaly, but to do so it will have to do manythings technically (user credentials, file manipulation, data display, database connections, etc.) Programs should be components and applications made of tightly integrated components. But what components did the programmer in the next room already make for you? Whats he about to release - could part of it be split at a lower level to serve both of you? Maybe its not the same at all but the concept is similar - approaching it together will add consistancy and cover the angles better.
3. Great, but not comprehensive enough. Your not sharing the value of the collective knowledge, and are dependant on plain text to communicate the same meaning to everyone.
How is your software supported?
How often do you re-invent the wheel? Has someone inside our outside of your company already made part of your job easier and you don't know it?
Lack of communication (both formal and informal) may increase time to devote to development, but it will cost more is software reuse, more time troubleshooting, and make application support much more difficult (there's only one person that can fix that, and they are on vacation or quit etc...).
Portability takes time and money to implement.
If its not an immediate requirement from your customers, including it in your estimates/costs is overcharging them. Good design makes porting much easier, and consideration should be taken, however if portability is not a requirement, simplicity of design and speed/cost of implementation should take precidence.
This has nothing to do with locking in customers, or who wrote the article, it has to do with economics of commercial software development. Open source, free (price), software that is being developed for free by the community has no formal customer and no formal specification, thus portability should be a requirement to ensure flexibility and the development situation supports the added complexity and time required (no budget, no time to market concerns).
I applaud you for using linux in this situation - it is what I would have done also.
However your argument is a little weak:
Don't know exactly what you would have paid extra for on Windows. You would have paid for a Windows license, but Microsoft has pretty low pricing for nonprofits. That windows license would have included a web server IIS that natively supports dynamic conent (ASP & ASP.NET, a gui for accounts administration - that they can use remotely if you let them, an SMTP server is also included. PHP, mySQL & Perl (and many more) are all available for windows. There are also a tonn of free ware sites for windows applications - from code libraries to utilities.
Now if your argument is that you would have had to pay for windows you have an excellent point. If its that you would have spent an extra hour downloading security patches you have a point as well.
But in general there aren't that many cases on Windows that you'd have to "Pay-Extra".
Sadly the Ontario Ministry of Education has long been underfunded and has looked to alternative software packages. Things like Unisys Icons and other software packages created at the university of Waterloo are common is Ontario schools.
3-M actually has a freeware/shareware post-it program available.
If you are willing to pay, they make the post-its sendable to other people.
hmmm.. I'm not far from morrisville, PA. I think a visit may be in order....
Now where did I leave that big black baseball bat?
you didn't hit the order button.
They are doing euro's and us dollars at par.
Grand total including shipping is less than $99
Strictly a remote session, and even then as infrequent and short sessions as possible. Its a sweet machine but you don't want to be on a production machine unless you have to.
The real point is that there are lots of machines capable of maintaining a significant database in ram. Even our test system "hoss" is 8 processor 12GB of ram.
gee, I dunno, I'm only sitting on a sun box that has 24GB RAM and 12 processors right now, can't imagine why ANYONE would spend the money for an Oracle db (and an Oracle admin) for a database small enough to fit in RAM.....
the biggest fear with a remote exploit is that you won't know that it has happened, or what has been touched.
In a physical access exploit, you are much more likely to leave a trail (ie you took the whole machine, or changed the root password).
Also remote attacks are much more common as they less real to the attacker, giving them a sense that they are just playing a game and have little chance of getting caught.
I broke up with her. aka: kicked her to the curb. I especially enjoy picturing her bouncing a couple times down the driveway, finally coming to a skidding stop as she hits the curb.
My family also. This is the third year we have not exchanged gifts. Its fantastic.
;) (ever notice how nutty chicks get this time of year?)
There is still one side that does a gift exchange, but that means each of us only has to buy one gift.
I would have had to buy the girlfriend something, but instead I let her go skidding to curb last week - making me even more relaxed
Hence why there are so many people that bash Microsoft.
However there are long running commercial product lines, all fed by yearly support costs.
Look at AIX, HP Unix, OS/390, and AS/400 software packages as specific examples, sometimes there are upgrades available but often not. Computer Associates and IBM are famous for long support contracts.
There are manufacturing applications that are still running on OLD VAX systems that are still actively supported by their creators.
no its not about maximum speed.
its about acceleration.
The adrenaline rush as you mash the gas petal as the light turns green, poping the clutch to allow the tires just the right amount of spin. Clutch/Shift the road zooms past as you hit the speed limit in a split second, then down shift and tap the brake as you dive into the tightly wound highway on ramp, then back to the accleration as soon as the apex of the turn is on you.
anyone else find it hilarious that the site is slashdotted?
:)
I know its probably hosted by someone else but come on just the idea that we slashdotted a cray is awesome
Yes you are sorta of right.
;)
40 watt draw difference right:
Watts * hours * days / kilo
40W * 24 * 365 / 1000 = 350.4 KwH
at 6 cents / KwH = $21.02
at 8 cents / KwH = $28.03
so if you keep the machine running for a full year, non stop it costs you around $25 more. So if a Athlon is $50 less you can run it for 2 years straight before it costs you more. That is assuming the same $$$ for the motherboard.
But then you could also look at investing that $50 or something
Also this assums that the chip pulls full wattage all the time which it doesn't.
So I'll keep buying a power hungry athlon and enjoy the extra speed and knowing I'm funding the underdog.
You missed the biggest point: Cost/performance.
AMD chips have been shown over and over again to provide greater performance at less cost than Intel.
huhn?
;)
Are these not reasons for apps to move away from X if there is a cleaner, easier solution available?
No one said anything couldn't done, or had to be done.
And go help your mother statically compile everything into the X server
uhm, ease of use, improved gui, less of reliance on packages, and other cruft that accumulates over the life of a piece of software.
Just the thought of being rid of X and into the uber sweet arena of Be's font handling would be swell.
But what about somesort of compatibility for existing X apps? There's way to many great apps out there to just junk....
Or do we have to run X for that?
Did you read the post?
The poster was not suggesting that there was any problems with the stability of the apps once they are set up right, or that there were any problems with compatiblity between systems.
Here's an example of what they are talking about:
Take an average MSCE. Give them whatever type of box they like (NT, XP, 2K whatever). Ask them to get Tomcat running. Time them. If it takes them longer than 10 minutes (and it will) to get it running properly there needs to be work done. Now repeat for Forte, Netbeans, Eclipse, etc...
The point isn't that it can't be done its that its not easy enough yet.
Another case in point, take a non-technical Mom. Explain Classpaths, src vrs class, and java vs javac to her to the point where she can understand it. Now repeat with VB. The knowledge required is just much less.
That said all the applications you mentioned are incredible. I love them. To be honest Java is the neatest thing in development I've worked with (and thats saying ALOT). When done right its provides stellar results.
This isn't the end of PGP. OpenPGP is always going to be around. (or almost always - its open but everyone could decide to trash it if they like)
This is the end of commercial PGP. This isn't a good thing for PGP to be used in commercial settings. Also this is the end of the PGPDesktop which was the only thing close to an option for (l)users.
Hopefully NSI will release the code in a manner that will allow a smaller company to add value and repackage it to large corporations.