Hm, I'd agree with the previous poster. If another Joe Programmer has a more impressive (looking) CV, who do you think they'll consider first?
As for your letter, I'd say it gives a clearer impression about your experience than your CV. My CV's 8 pages long (agreed, it's a bit overkill...) but it got me a job. Best of luck to you!
Better testing could allegedly cut that by one-third.
Better testing might find a few more bugs, but it would have been better to have prevented them in the first place. True, code coverage tests and automatic testing catch a few bugs that can not easily be caught in other ways.
However we can do much more. Code reading finds twice as many bugs per hour as testing (see 'Rapid Development', MS-press). But this still relies on 'the human factor'. If we are ever going to create bug-free systems, we are going to have to reduce 'the human factor' further.
Better development tools can help prevent bugs too: visual tools help reducing the amount of code we need to write. Garbage collection can prevent memory leak problems. Folding editors can give better overview.
It could help to have development tools that force the programmer into good habits rather than depending on their discipline. Even a high level language like Java still happily allows the programmer not to check function return values.
I'm generally not a fan of functional programming languages, but they did seem to get that part right. Although it could be annoying at first to be forced into good habits, it would soon become second nature. Ever forgot to declare a variable in a strongly typed language such as Pascal or C++? You get the point.
All things taken in consideration, there's nothing that helps prevent bugs like having a solid, complete design before programming starts. Unfortunately in the real world we have to deal with changing needs. Our current generation of development tools doesn't anticipate that our systems will change a lot. When it comes to changing the structure of our application, we are pretty much on our own.
Finally, even with perfect tools it will be a challenge to create perfect systems. Clients have a tendency not to tell what they want, but to tell how they want things done (and not really knowing what they want). As a parallel, at the doctor they would tell 'I want you to give me an aspirine' rather than telling 'I want you to cure my headache', disregarding the cause of their headache. It's not always easy to tell the client that he really needs to have a tumor removed that another doctor put in.
This article looks strangely familiar... IBM wrote a paper on 'autonomic computing', which has been mentioned in a previous slashdot article. Although a bit 'manager talk', the paper is an interesting read.
Looking at the 'restored' pic I see only 'horizontal' distortion, imagine how well the picture would have been restored if they would have applied their maths in *two* dimensions...
Actually they'd explode if you'd stack'em like that ,)
640k :)
The article pointed to last year though,
was
http://www.research.ibm.com/autonomic
it is now located at
http://researchweb.watson.ibm.com/autonomic/
Hm, I'd agree with the previous poster. If another Joe Programmer has a more impressive (looking) CV, who do you think they'll consider first? As for your letter, I'd say it gives a clearer impression about your experience than your CV. My CV's 8 pages long (agreed, it's a bit overkill...) but it got me a job. Best of luck to you!
... there for ages. Hmm they seem to have trouble releasing on schedule ,)
[link to mslinux.org]
;)
That link has been there for ages. I see the release date has been moved *again*?
Better testing could allegedly cut that by one-third.
Better testing might find a few more bugs, but it would have been better to have prevented them in the first place. True, code coverage tests and automatic testing catch a few bugs that can not easily be caught in other ways.
However we can do much more. Code reading finds twice as many bugs per hour as testing (see 'Rapid Development', MS-press). But this still relies on 'the human factor'. If we are ever going to create bug-free systems, we are going to have to reduce 'the human factor' further.
Better development tools can help prevent bugs too: visual tools help reducing the amount of code we need to write. Garbage collection can prevent memory leak problems. Folding editors can give better overview.
It could help to have development tools that force the programmer into good habits rather than depending on their discipline. Even a high level language like Java still happily allows the programmer not to check function return values. I'm generally not a fan of functional programming languages, but they did seem to get that part right. Although it could be annoying at first to be forced into good habits, it would soon become second nature. Ever forgot to declare a variable in a strongly typed language such as Pascal or C++? You get the point.
All things taken in consideration, there's nothing that helps prevent bugs like having a solid, complete design before programming starts. Unfortunately in the real world we have to deal with changing needs. Our current generation of development tools doesn't anticipate that our systems will change a lot. When it comes to changing the structure of our application, we are pretty much on our own.
Finally, even with perfect tools it will be a challenge to create perfect systems. Clients have a tendency not to tell what they want, but to tell how they want things done (and not really knowing what they want). As a parallel, at the doctor they would tell 'I want you to give me an aspirine' rather than telling 'I want you to cure my headache', disregarding the cause of their headache. It's not always easy to tell the client that he really needs to have a tumor removed that another doctor put in.
This article looks strangely familiar... IBM wrote a paper on 'autonomic computing', which has been mentioned in a previous slashdot article. Although a bit 'manager talk', the paper is an interesting read.
Looking at the 'restored' pic I see only 'horizontal' distortion, imagine how well the picture would have been restored if they would have applied their maths in *two* dimensions...
The AbiWord wordprocessor saves its files as XML, can print to PDF files (and I think HTML too) and has never crashed on me.