If you ever want to run an Itanium2 with Linux you'll need Redhat Advanced Server. And cough up the dough too. For both the machine and the software license. Intel did a deal with Redhat to give first shot at itanium2's for porting. And with an Itanium2 there is a lot of porting to be done.
I'd personaly go with an opteron myself. You dont need to reorganize your software for the architecture so it will run efficiently. Also you are not tied to Intels linux compilers which are pretty poor quality for the itanium2. Gcc has been ported to the itanium2, but it has not been optimized well yet. And Intels compiler is just very very buggy.
I was in exactly your situation. I spent 10 months working 60-80 houre weeks with the other programmer trying to get the project done on time. It wasnt even Softwares fault for the project being late. It dependend on some hardware which was late getting done. We did end up finishing it, albiet late. That was about a year ago. I'm still suffering the consequences. I got burnt out, and management did not help in the slightest. They resented the fact that the two of us took so long to write around 500K lines of code (the project was quite involved and we had to skip over many things that could have made it more usefull). I grew to hate my job, then I got layed off because I wasnt performing how they expected me to. I'm still unemployed, but my life is much better than it was when I was working for that place.
I will never put out that much effort unless I have appropriate monetary compensation and a ironclad definition of exactly how long I will be working beyond the normal 8 hour day effort, and all of this in writing. I dont expect to ever have this, so I expect I'll never be working this hard again. But this okay with me. At least I'll have my sanity.
Anyways, you can bet my quality of work suffered from this. It takes concentration and creative thinking to program well. If you are so stressed out that life has no joy anymore, you sure as hell wont be able to code well.
Dont let the managers sucker you into working like that, unless they make it worth your effort. And if its a matter of keeping your job, I wouldnt let that drive me to work myself to death. I'd rather be trimming grass on some lawn crew than driving myself insane.
I used to work for a small company (12 people) and was one of their two programmers. I also did all the system administration in my 'copious' amount of time. A month after I began working for this company, their server was hacked for the third time. Their domain was on at least a few hacking lists. So, I went to battle stations, setup a firewall, rebuilt the server, assigned everyone new and ulgy passwords, hide all those horrible services that used to be open to the world (like samba), and lo and behold no problems at all for the 2 years I worked there.
Everyone in the company hated the fact that I gave them purely random and truely ugly looking passwords. But, I just told them to write it down somewhere and keep it on their desk. I dont think that company is a target for industrial espionage, and if it is, no physical security measures that they were willing to pay for would stop such a thing. Their idea of physical security measures is a door lock, and maybe the deadbolt being thrown on a regular house door. So, if they have passwords hanging off their monitor, its not that big of a deal.
So the only real defense was the firewall and the couple of services I allowed through (ssh, http, smtp, dns). Notice, no plain text protocols that use passwords.:) And I was annoyed at having to allow dns through. It has too much of a history of being hacked.
Moral of the story, if you can live with users putting their passwords on sticky notes on the monitors, they wont complaign too much about the assigned passwords.
I used to work for Raytheon on sattelite control systems for the military. We were simply not allowed to use open source at all, period, end of story. The reason was that they were afraid of people (or I suppose other governements) working in viruses into the code which could then cause problems when the code was used.
The only software we could use was Official Solaris Software (tm). Have you ever used a Solaris box without GNU tools? Its a real pain in the rear. We constantly came across situations where it would have been wonderfull to use XYZ opensource project, but we had no option to use it all.
After working there for 2 years, my boss finaly went to the security group and put it to them. He asked if there was any way we could use open source. After a month of deliberation and constant proding from us and as many high level people that we could find, we finaly got an answer. 'If someone reads every line of code and signs his name to a document stating that there are no viruses in this code, then we will let you have the code'. Which is just a fancy way of saying 'no'.
So, to tie it back to your post, I'm surprised you can even consider open source. Much less worry about the GPL.
I see people talking about Solaris debugger, dbx and praising it. I can not see how anyone can like that program. Its the worst debugger I have ever used.
I worked for 3 years at a large aerospace company and we did some truly large C++ projects. They were all at least nominaly threaded because they used a CORBA implementation (which was threaded itself). I can not count the number of times that dbx core dumped on me because I tried to look at the wrong symbol name.
Granted, it had nothing to do with threads, but the linker and symbol demangling. But given the fact that it was almost impossible to use on any project of any good size, I do not count that as a good debugger. Also, about a 1/3rd of the time the debugger failed to actualy stop a progam at break points. In my experience, the MSVC++ debugger is much more stable and usable. Dont get me wrong though, I am a Linux person and cant stand Windows. I just have to port Linux apps to Windows for my current job.
Just give me linux and I'll be a happy person. (that includes gdb, with its couple of flaws) Flaws in an Open Source product dont bother me at all. They will be fixed. Flaws in a coporate product will only be fixed if the company can make more money because of it. Guarenteed.
I havent exactly found Java to be too slow either. But the only reason that is so is because I've only written GUI's in Java. Which is, in my opinion, the best thing about Java. Its GUI toolkit is quite decent, and its portable (the best part).
I have not experienced Java's slowness as ever being a serious problem. If I'm doing number crunching, I use JNI. If I'm doing network stuff, then the interpreter is always faster than the networks ability
So....you dont bother to use Java when the going gets tough?:)
I personaly use WindowMaker myself with no KDE or GNOME. Both KDE and GNOME will suck up your memory. GNOME is generaly worse. Since you are at 32M, you'll want to be somewhat concious of usage. Those office applications will want to have all that they can get.
WindowMaker is a decently usable windowmanager that does not take up a lot of memory. Do NOT use Enlightenment.:) You might even want to look at fvwm2. That was a great window manager about 7 years ago. There are more flashy managers around, but fvwm2 was solid, just about bug free, and didnt bloat. And besides, most window managers now a days are based on fvwm2.
The distribution doesnt realy matter. As long as its an up to date distribution with the 2.2 kernel. RedHat is on 6.2 now. With them you always have to wait one or two minor versions after a new major version for them to work out the bugs.
>> 3) I too have had to fix the source code to Linux once -- for my own use. But what happens when you want to distribute your code and it relies on the 'fixed' code? Do you have to wait for your fix to be integrated into the mainstream? Furthermore, though, why should you even have to look into the source code? Ao good API should leave nothing questionable enough for the source code to be consulted.
And you wish to wait on Microsoft to integrate fixes to the proprietary source? All the open source setups that I have seen have responded much faster verging on infinitely faster than any company on a bug fix. And I say 'inifinitely' because many times they simply never respond at all and never fix the problem. The beuaty of open source is that if you are inclined, you can go fix the bug yourself, send the patch with the fix to the maintainers and that saves them the time of figuring out the bug themselves.
You miss the point of an API. An API is to abstract out everything that a person needs to know about how to use this 'black box'. Regardless of how well they did the abstraction, the black box may simply be functionaly broken. An API has nothing to do with that. Open source allows you to go fix that bug and continue on in your development.
I spent 2 years developing in Windows 95 and Dos. I as well, will never work on those platforms again. Let me add to FascDot's list:
1) The single most important point. Absolute memory addressing in Windows is a sin. Since all programs use absolute memory addressing, when you load a program after another, that program has different addresses for any pointers that it has. If you have a bad pointer variable which causes a crash and you load the program up the debugger, the behavior of the program changes 9 times out of 10. Makes the debugger useless.
2) Simple stability of windows itself. A Dos mode program is even worse. And working on a dos mode program in Windows does not help at all. It just makes the reboots take longer. I have never come across such a problem in Linux in the 7 years of programming I've done on it.
3) Quality of system libraries. Windows libraries are horrid. Microsoft Foundation Classes are I think the worst GUI toolkit I've ever seen in my life. The most buggy and the most static. I personaly do not like static GUI's for a program.
I can go on and on, but I think I'll just go back to work and program in Linux.:)
If you ever want to run an Itanium2 with Linux you'll need Redhat Advanced Server. And cough up the dough too. For both the machine and the software license. Intel did a deal with Redhat to give first shot at itanium2's for porting. And with an Itanium2 there is a lot of porting to be done.
I'd personaly go with an opteron myself. You dont need to reorganize your software for the architecture so it will run efficiently. Also you are not tied to Intels linux compilers which are pretty poor quality for the itanium2. Gcc has been ported to the itanium2, but it has not been optimized well yet. And Intels compiler is just very very buggy.
I was in exactly your situation. I spent 10 months working 60-80 houre weeks with the other programmer trying to get the project done on time. It wasnt even Softwares fault for the project being late. It dependend on some hardware which was late getting done. We did end up finishing it, albiet late. That was about a year ago. I'm still suffering the consequences. I got burnt out, and management did not help in the slightest. They resented the fact that the two of us took so long to write around 500K lines of code (the project was quite involved and we had to skip over many things that could have made it more usefull). I grew to hate my job, then I got layed off because I wasnt performing how they expected me to. I'm still unemployed, but my life is much better than it was when I was working for that place.
I will never put out that much effort unless I have appropriate monetary compensation and a ironclad definition of exactly how long I will be working beyond the normal 8 hour day effort, and all of this in writing. I dont expect to ever have this, so I expect I'll never be working this hard again. But this okay with me. At least I'll have my sanity.
Anyways, you can bet my quality of work suffered from this. It takes concentration and creative thinking to program well. If you are so stressed out that life has no joy anymore, you sure as hell wont be able to code well.
Dont let the managers sucker you into working like that, unless they make it worth your effort. And if its a matter of keeping your job, I wouldnt let that drive me to work myself to death. I'd rather be trimming grass on some lawn crew than driving myself insane.
I used to work for a small company (12 people) and was one of their two programmers. I also did all the system administration in my 'copious' amount of time. A month after I began working for this company, their server was hacked for the third time. Their domain was on at least a few hacking lists. So, I went to battle stations, setup a firewall, rebuilt the server, assigned everyone new and ulgy passwords, hide all those horrible services that used to be open to the world (like samba), and lo and behold no problems at all for the 2 years I worked there.
Everyone in the company hated the fact that I gave them purely random and truely ugly looking passwords. But, I just told them to write it down somewhere and keep it on their desk. I dont think that company is a target for industrial espionage, and if it is, no physical security measures that they were willing to pay for would stop such a thing. Their idea of physical security measures is a door lock, and maybe the deadbolt being thrown on a regular house door. So, if they have passwords hanging off their monitor, its not that big of a deal.
So the only real defense was the firewall and the couple of services I allowed through (ssh, http, smtp, dns). Notice, no plain text protocols that use passwords. :) And I was annoyed at having to allow dns through. It has too much of a history of being hacked.
Moral of the story, if you can live with users putting their passwords on sticky notes on the monitors, they wont complaign too much about the assigned passwords.
I used to work for Raytheon on sattelite control systems for the military. We were simply not allowed to use open source at all, period, end of story. The reason was that they were afraid of people (or I suppose other governements) working in viruses into the code which could then cause problems when the code was used.
The only software we could use was Official Solaris Software (tm). Have you ever used a Solaris box without GNU tools? Its a real pain in the rear. We constantly came across situations where it would have been wonderfull to use XYZ opensource project, but we had no option to use it all.
After working there for 2 years, my boss finaly went to the security group and put it to them. He asked if there was any way we could use open source. After a month of deliberation and constant proding from us and as many high level people that we could find, we finaly got an answer. 'If someone reads every line of code and signs his name to a document stating that there are no viruses in this code, then we will let you have the code'. Which is just a fancy way of saying 'no'.
So, to tie it back to your post, I'm surprised you can even consider open source. Much less worry about the GPL.
So...vim if is sticking to being a light weight editor (which is the only good thing about it in my opinion) why does it now edit files through ftp?
I see people talking about Solaris debugger, dbx and praising it. I can not see how anyone can like that program. Its the worst debugger I have ever used.
I worked for 3 years at a large aerospace company and we did some truly large C++ projects. They were all at least nominaly threaded because they used a CORBA implementation (which was threaded itself). I can not count the number of times that dbx core dumped on me because I tried to look at the wrong symbol name.
Granted, it had nothing to do with threads, but the linker and symbol demangling. But given the fact that it was almost impossible to use on any project of any good size, I do not count that as a good debugger. Also, about a 1/3rd of the time the debugger failed to actualy stop a progam at break points. In my experience, the MSVC++ debugger is much more stable and usable. Dont get me wrong though, I am a Linux person and cant stand Windows. I just have to port Linux apps to Windows for my current job.
Just give me linux and I'll be a happy person. (that includes gdb, with its couple of flaws) Flaws in an Open Source product dont bother me at all. They will be fixed. Flaws in a coporate product will only be fixed if the company can make more money because of it. Guarenteed.
I havent exactly found Java to be too slow either. But the only reason that is so is because I've only written GUI's in Java. Which is, in my opinion, the best thing about Java. Its GUI toolkit is quite decent, and its portable (the best part).
I have not experienced Java's slowness as ever being a serious problem. If I'm doing number crunching, I use JNI. If I'm doing network stuff, then the interpreter is always faster than the networks ability
So....you dont bother to use Java when the going gets tough? :)
I personaly use WindowMaker myself with no KDE or GNOME. Both KDE and GNOME will suck up your memory. GNOME is generaly worse. Since you are at 32M, you'll want to be somewhat concious of usage. Those office applications will want to have all that they can get.
WindowMaker is a decently usable windowmanager that does not take up a lot of memory. Do NOT use Enlightenment. :) You might even want to look at fvwm2. That was a great window manager about 7 years ago. There are more flashy managers around, but fvwm2 was solid, just about bug free, and didnt bloat. And besides, most window managers now a days are based on fvwm2.
The distribution doesnt realy matter. As long as its an up to date distribution with the 2.2 kernel. RedHat is on 6.2 now. With them you always have to wait one or two minor versions after a new major version for them to work out the bugs.
>> 3) I too have had to fix the source code to Linux once -- for my own use. But what happens when you want to distribute your code and it relies on the 'fixed' code? Do you have to wait for your fix to be integrated into the mainstream? Furthermore, though, why should you even have to look into the source code? Ao good API should leave nothing questionable enough for the source code to be consulted.
And you wish to wait on Microsoft to integrate fixes to the proprietary source? All the open source setups that I have seen have responded much faster verging on infinitely faster than any company on a bug fix. And I say 'inifinitely' because many times they simply never respond at all and never fix the problem. The beuaty of open source is that if you are inclined, you can go fix the bug yourself, send the patch with the fix to the maintainers and that saves them the time of figuring out the bug themselves.
You miss the point of an API. An API is to abstract out everything that a person needs to know about how to use this 'black box'. Regardless of how well they did the abstraction, the black box may simply be functionaly broken. An API has nothing to do with that. Open source allows you to go fix that bug and continue on in your development.
I spent 2 years developing in Windows 95 and Dos. I as well, will never work on those platforms again. Let me add to FascDot's list:
1) The single most important point. Absolute memory addressing in Windows is a sin. Since all programs use absolute memory addressing, when you load a program after another, that program has different addresses for any pointers that it has. If you have a bad pointer variable which causes a crash and you load the program up the debugger, the behavior of the program changes 9 times out of 10. Makes the debugger useless.
2) Simple stability of windows itself. A Dos mode program is even worse. And working on a dos mode program in Windows does not help at all. It just makes the reboots take longer. I have never come across such a problem in Linux in the 7 years of programming I've done on it.
3) Quality of system libraries. Windows libraries are horrid. Microsoft Foundation Classes are I think the worst GUI toolkit I've ever seen in my life. The most buggy and the most static. I personaly do not like static GUI's for a program.
I can go on and on, but I think I'll just go back to work and program in Linux. :)