The Daily Camera a local newspaper in Boulder also has this story.
A nice quote: Richter did not return my phone calls Thursday, so I couldn't ask him how someone who admitted he was guilty of a felony could now assert his innocence. Since he didn't answer the phone, maybe he'd respond to a letter. His office address is 1333 W. 120th Avenue, Suite 101, Westminster, Colo., 80234. (Just in case you're curious.)
I also have a new baby girl. My favorite long term gift was some good wine. Stuff from the year of her birth, that will age well so she can enjoy it when she is an adult. It should be fun to crack open some 18 year old wine for her high school graduation (or 22ish year old stuff for college grad). That is a gift that ages well.
This is an early article from their April Fool's edition that slipped out too early. Sorry for any problems it may have caused. Billings, MT....come on, who's going to believe that?
IT is just as bad off as you thought. Go back to your normal lives....
...one that actually had screws and metal bars that you could bolt together in all different shapes and sizes, and motors too, but I can't remember the name of it.
That would be the erector set. It has a motor, and then attachments to make the motor act as a winch or turn a wheel. very cool stuff.
Reading the description of this outage was just like a day-to-day description of life at my job. I'm not a network engineer, I'm a software developer. And explaining this stuff as part of my job to non-programmers is next to impossible.
My job description involves lots of doing requirements, designing solutions and the implementing those solutions in software (with some testing thrown in if the PHB will allow for it in the schedule). All of this sounds like normal programmer fare. But then a production outage rolls in... Some client calls saying the system is down, or the data is corrupt, or the reponse times are unacceptable, or whatever, and the firefighting mode goes into full gear. All of the developers go into full debug mode: is the database OK, did the software get changed, is this a code bug or something environmental, etc. Everyone brainstorms, tries ideas and eventually the problem is solved. Sometimes the developer who wrote that module/class/program/function is on vacation, or [s]he was a contractor who quit/fired last week. Sometimes a sysadmin helpfully made a system change that fubared all of the software's configuration, sometimes an idiot developer hardcoded a value that should be dynamic. And the options go on and on.
What suprises me is how regularly this occurs in all of the various software jobs I have had. And how large a part of my job this kind of real-time, customers-are-waiting-and-we're-losing-money-for-e very-second-of-outage production debugging really is. I would ass-u-me that if I ever worked on an air traffic control system or NASA flight software that the testing would be rigorous enough that this would not happen. But the reality seems to be that in most software jobs, good enough is good enough, and bugs really do happen in production systems.
Thanks for the cool blow-by-blow analysis of the outage. Of course, I'd prefer if/. was just up and available 24/7, but the reality is, there will always be problems. It's interesting to read about what they were and how they were fixed.
I have used Versant on a medium to large scale development project. For 80-90% of the code, using and ODBMS was a dream. A simple persistant base class for objects which need to go in/out from the DB was an elegant solution that was a joy to use. I was all ready to become the new ODBMS advocate/zelot for all my future development projects.
Then I ran into a wall. The wall was Ad Hoc query. For most of our system, traversing an object model was a very elegant way of accessing data. But for that last 10%, we really needed a fast, efficient Ad Hoc query. Here is where the ODBMS fell flat on its face. The querys were slow, and doing something akin to a "join" was mighty painful. And of course, it turned out that these operations were the most used and the slowest part of our system. Everything came crashing down arround me. What had been a joy to develop, was a nightmare to use.
Our application was a series of seperate distributed apps, all reading and writing to a shared datastore. Although walking between related objects was a dream, finding the "head" of the tree would always be a PITA. Our data had a good parent-child-grandchild-etc has-a set of relationships. But finding the "interesting" parent objects was very, very slow. Once the parents were found, traversing thru the related data was fast and easy, but the startup of each operation was a huge bottleneck.
This may just be poor design experience on my and the other developer's parts. Just like a set of C developers can create a truly horrid C++ design, we RDBMS developers may have just abused the OODBMS. But the fact is we had a group of half a dozen experienced OO developers, and we all thought we had a good approach. If a group of developers with good OO programming experience, and good RDBMS experience can't figure out how to correctly use an ODBMS, then I don't have much hope for the technology. Either the technology has some serious limitations, or the learning curve is very, very steep. Either way, I've been sticking to my tried-and-true RDMBS every since.
This product doesn't really excite me for my home network. I allready have several systems, so making an old P100 into a dedicated Linux firewall was a nobrainer. Plus, I get all the great experience of loading and configing another Linux system.
But for my parents, who are just considering getting DSL, this would be a dream. I drop by one afternoon, plug in another card, and boom, they have a firewall. They only have one system, and it would blow their minds to have a second machine just for a firewall, especially if it ran Linux. This would be a great solution to keep my Dad's Quicken files and my Mom's top secret Word docs contining her double chocolate-chip cookie recipie safe from prying hacker's eyes. Sometimes something that would be totally useless for me is exactly the right tool for someone less tech savy. If it were priced right (sub-$100) I'd definitly consider putting one in my parents stocking this Christmas.
Thanks for the clue. I already have Linux installed and configured, so it will be painful (but possible) to follow your instructions now. I always love finding out that no matter how screwed up MS et. al. try to make the world, there is some clever Linux hack to get arround it. Thanks:-)
This kills me. I just purchased a Compaq Presario Laptop for use at the office. I shelled out the extra $100 to upgrade from Windows ME to Win2000. My plan was to install Linux, then VMWare with Win2000 under VMWare for the MS-only stuff I might encounter in the office (like that damn MS Visual Source Safe, as if CVS doens't kick VSS's ass any day of the week, but I digress...). It turns out that the copy of Windows 2000 you get is only a Restore CD, not an installable copy. It does an fdisk and reformat before reimaging your system back to "a known good state". Since VMWare fakes out a BIOS, the restore CD won't install, since you are not installing "on the original machine". So I wasted $100 trying to be legal. I have turned to a semi-legal copy, and am soothing my morals by telling myself that I really do own a copy of Windows 2000 (I even have the much touted "Certificate of Authenticity"). I would have been better off buying the machine Naked and then buying a shrinkwrap copy of the MS software I needed.
I have ordered DSL from US West in Denver. I live near downtown, and therefore have easy availablity of DSL service. I chose their cheapest service (256K/256K) and chose NOT to use uswest.net as my ISP. The install was delayed for about 3 weeks (due to lack of devices available in the rack at the CO).
Every since the install, everything has been running perfectly. I get outages, usually about 5 min in duration, 2-3 times/month that I notice. But overall, I am very pleased with the service. And, as an added bonus, since Qwest purchased US West, they have upgraded my connection to 640K/256K for free!
But (MAJOR BUT HERE), I do not use US West as my ISP. I have heard nothing but nightmares from people who use them, so I am steering clear of them. I use Dimensional Communications (free plug here), a local ISP here in Denver. I visited their offices and toured their server room and configuration before making a choice. They offer hosting, unfiltered USENET, and didn't drop into a panic mode when I said I would be running Linux. I believe that has made all the difference in smoothing out my dealings with DSL.
As an added bonus, I am a Q3-head. Dimensional configures the DSL to have very little "stuff" between my DSL connection and the net. I get ping times that most other players I chat with on-line cannot believe. Usually 20-30% below DSL users in other regions. A well configured ISP can make or break the quality of your service, since you have no idea where network problems live. I can trust that my link from my home thru the ISP to the "internet" is clean, and if something is slow, it's out on the net, not due to a piss-poor ISP config.
So my biggest advice would be to drill the ISP as hard or harder than the DSL pipe provider. I think that DSL is just a dumb digital connection that either works or doesn't (once you can get it installed). It's really the ISP you choose for your termination point that makes all the difference. If you are allready shelling out $30+/month for DSL, it's worth it to kick in a few extra bucks and make sure the ISP is just as good.
...and with the penchant of developers to shorten everything, the language will become known as Coct. Which probably means the embedded version for WinCE machines will be half-Coct.
One thing I cannot understand is people who use a non-ILEC DSL provider, get discouraged buy service, outage, etc... and then threaten to change to cable. Cable works because (at least in my area) there is one company that owns the physical cable, the digital service transmission and the ISP. Of course, if one company owns all of the parts, then problems are going to be solved more efficiently than if there are several different (competing) players involved. If you want to compare apples to apples, then get DSL from your ILEC using their ISP.
The reason I have DSL is exactly because of this competition. I currently receive the DSL service from the ILEC, while all ISP services come from a local provider. This kind of competition is simply unavailable from cable in my area. I searched ISPs, found one with a TOS and privacy policy that I could respect, and then had my ILEC simply provide a dumb digital pipe to them. With cable, there would be no choice. If AT&T wanted to ban alt.sex.with.small.furry.animals or sell my browsing habits to the highest bidders, I would be SOL. With DSL, I can always change ISPs or service providers.
I am not 100% sold on the wonders of DSL. But in my area, DSL provides flexability and choices that do not exist in cable. I'm tired of people confusing the red-tape issues involved in DSL to Cable with the physical technologies. If the FCC stuck its fingers in cable, then there would be just as many SNAFUs with getting service as there are with DSL. If DSL were unregulated and so the only choice was to use the ILECs plant, service and ISL, then DSL would be as easy as cable. It's important to recognize the issues in DSL as being corporate BS and not inherent in the technology. Of course, none of this matters to me if email has been down for 3 days and I havn't been able to get my Q3 fix:-)
It seems so amazingly simple, but all I want is to write well written code on interesting projects. For me, that currently means using an OO language on a Unix-esque platform to write some kind of non-trivial distributed application.
I used to want to be a games programmer (let's face it, the testing phase would be alot like how I spend my free time anyways). Then I wanted to write compilers and languages, then kernel hacking held my interest. But I have found, that in almost any field, there are interesting problems to solve and interesting code to write. The important part for me is to have some input on the design/architecture phase so that I feel like my time is being spent implementing a well thought out design.
What I have never wanted is to have my boss's job. I have reached that nebulous level of Sr. Developer/Tech Lead, and I don't want to be promoted any further. Sure, I'd have more power (who cares!) but I'd also have to go to meetings, make business level strategic decisions, do cost/benifit analysis and play politics with the other managers. Not that there is anything inherently wrong with any of these tasks, they just are not for me. I went to school to be a coder and I enjoy writing code.
My parents (and I think most people of their generation), have a very hard time understanding my lack of drive to "move up the corporate ladder". But the reality is, that I am doing the best job I can possbily imagine. A promotion would just have me managing people who are doing the job that I love. So as long as the cruch for coders continues, and the lack of H1Bs gets hung up in Congress, I can make a very comfortable ammount of money doing what I love. As the song says "...and who could ask for anything more?"
Many people (especially employers and perm employees) like to belittle contractors as greedy and unloyal. The last perm job I had, I was working 60-70 hour weeks, for 6 months on end. My reward for all that hard work was a 5% raise and an Atta-boy. Since then, my attitude is "an hour's pay for an hour of work."
The amazing thing I have found is that shops that hire contractors are much more likley to have 40-45 hour work weeks, since they have to pay for all of that overtime. The managers no longer try to squeeze "just one more feature" into a release, if they are told that will cause hundreds of billable hours to be added to the current financial quarter. They have a budget, and they can only get the work done that the budget allows them to pay for. All of a sudden, simple economics is keeping requirements from creeping and delivery dates honest.
Employers are more likley to add an extra 40 hour/week contractor, than try to squeeze 10 extra hours out of 4 existing contractors. If they truly need they manpower, then they can justify the budget and hire the bodies. An added bonus of this is that if a real crunch does come (and they always do), the staff is not already so strung out from working 60 hour weeks they they are able (and usually willing) to put in the OT.
Re:WebMacro, Java servlets, and other comments
on
Java Success Stories
·
· Score: 1
An addition to point #2, about Java being fast enough for server side work (and begin compared as faster server-side than Perl).
In my experiance, the server side application is usually I/O bound by access either to the Client over the network, or the access to the next tier in the server (often a Database). Most server side processing is just not as expensive as the IO to the client and the DB.
Java gives you a language with real, enforced OO structure along with libs that make accessing a database or a client application very, very simple. It's a great, simple fit for many server-side applications.
Re: WebMacro, Java servlets, and other comments
on
Java Success Stories
·
· Score: 1
An addition to point #2, about Java being fast enough for server side work (and begin compared as faster server-side than Perl).
In my experiance, the server side application is usually I/O bound by access either to the Client over the network, or the access to the next tier in the server (often a Database). Most server side processing is just not as expensive as the IO to the client and the DB.
Java gives you a language with real, enforced OO structure along with libs that make accessing a database or a client application very, very simple. It's a great, simple fit for many server-side applications.
I am having slightly different problems tweaking X's video modes. I have two systems, but only one monitor. The obvious solution is an A/B switch box. One system is a Win98 box, which I can configure to use a nice resolution (say 1024x768). Now, when I setup X on the other system to use 1024x768, the resolution is correct, but skewed into the upper right corner of the monitor. Tweaking the X settings to shift the image is the only option (since MS doesn't allow any adjustments). On one hand, this has been very frusturating to get these settings correct under Linux/X. OTOH, since MS doesn't allow any adjustments, at least X offers a solution where under MS I would be SOL.
I have been a contractor for 4 years, after about 4 years of working as an employee. The reason I changed to contracting was for the money, but not in the usual way.
All of the projects I have worked on have had the design/development/test schedule cut to meet some deadline. Or, feature-creep has caused the project to bloat, without allowing the schedule to grow. The classic result of this is all of the programmers working 10-12 hour days for months on end. I switched to contacting to get an hour's pay for every hour worked. I would have no problem going full-time with a company, but my time is not free. If I ever contract for a company that does good SW engineering, with realistic schedules that can be met with 45 hour weeks, I'll be the first to sign on. Until then, contracting is the only way I feel that I am fairly paid for my time.
Clever limericks are quite fun,
Especially when there are more than one.
But too many more,
and they'll be a bore,
so you'll get modded to -1.
Happy datacenter may stick to some types of skin.
The Daily Camera a local newspaper in Boulder also has this story. A nice quote: Richter did not return my phone calls Thursday, so I couldn't ask him how someone who admitted he was guilty of a felony could now assert his innocence. Since he didn't answer the phone, maybe he'd respond to a letter. His office address is 1333 W. 120th Avenue, Suite 101, Westminster, Colo., 80234. (Just in case you're curious.)
I also have a new baby girl. My favorite long term gift was some good wine. Stuff from the year of her birth, that will age well so she can enjoy it when she is an adult. It should be fun to crack open some 18 year old wine for her high school graduation (or 22ish year old stuff for college grad). That is a gift that ages well.
This is an early article from their April Fool's edition that slipped out too early. Sorry for any problems it may have caused. Billings, MT....come on, who's going to believe that?
IT is just as bad off as you thought. Go back to your normal lives....
...one that actually had screws and metal bars that you could bolt together in all different shapes and sizes, and motors too, but I can't remember the name of it.
That would be the erector set. It has a motor, and then attachments to make the motor act as a winch or turn a wheel. very cool stuff.
Reading the description of this outage was just like a day-to-day description of life at my job. I'm not a network engineer, I'm a software developer. And explaining this stuff as part of my job to non-programmers is next to impossible.
e very-second-of-outage production debugging really is. I would ass-u-me that if I ever worked on an air traffic control system or NASA flight software that the testing would be rigorous enough that this would not happen. But the reality seems to be that in most software jobs, good enough is good enough, and bugs really do happen in production systems.
/. was just up and available 24/7, but the reality is, there will always be problems. It's interesting to read about what they were and how they were fixed.
My job description involves lots of doing requirements, designing solutions and the implementing those solutions in software (with some testing thrown in if the PHB will allow for it in the schedule). All of this sounds like normal programmer fare. But then a production outage rolls in... Some client calls saying the system is down, or the data is corrupt, or the reponse times are unacceptable, or whatever, and the firefighting mode goes into full gear. All of the developers go into full debug mode: is the database OK, did the software get changed, is this a code bug or something environmental, etc. Everyone brainstorms, tries ideas and eventually the problem is solved. Sometimes the developer who wrote that module/class/program/function is on vacation, or [s]he was a contractor who quit/fired last week. Sometimes a sysadmin helpfully made a system change that fubared all of the software's configuration, sometimes an idiot developer hardcoded a value that should be dynamic. And the options go on and on.
What suprises me is how regularly this occurs in all of the various software jobs I have had. And how large a part of my job this kind of real-time, customers-are-waiting-and-we're-losing-money-for-
Thanks for the cool blow-by-blow analysis of the outage. Of course, I'd prefer if
I have used Versant on a medium to large scale development project. For 80-90% of the code, using and ODBMS was a dream. A simple persistant base class for objects which need to go in/out from the DB was an elegant solution that was a joy to use. I was all ready to become the new ODBMS advocate/zelot for all my future development projects.
Then I ran into a wall. The wall was Ad Hoc query. For most of our system, traversing an object model was a very elegant way of accessing data. But for that last 10%, we really needed a fast, efficient Ad Hoc query. Here is where the ODBMS fell flat on its face. The querys were slow, and doing something akin to a "join" was mighty painful. And of course, it turned out that these operations were the most used and the slowest part of our system. Everything came crashing down arround me. What had been a joy to develop, was a nightmare to use.
Our application was a series of seperate distributed apps, all reading and writing to a shared datastore. Although walking between related objects was a dream, finding the "head" of the tree would always be a PITA. Our data had a good parent-child-grandchild-etc has-a set of relationships. But finding the "interesting" parent objects was very, very slow. Once the parents were found, traversing thru the related data was fast and easy, but the startup of each operation was a huge bottleneck.
This may just be poor design experience on my and the other developer's parts. Just like a set of C developers can create a truly horrid C++ design, we RDBMS developers may have just abused the OODBMS. But the fact is we had a group of half a dozen experienced OO developers, and we all thought we had a good approach. If a group of developers with good OO programming experience, and good RDBMS experience can't figure out how to correctly use an ODBMS, then I don't have much hope for the technology. Either the technology has some serious limitations, or the learning curve is very, very steep. Either way, I've been sticking to my tried-and-true RDMBS every since.
This product doesn't really excite me for my home network. I allready have several systems, so making an old P100 into a dedicated Linux firewall was a nobrainer. Plus, I get all the great experience of loading and configing another Linux system.
But for my parents, who are just considering getting DSL, this would be a dream. I drop by one afternoon, plug in another card, and boom, they have a firewall. They only have one system, and it would blow their minds to have a second machine just for a firewall, especially if it ran Linux. This would be a great solution to keep my Dad's Quicken files and my Mom's top secret Word docs contining her double chocolate-chip cookie recipie safe from prying hacker's eyes. Sometimes something that would be totally useless for me is exactly the right tool for someone less tech savy. If it were priced right (sub-$100) I'd definitly consider putting one in my parents stocking this Christmas.
Thanks for the clue. I already have Linux installed and configured, so it will be painful (but possible) to follow your instructions now. I always love finding out that no matter how screwed up MS et. al. try to make the world, there is some clever Linux hack to get arround it. Thanks :-)
This kills me. I just purchased a Compaq Presario Laptop for use at the office. I shelled out the extra $100 to upgrade from Windows ME to Win2000. My plan was to install Linux, then VMWare with Win2000 under VMWare for the MS-only stuff I might encounter in the office (like that damn MS Visual Source Safe, as if CVS doens't kick VSS's ass any day of the week, but I digress...). It turns out that the copy of Windows 2000 you get is only a Restore CD, not an installable copy. It does an fdisk and reformat before reimaging your system back to "a known good state". Since VMWare fakes out a BIOS, the restore CD won't install, since you are not installing "on the original machine". So I wasted $100 trying to be legal. I have turned to a semi-legal copy, and am soothing my morals by telling myself that I really do own a copy of Windows 2000 (I even have the much touted "Certificate of Authenticity"). I would have been better off buying the machine Naked and then buying a shrinkwrap copy of the MS software I needed.
I have ordered DSL from US West in Denver. I live near downtown, and therefore have easy availablity of DSL service. I chose their cheapest service (256K/256K) and chose NOT to use uswest.net as my ISP. The install was delayed for about 3 weeks (due to lack of devices available in the rack at the CO).
Every since the install, everything has been running perfectly. I get outages, usually about 5 min in duration, 2-3 times/month that I notice. But overall, I am very pleased with the service. And, as an added bonus, since Qwest purchased US West, they have upgraded my connection to 640K/256K for free!
But (MAJOR BUT HERE), I do not use US West as my ISP. I have heard nothing but nightmares from people who use them, so I am steering clear of them. I use Dimensional Communications (free plug here), a local ISP here in Denver. I visited their offices and toured their server room and configuration before making a choice. They offer hosting, unfiltered USENET, and didn't drop into a panic mode when I said I would be running Linux. I believe that has made all the difference in smoothing out my dealings with DSL.
As an added bonus, I am a Q3-head. Dimensional configures the DSL to have very little "stuff" between my DSL connection and the net. I get ping times that most other players I chat with on-line cannot believe. Usually 20-30% below DSL users in other regions. A well configured ISP can make or break the quality of your service, since you have no idea where network problems live. I can trust that my link from my home thru the ISP to the "internet" is clean, and if something is slow, it's out on the net, not due to a piss-poor ISP config.
So my biggest advice would be to drill the ISP as hard or harder than the DSL pipe provider. I think that DSL is just a dumb digital connection that either works or doesn't (once you can get it installed). It's really the ISP you choose for your termination point that makes all the difference. If you are allready shelling out $30+/month for DSL, it's worth it to kick in a few extra bucks and make sure the ISP is just as good.
...and with the penchant of developers to shorten everything, the language will become known as Coct. Which probably means the embedded version for WinCE machines will be half-Coct.
One thing I cannot understand is people who use a non-ILEC DSL provider, get discouraged buy service, outage, etc... and then threaten to change to cable. Cable works because (at least in my area) there is one company that owns the physical cable, the digital service transmission and the ISP. Of course, if one company owns all of the parts, then problems are going to be solved more efficiently than if there are several different (competing) players involved. If you want to compare apples to apples, then get DSL from your ILEC using their ISP.
:-)
The reason I have DSL is exactly because of this competition. I currently receive the DSL service from the ILEC, while all ISP services come from a local provider. This kind of competition is simply unavailable from cable in my area. I searched ISPs, found one with a TOS and privacy policy that I could respect, and then had my ILEC simply provide a dumb digital pipe to them. With cable, there would be no choice. If AT&T wanted to ban alt.sex.with.small.furry.animals or sell my browsing habits to the highest bidders, I would be SOL. With DSL, I can always change ISPs or service providers.
I am not 100% sold on the wonders of DSL. But in my area, DSL provides flexability and choices that do not exist in cable. I'm tired of people confusing the red-tape issues involved in DSL to Cable with the physical technologies. If the FCC stuck its fingers in cable, then there would be just as many SNAFUs with getting service as there are with DSL. If DSL were unregulated and so the only choice was to use the ILECs plant, service and ISL, then DSL would be as easy as cable. It's important to recognize the issues in DSL as being corporate BS and not inherent in the technology. Of course, none of this matters to me if email has been down for 3 days and I havn't been able to get my Q3 fix
It seems so amazingly simple, but all I want is to write well written code on interesting projects. For me, that currently means using an OO language on a Unix-esque platform to write some kind of non-trivial distributed application.
I used to want to be a games programmer (let's face it, the testing phase would be alot like how I spend my free time anyways). Then I wanted to write compilers and languages, then kernel hacking held my interest. But I have found, that in almost any field, there are interesting problems to solve and interesting code to write. The important part for me is to have some input on the design/architecture phase so that I feel like my time is being spent implementing a well thought out design.
What I have never wanted is to have my boss's job. I have reached that nebulous level of Sr. Developer/Tech Lead, and I don't want to be promoted any further. Sure, I'd have more power (who cares!) but I'd also have to go to meetings, make business level strategic decisions, do cost/benifit analysis and play politics with the other managers. Not that there is anything inherently wrong with any of these tasks, they just are not for me. I went to school to be a coder and I enjoy writing code.
My parents (and I think most people of their generation), have a very hard time understanding my lack of drive to "move up the corporate ladder". But the reality is, that I am doing the best job I can possbily imagine. A promotion would just have me managing people who are doing the job that I love. So as long as the cruch for coders continues, and the lack of H1Bs gets hung up in Congress, I can make a very comfortable ammount of money doing what I love. As the song says "...and who could ask for anything more?"
Many people (especially employers and perm employees) like to belittle contractors as greedy and unloyal. The last perm job I had, I was working 60-70 hour weeks, for 6 months on end. My reward for all that hard work was a 5% raise and an Atta-boy. Since then, my attitude is "an hour's pay for an hour of work."
The amazing thing I have found is that shops that hire contractors are much more likley to have 40-45 hour work weeks, since they have to pay for all of that overtime. The managers no longer try to squeeze "just one more feature" into a release, if they are told that will cause hundreds of billable hours to be added to the current financial quarter. They have a budget, and they can only get the work done that the budget allows them to pay for. All of a sudden, simple economics is keeping requirements from creeping and delivery dates honest.
Employers are more likley to add an extra 40 hour/week contractor, than try to squeeze 10 extra hours out of 4 existing contractors. If they truly need they manpower, then they can justify the budget and hire the bodies. An added bonus of this is that if a real crunch does come (and they always do), the staff is not already so strung out from working 60 hour weeks they they are able (and usually willing) to put in the OT.
An addition to point #2, about Java being fast enough for server side work (and begin compared as faster server-side than Perl).
In my experiance, the server side application is usually I/O bound by access either to the Client over the network, or the access to the next tier in the server (often a Database). Most server side processing is just not as expensive as the IO to the client and the DB.
Java gives you a language with real, enforced OO structure along with libs that make accessing a database or a client application very, very simple. It's a great, simple fit for many server-side applications.
An addition to point #2, about Java being fast enough for server side work (and begin compared as faster server-side than Perl).
In my experiance, the server side application is usually I/O bound by access either to the Client over the network, or the access to the next tier in the server (often a Database). Most server side processing is just not as expensive as the IO to the client and the DB.
Java gives you a language with real, enforced OO structure along with libs that make accessing a database or a client application very, very simple. It's a great, simple fit for many server-side applications.
I am having slightly different problems tweaking X's video modes. I have two systems, but only one monitor. The obvious solution is an A/B switch box. One system is a Win98 box, which I can configure to use a nice resolution (say 1024x768). Now, when I setup X on the other system to use 1024x768, the resolution is correct, but skewed into the upper right corner of the monitor. Tweaking the X settings to shift the image is the only option (since MS doesn't allow any adjustments).
On one hand, this has been very frusturating to get these settings correct under Linux/X. OTOH, since MS doesn't allow any adjustments, at least X offers a solution where under MS I would be SOL.
I have been a contractor for 4 years, after about 4 years of working as an employee. The reason I changed to contracting was for the money, but not in the usual way.
All of the projects I have worked on have had the design/development/test schedule cut to meet some deadline. Or, feature-creep has caused the project to bloat, without allowing the schedule to grow. The classic result of this is all of the programmers working 10-12 hour days for months on end. I switched to contacting to get an hour's pay for every hour worked. I would have no problem going full-time with a company, but my time is not free. If I ever contract for a company that does good SW engineering, with realistic schedules that can be met with 45 hour weeks, I'll be the first to sign on. Until then, contracting is the only way I feel that I am fairly paid for my time.