# Windows Programming jobs > # Mainframe programming jobs > # Linux programming jobs.
This is both through agencies and through personal networking.
The situation is different for system administration jobs.
And funny I never hear users of Windows software refer to "closed source shitty software". And last time I checked, there were still a lot of Windows users.
Linux is great, but large portions of the Linux community consistently exagerate how bad Windows is and how good Linux is.
I once wrote a C program on Linux that accidentally read one byte past the end of an array. It ran fine on Linux.
I uploaded the source to a BSD box, compiled, and ran it and got a segfault (or something like that). It apppears that BSD mapped the program segments so that one byte past the end of my variables was an invalid address.
I still use Linux, not BSD, but I found this experience interesting to say the least. I think VAX/VMS also loaded programs in a similar way.
There was an announcement a few days ago about HP and BEA Systems having an "expanded marketing pact".
This might include package that HP would put together using WebLogic on HP servers running Linux.
For those who don't know, WebLogic is the leading Java J2EE platform.
So from one headline, you could infer that HP is moving to Java.
From another headline, you could infer that HP is moving to C#.
With around 90,000 employees, I doubt you could say that HP is heading in any single direction.
It looks more like a shotgun approach. In my mind this is wise. As a potential software services customer, would you want to hear "sorry, we only do Java" or "sorry we only do C#"? And who knows, 5 years from now, which technology will have the biggest market share.
Funny, we used this same combination of IIS 4 and Windows NT 4 with ASP. We did not see this problem.
Maybe our traffic was not as large.
Sure there are a lot of service packs, plus the security rollup. The warning and patch for IIS 4.0 was ready at least a month before code red came out.
However Windows 2000 laptops were another matter. Many of these users did not even know they were running IIS. Those got infected.
The last time I had access to rational rose (about 3 years ago), it handled this just fine. It generated special comments, between which you but "the meat". When you changed the model, it kept the meat. If you deleted a method, it gave you a warning and would keep the meat code for one cycle. If you ignored the warning twice, the code from the deleted method was gone.
But if you were carefull, it did not have the problem you describe. I would have kept on maintaining the design/code this way if only it had been able to emit the DLLEXPORT between the keyword "class" and the name of the class (this was C++). Since the code in question had to be packaged in the DLL, I had to quit using the "forward engineering" code generation.
But if you were not doing a C++ DLL, you should not have this problem.
"The internals of the version 5 interpreter are so tangled that they hinder maintenance, thwart some new feature efforts, and scare off potential internals hackers."
So maybe if a lot of people like Perl 5 and dislike Perl 6, they can maintain it instead.
For that matter, I know of one internal web site (for a rather large company), which is written in Java Servlets but checks for IE and sends you to an error page if you are not running IE.
They did this after finding that a very small number of users were not using IE. It lowers your maintenance costs to cut down on the number of browsers you support.
1) Qt redefines C++ to avoid forcing users to have to define lots of event adaptor classes. Are they being rediculous?
2) Using a #define is frowned upon by C++ folks generally. Lets say you publish a library version 1.0. Your users implement a lot of code you can't see. Then version 1.1 of your library adds a #define for property. Unfortunately, one of your users had defined a method property as part of their published interface. Then they shipped their product to a third group. Now your #define breaks their code and their customer's code.
I suppose it depends on whether you mean implicit or explicit reference counting.
Having GC in the language means that you likely have implicit reference counting.
Not having it means you can explicitly add reference counting if you want or not.
You will have to explicitly delete heap objects if you don't have GC.
But you don't have to choose reference counting.
In your app design, you can designate an owner to delete the objects.
Non-owner objects can copy pointers at will, provided that their lifetime is completely contained with the lifetime of the objects they point to.
Needless to say, the owner of a heap-based object has to have a lifetime that entirely contains the lifetime of the managed object.
Without a general-purpose GC, you may be able to design a system that is much more efficient with CPU and memory.
With languages, such as Java, you do not have this choice (for better or worse).
The utilities in California lobbied for keeping customer rates relatively stable, regardless of what
their wholesale costs were because
they thought the wholesale costs would drop rapidly
with de-regulation.
They didn't have the laws written to only stabilize them for declining wholesale rates
because they didn't want to be too obvious.
It never occured to them that wholesale rates would go up so much.
Had the de-regulation law encouraged or required long-term contracts between power utilities and power generators (as was the case in Pennslyvania),
things would have gone much better in California.
We can thank both the Democratic majority in the state legislature and Republican govenor Pete Wilson for the mess we got.
Wilson, in particular, stated as he signed the law: "Now no one will have to be in the dark in California." or something like that.
So in California, no political party has a monopoly on stupidity or blind faith in the power of financial markets.
It is a mistake to think that any large company speaks with one voice.
Every department has a different point of view.
I presume that the part of HP that makes PC hardware has a different point of view than the
part that makes HP 9000 hardware.
News Flash:
Coporation makes misleading statement in a press release!
I have to agree with you mostly. My experience
is that every team that does any OO diagrams does class diagrams.
You almost don't have to tell people to do it.
My experience is also that almost no-one does sequence diagrams.
That could be changing as RUP and Rational Rose or
similar tools become more widely available.
I like to make sure that the class diagrams are correct by coming up with a few important scenarios and testing them with sequence diagrams.
But that is just my own personal perspective.
I think more in OO code and so I find a combination
of class and sequence diagrams.
People fulfilling other roles in software development may find
other parts of UML and their process
more usefull.
I have to admit that I forgot about class depencencies and module dependencies.
That is additional usefull information that goes
on the class diagrams.
Another personal bias/opinionn of mine is that
automatic code generation is overemphasized.
If you have good design documentation, writing
the code is the easiest part of development.
The coding goes so fast.
You have to expend a lot of extra effort to get the UML diagrams to generate the code properly.
You could spend more of a senior developer's time
that could be better spent helping out less senior developers.
I did use Rational Rose to generate code for the first several weeks of the development of a DLL.
I switched to manual coding when it became too difficult to make the code generation work.
The deciding factor was the inablity to get the
EXPORT qualifier that the DLLs needed in
the class definitions.
But the dependency relations in the class (or was it module) diagrams
caused the include statements to be inserted automatically.
Anyway, where I work now, we have no UML tools, and no QA department.
You just end up with more effort expended elsewhere.
Since various airlines have been notified about
this and have done nothing so far, I would propose the following:
Have a computer savy individual hook up with a reporter.
Have them go to the airport together and sniff the net.
Capture a bunch of data, go back to the office, and write an article about it.
I bet something would be done about it then.
I would involve a reporter so they have a tougher time portraying you as a terrorist or criminal.
Someone sitting at the coffee shop working on their laptop would not look out of place.
Perhaps people would argue that you are alerting terrorists to this possibility.
But, it is already posted here on/. and I would not want to trust MY family's safety to
"security by obscurity".
What planet are YOU on?
In my area, it looks like this:
# Windows Programming jobs > # Mainframe programming jobs > # Linux programming jobs.
This is both through agencies and through personal networking.
The situation is different for system administration jobs.
And funny I never hear users of Windows software refer to "closed source shitty software".
And last time I checked, there were still a lot of Windows users.
Linux is great, but large portions of the Linux community consistently exagerate
how bad Windows is and how good Linux is.
Or you could run one of the BSD variants.
I once wrote a C program on Linux that accidentally read one byte past the end of an array.
It ran fine on Linux.
I uploaded the source to a BSD box, compiled, and ran it and got a segfault (or something like that).
It apppears that BSD mapped the program segments so that one byte past the end of my variables was an invalid address.
I still use Linux, not BSD, but I found this experience interesting to say the least.
I think VAX/VMS also loaded programs in a similar way.
Did you try the documentation they charge money for?
I am curious myself because I am considering using JBoss.
It does appear that they are doing both.
There was an announcement a few days ago about HP and BEA Systems having an "expanded marketing pact".
This might include package that HP would put together using WebLogic on HP servers running Linux.
For those who don't know, WebLogic is the leading Java J2EE platform.
So from one headline, you could infer that HP is moving to Java.
From another headline, you could infer that HP is moving to C#.
With around 90,000 employees, I doubt you could say that HP is heading in any single direction.
It looks more like a shotgun approach. In my mind this is wise.
As a potential software services customer, would you want to hear "sorry, we only do Java" or "sorry
we only do C#"?
And who knows, 5 years from now, which technology will have the biggest market share.
Funny, we used this same combination of IIS 4 and Windows NT 4 with ASP. We did not see this problem.
Maybe our traffic was not as large.
Sure there are a lot of service packs, plus the security rollup.
The warning and patch for IIS 4.0 was ready at least a month before code red came out.
However Windows 2000 laptops were another matter.
Many of these users did not even know they were running IIS.
Those got infected.
The last time I had access to rational rose (about 3 years ago), it handled this just fine.
It generated special comments, between which you but "the meat". When you changed the model, it kept the meat.
If you deleted a method, it gave you a warning and would keep the meat code for one cycle. If you ignored the warning twice, the code from the deleted method was gone.
But if you were carefull, it did not have the problem you describe.
I would have kept on maintaining the design/code this way if only it had been able to emit the DLLEXPORT between the keyword "class" and the name of the class (this was C++).
Since the code in question had to be packaged in the DLL, I had to quit using
the "forward engineering" code generation.
But if you were not doing a C++ DLL, you should not have this problem.
To quote Larry Wall (http://dev.perl.org/perl6):
"The internals of the version 5 interpreter are so tangled that they hinder maintenance, thwart some new feature efforts, and scare off potential internals hackers."
So maybe if a lot of people like Perl 5 and dislike Perl 6, they can maintain it instead.
If I am not mistaken, the president cannot enact laws, only congress.
So in the extremely unlikely case that Nader ever gets elected, it will still not affect patent law.
So if we vote for Ralph Nader, it adds a few percent to what the Democrat candidate must get to win.
You get time dilation with the Lorentz transformations and special relativity.
Those depend only on velocty and not acceleration.
Or even better HP Compaq Digital Microsoft FORTAN for Windows (that lives in the house that Jack built).
There was, at one time, Microsoft Fortran for Windows.
I once had a copy, but I never got around to using it.
For that matter, I know of one internal web site (for a rather large company), which is written
in Java Servlets but checks for IE and sends you
to an error page if you are not running IE.
They did this after finding that a very small number of users were not using IE.
It lowers your maintenance costs to cut down on the number of browsers you support.
Two points.
1) Qt redefines C++ to avoid forcing users to have to define lots of event adaptor classes. Are they being rediculous?
2) Using a #define is frowned upon by C++ folks generally. Lets say you publish a library version 1.0. Your users implement a lot of code you can't see.
Then version 1.1 of your library adds a #define for property.
Unfortunately, one of your users had defined a method property as part of their published interface.
Then they shipped their product to a third group.
Now your #define breaks their code and their customer's code.
Would you tell your employer what the lowest pay you would accept is?
Why should they tell you what the most they would pay you?
At some places of employment, the only way to get what you are worth is to get a job offer and threaten to leave.
Early in my career, I did this, then accepted the counter offer by my then current employer.
There were never repercussions due to my perceived disloyalty. It was, in fact, the only way to get a raise in that organization.
(Actually it was a promotion AND a raise)
Some bosses play hardball. You need to know who you are dealing with.
I was perfectly prepared to take the new job, so I had little to loose.
Perhaps they got confused.
It is my understanding that "The Times"
refers to the Times of London.
The "New York Times" is different from "The Times".
I think he meant that Microsoft is competing quite well.
/.
So closed source sometimes makes the basis of a sound business model.
You heard it here first on
So how many Danish users use an ISP in Pennsylvania?
The law would allow the state to block access to a site that is legal in Denmark but not in the US.
So what is your problem with that?
I love the comparison between Nazi Germany and preventing access, in Pennsylvania to something that is
illegal in Pennsylvania.
I bet you think your consitutional rights are violated when
they card you at the liquor store.
So buy the rights and GPL it.
I'm sure the creditors of NaN would be happy if you did.
I suppose it depends on whether you mean implicit or explicit reference counting.
Having GC in the language means that you likely have implicit reference counting.
Not having it means you can explicitly add reference counting if you want or not.
You will have to explicitly delete heap objects if you don't have GC.
But you don't have to choose reference counting.
In your app design, you can designate an owner to delete the objects.
Non-owner objects can copy pointers at will, provided that their lifetime is completely contained with the lifetime of the objects they point to.
Needless to say, the owner of a heap-based object has to have a lifetime that entirely contains the lifetime of the managed object.
Without a general-purpose GC, you may be able to design a system that is much more efficient with CPU and memory.
With languages, such as Java, you do not have this choice (for better or worse).
The utilities in California lobbied for keeping customer rates relatively stable, regardless of what
their wholesale costs were because
they thought the wholesale costs would drop rapidly
with de-regulation.
They didn't have the laws written to only stabilize them for declining wholesale rates
because they didn't want to be too obvious.
It never occured to them that wholesale rates would go up so much.
Had the de-regulation law encouraged or required long-term contracts between power utilities and power generators (as was the case in Pennslyvania),
things would have gone much better in California.
We can thank both the Democratic majority in the state legislature and Republican govenor Pete Wilson for the mess we got.
Wilson, in particular, stated as he signed the law: "Now no one will have to be in the dark in California." or something like that.
So in California, no political party has a monopoly on stupidity or blind faith in the power of financial markets.
It is a mistake to think that any large company speaks with one voice.
Every department has a different point of view.
I presume that the part of HP that makes PC hardware has a different point of view than the
part that makes HP 9000 hardware.
News Flash:
Coporation makes misleading statement in a press release!
So use IE on HP-UX.
I'm not joking, it exists.
I have to agree with you mostly. My experience
is that every team that does any OO diagrams does class diagrams.
You almost don't have to tell people to do it.
My experience is also that almost no-one does sequence diagrams.
That could be changing as RUP and Rational Rose or
similar tools become more widely available.
I like to make sure that the class diagrams are correct by coming up with a few important scenarios and testing them with sequence diagrams.
But that is just my own personal perspective.
I think more in OO code and so I find a combination
of class and sequence diagrams.
People fulfilling other roles in software development may find
other parts of UML and their process
more usefull.
I have to admit that I forgot about class depencencies and module dependencies.
That is additional usefull information that goes
on the class diagrams.
Another personal bias/opinionn of mine is that
automatic code generation is overemphasized.
If you have good design documentation, writing
the code is the easiest part of development.
The coding goes so fast.
You have to expend a lot of extra effort to get the UML diagrams to generate the code properly.
You could spend more of a senior developer's time
that could be better spent helping out less senior developers.
I did use Rational Rose to generate code for the first several weeks of the development of a DLL.
I switched to manual coding when it became too difficult to make the code generation work.
The deciding factor was the inablity to get the
EXPORT qualifier that the DLLs needed in
the class definitions.
But the dependency relations in the class (or was it module) diagrams
caused the include statements to be inserted automatically.
Anyway, where I work now, we have no UML tools, and no QA department.
You just end up with more effort expended elsewhere.
Since various airlines have been notified about
/. and I would not want to trust MY family's safety to
this and have done nothing so far, I would propose the following:
Have a computer savy individual hook up with a reporter.
Have them go to the airport together and sniff the net.
Capture a bunch of data, go back to the office, and write an article about it.
I bet something would be done about it then.
I would involve a reporter so they have a tougher time portraying you as a terrorist or criminal.
Someone sitting at the coffee shop working on their laptop would not look out of place.
Perhaps people would argue that you are alerting terrorists to this possibility.
But, it is already posted here on
"security by obscurity".