Getting work experience will help you realize what is important and why. I'm in the midst of a masters in CS, 5 years out of undergrad. I'm amazed at how clueless most of the other students are.
Having the work experience will make the experience of returning to school that much more enriching for you. The best option is to work for a few years, save some money, then go back to school and bang out the masters in a few semesters. My only complaint is that I didn't plan very well and can't just drop my job right now (plus have too miuch responsibility at work). Plan for it and you won't be disappointed.
We did a fairly detailed study of several of the more popular tools on the market and found that the Coverity product is pretty good in terms of effectiveness and rate of false positives. One finding was that the effort to properly configure the tool was non-negligible but that the results were worth the effort.
We also do a lot of work with the formal verification tools like Spin. Again, the effort can be substantial (some have likened Spin modeling to a black art) but the results that you get can be well worth it.
I suppose the last word is that if your definition of static analysis tools consists solely of Lint and its derivatives, you will get very little benefit (if any) from the effort. The same goes for assuming that you can buy a tool, install it, and get results immediately -- it just doesn't work that way. The tools, like everything else in the software realm, are not silver bullets, but rather another arrow in the quill.
Having seen a number of Bad Things happen as a result of incomplete CM processes, I can say first hand that process is the most important part of any CM strategy (BTW, this rule also holds for other practices such as systems engineering). If I had a nickel for every time I asked someone what their CM strategy was and they respond with something like "We're using tool XYZ...", I'd be living in the bahamas by now.
It's downright foolish to believe that a tool will solve your problems. But you sound like a smart guy, so I'm sure you've figured that out. However when in doubt, it's always a safe bet to peruse the SEI site (here's the section on SCM). As far as tools go, I'm always partial to the free ones, but here's my take:
CVS: Free and easy, but very basic. Difficult to manage in a large environment with lots of parallel development threads.
Subversion: Improves on some of CVS's shortcomings.
Arch: Haven't gotten a chance to try it out, but I hear good things. It's distributed, so there's no central repository.
ClearCase: IMHO, CC is not necessary unless you've got a project with a very large team and an extremely large code base (I'm thinking 1 million SLOC and up...)
The point here is that as long as space development continues to wallow along with out goals, it'll continue to be a toy program.
This is old so I'm not sure if you'll see it, but I agree with this sentiment totally. The problem, IMHO, is that NASA has a budget which comes from the government. Politicans, as far as I'm concerned, don't give a hoot about objectives -- as long as something serves their political interest, they back it. Otherwise, cue taps.
I think most of the robotic missions, which start out as the brainchild of really forward thinking (and usually way-out) scientists, have a pretty good idea of what the ibgger picture is. The manned progam, however, is what started NASA, but has grown into the 800-lb gorilla. Consequently, our flagship program, which really defines us, has no goal other than to serve politicans whose district has a say in it. We really need a refocus (which we got, but in absolutely the wrong way). Privitization would be nice, but let's be realistic -- there's no way private industry would get enough money to pull this off. We need those govt dollars.
Hmm...I wasn't aware that mentioning a similar failure was changing the subject. FYI, I was attempting to state that with the resolution of the new camera we'd be able to look for the remains of not one but two of the more prominent Mars failures in recent memory.
Next time, how about replying to the content of my message, not the overtly opinionated subtext that you decided to add. Otherwise, keep your thoughts to yourself.
Fuck/., I should go to ars where at least I have a reasonable shot at having a technical discussion sans the uber-trolls who stalk the forums here.
In addition, there is a real hope that we'll finally be able to find the remains of MPL (Mars Polar Lander, failed lander mission which probably crashed due to an improperly interpreted sensor measurement).
Actually, the radar instrument on Mars Express (MARSIS) and the radar instrument on MRO (SHARAD) are made by the same group from the Italian Space Agency. The MARSIS radar is capable of detecting features further below the surface than SHARAD, but as you mentioned SHARAD will have a greater amount of detail.
All in all this will be a fantastic mission -- it's been well thought out. For instance, HiRISE (the extremely high resolution camera, made by Ball Aerospace) is co-aligned on the spacecraft body with CTX (the context imager, built by Malin Space Science Systems), so that during the science phase they'll take a context image (which will cover a few miles squared) and then do high-res imaging of the same area with HiRISE.
There's two categories here that most uninitiated folk don't discern -- Science vs. Engineering. Put simply, engineers build the stuff that allows the scientists collect data to do their research. So that's not to say that the technology to enable this stuff isn't wicked cool, but you always need to remember your ultimate goal, and that is science. In this biz, science data is the ROI; all the tech research that occurs is so that we can build sumarter missions to get -- yep, you guessed it, more science data.
Check the date -- April 6. The cancellation of Prometheus is fairly recent and has been little reported, partly because NASA is trying to downplay the effect that this is going to have because they want to avoid the ngative PR associated with headlines like this one from the Pasadena Star News.
Those cuts are directly associated with the Moon/Mars "initiative". Also note the cancellation of MTO. Notice that a Mars program got cut, and that's a bad sign -- Mars programs get everything they need. It hasn't happened since the back to back failures in 99.
Oops -- watch you tongue there. As a result of this whole moon/mars thingy, Project Prometheus has been cut for good -- the project offices are closed and staff are being either re-assigned or layed off.
(BTW, if you haven't figured out by now the presidents 'Space Initiative' is a complete crock. Bush popped this in 2004 - electioneering if I've ever seen it; the only reason it's going anywhere is because he brought in a lackey willing to tow the party line.)
Bottom line is: this program sucks.
It's stifling technological innovation, as if there's not already enough of that at NASA (how old is the shuttle?) -- read the proposals. All of the planned missions will be done using reconfigurations of existing shuttle technology.
It's taking away money from other worthy programs -- JIMO, Prometheus, a million other proposed robotic missions, all because some politico wants to seem smart. I find it especially offensive that Bush thinks he can make the public think he cares about science and technology development -- am I supposed to forget about 'global warming doesn't exist' and 'the jury is still out on evolution'? Give me a break.
FWIW, I certainly hope that one of the first things the next president does is come in and cut this program out and let scientists decide what's valuable for science return, not some bible-thumping moron.
The impactor spacecraft (the one that hits the comet) has just a visible imager. The flyby spacecraft, on the other hand, has 2 visible and 2 IR imagers on board.
That's just a rumor. The boom problem was the real trouble. Aero did a very poor simulation of the dynamic envelope of the boom after deployment, and mission managers were concerned that it could contact the spacecraft and cause damage. I'm hoping that all goes well, as the SHARAD instrument on MRO (Mars Reconnaissance Orbiter) is essentially the same instrument as MARSIS. I worked with SHARAD a bit, and the team was really banking on having solid data from MARSIS before SHARAD is to begin operation. This is a step in the right direction.
Ooh, I see. But apparently we should be in the business of fully funding every arms program from here to the crab nebula, including the electro bastard death ray, which will instantly kill anyone suspected of not being a good 'merkin citizen.
Give me a break. I'm glad you equate scientific exploration with "charitable dollars". You know what I equate with "charitable dollars"? All the money that this nutjob and his cronies are throwing behind "faith-based sex ed" and anything else that puts god anywhere near the government. Please. Military & security dollars are interested in telling you what to do. Sorry, I want no part in that.
And why is it that every troll that posts some uber-patriotic BS to my clearly clever prose does so as anonymous coward? Come out of the closet sillylips!!!!
Agreed. I'm not sure exactly what to make of the article, though. I know that in the past few weeks, there has been talk that there would need to be other smaller tech-demonstration missions before JIMO, but I was under the impression that the JIMO project office would remain open and functional. The article does not make it clear whether the current mission, as scoped, has been delayed for some demo missions, or if even the demo missions have been axed. I know some folks who work on JIMO, but haven't heard from them yet. I'm sure official word will come soon. It would be a great loss but not all that surprising, considering the fate of the last large project that was attempted (Europa Orbiter).
Many domestic programs would be slashed under the plan, while spending on the military and homeland security would rise.
What a crock. Oooh, maybe next year they will kill NASA for good so that we can open up a new homeland security office dedicated to finding the boogeyman. I can see it now...(activate dream sequence): "We'll smoke that boogeyman out of his hole...and don't mess with Texas"
Yep. Also, let's hope that ESA has a better showing this christmas eve than they did last year (Beagle anyone?) In addition, I'm also anxious to see if the new trajectory solves the communications snafu discovered a few years back.
Thanks for the good wishes for DI. We're working our behinds off right now, but once the bird is flying we'll be in good shape.
I am anxiously awaiting the Jan 13th entry into Titan's atmosphere. Apparently there are huge electrical storms on Titan, and to top it all off with gooey, sugary icing, Huygens has a fricking microphone on it. Now that is going to be sweet. The only thing that I don't particularly like about it is that my mission, Deep Impact, could have our launch pushed back a day due to DSN coverage for the descent, but what the hell, it's *so* worth it.
Damnit! You stole my post. I am quite apprehensive about the next move if O'Keefe is actually on his way out. Goldin was a man of science, but horrible with the dollars (a man after my own heart). Sure, for the most part, O'Keefe is a tool and Bush's puppet, but in the current political climate (i.e. science takes a back seat to "loyalty" and "family values" and all that other BS) I'd *much* rather have O'Keefe stay than be replaced by some right-wing neocon chickenhawk nutjob who wants to put a zappo laser on my satellite in the name of "national security" and "protecting Mer'cans from terr". Think it can't happen? Look around you...I thouht lots of things couldn't happen -- then they did. So, long story short, I'm keeping this on my radar for the near term. Also, as long as Elachi is still on top at JPL, he'll do everything he can to keep their position solid (that is, as an FFRDC dedicated to the pursuit of knowledge of our world through well-rooted scientific principles. Wow, that was a mouthful!
I don't think so. Elachi's been there 30+ years -- he's a JPL'er by heart. I think he'll stay as long as he can, as I believe he thinks he can do a great deal for JPL (which I also tend to believe).
I usually don't reply to mindless anonymous trolls like yourself, but let's make one thing clear -- I have no affiliation to Semantic Designs whatsoever. I have used their tools and found them to be superior to anything else up to now. So unless you have some fact which I'm unaware of (if you did, it would be a bald-faced lie anyways), don't make baseless accusations to prove a tenous point. Next, let me respond to your brilliant question with another, equally brilliant question: do *you* even know what the tools I'm talking about do? Something tells me no. Could you describe the steps of a bottom-up tree transformation? Do you know how a compiler works? Or do you just think of it as 'that thing you use to make your code run'?
And I'm sorry that I'm not a purist like you, but if you'd like to write a few 100 KSLOC to control a commercial airliner, then have to test it and prove to some folks (who I'm assuming will be a lot smarter than you) that it's stable, then be my guest.
How is it that you are a 'real engineer'? Because you continue to do things despite the fact that they don't work? That sounds like a George Bush engineer to me. There's nothing more amusing that someone who chooses to defend themself with absolutely no backing to their argument, just mindless rants.
Also, you made the worst mistake possible in this topic: software engineers are *not* programmers. Yes, they program occasionally, but that is not and should not be their only activity. Any joe with half a brain can attend a trade school for 6 weeks and become a programmer -- it takes someone with some intelligence to look past the code, something I see you are incapable of doing. But I'd advise you to continue to think as you do -- maybe that's why you're out of a job.
And lastly, you missed the entire point of the post by thinking this was about kicking programmers out of a job -- it's about making smarter, more effective programmers who produce better code through the utilization of tools rooted in sound formal methodologies.
Hopefully you think my reply is as pointless as yours was. It's like the old saying, garbage in garbage out.
Yes, I agree. Most of the high-level tools that act in this way *do* in fact produce junk most of the time. Things like Rhapsody, if you are familiar with it, use a simple basic template and then do some fancy pattern matching to give you 'code'. But that's not code -- there's no formal semantics to what is produces; it's simply text. The same goes for products like Mathworks Stateflow toolkit. It's nice in that it allows you to focus more of your efforts on system level concerns, but the code that it produces is garbage. Moreover, this approach is not flexible, scalable, or easy to upgrade/maintain. That's why tools that apply formal methods are what are really needed -- tools that allow you to analyze and manipulate your design or code artifacts with some assurance that what you end up with is a coherent, sound product. The problem is that we focus entirely too much on code! Isn;t it sad that here we are, almost 2005, and the best way we have to produce a piece of code is to sit down in front of a keyboard for hours on end and use our fingers. Personally, I think it's pathetic. We're becoming complacent with what we have...how many people do you know that seriously consider using anything other than C, C++, or Java? We need to start looking for solutions to the problems on the horizon, not just trying to maintain something which may not be the best answer anyways. C++ was an ugly attempt to make C something it wasn;t intended to be. The extreme of this is what Alexandrescu is doing. Don't get me wrong, I think it's marvelous, but it's some of the ugliest code I've ever seen. With quality tools and a fresh perspective on how we do what we do, I think we'll continue to evolve.
As systems beome more complex and the amount of code required to do it grows, we need to actively find new strategies to help us create better software faster. Development activites also need to be tailored to suit other related activites, most notably verification and validation. MDA is a good step because it allows the developer to focus on the higher level concerns of the system, and step back from some of the code level concerns. Code generators and transformational systems are an excellent counterpart -- if you have a modeling language with a formal syntax and well-defined semantics, you can easily write very powerful transformational tools to spit out anything you like -- models in a different representation, code, test cases, graphs...the list goes on. A colleague of mine has a saying "No more software engineers"; I personally think he's on to something. We as a profession spend altogether too much time worrying about code-level concerns and the like, when to make more robust, fault-tolerant, higher-performance systems we need to spend more time focusing on higher-level system concerns.
Some links to check out on these topics:
Semantic Designs (makers of a very powerful, generic transformational environment)
http://semdesigns.com/
Link to an article from ACM Computer magazine (last january I think) about MDS, and project at JPL which aims to incorporate some of these ideas into the design of a robust, re-usable flight software platform
http://www.computer.org/computer/homepage/0104/Reg an/r1059.pdf
Yes, my favorite argument -- the "it's happened before so it's ok" line of defense. Great, you know a lot of history. Does that make you somehow less ignorant? No. It's really too bad that someone like you, who obviously has a decent head on their shoulders, can't use it wisely. You know, it's like kids who grow up in families where they are taught to hate others for one reason or another. All through their formative years they hear talk of hatred and bigotry. Some overcome it later in life, some don't. I feel no sympathy for thoase who don't -- I feel they should be shoved off a cliff. So while I find *you* naive, I don't feel sorry for you. You've had your chance to mature into a civilized individual but you have failed. Like the hero of you screechy morons Bill O-Reilly says "You've had your chance, noe SHUT UP!!!"
Getting work experience will help you realize what is important and why. I'm in the midst of a masters in CS, 5 years out of undergrad. I'm amazed at how clueless most of the other students are. Having the work experience will make the experience of returning to school that much more enriching for you. The best option is to work for a few years, save some money, then go back to school and bang out the masters in a few semesters. My only complaint is that I didn't plan very well and can't just drop my job right now (plus have too miuch responsibility at work). Plan for it and you won't be disappointed.
The Slahsdot-subsidized return of autopr0n.net is only days away. Thank the gods!
We also do a lot of work with the formal verification tools like Spin. Again, the effort can be substantial (some have likened Spin modeling to a black art) but the results that you get can be well worth it.
I suppose the last word is that if your definition of static analysis tools consists solely of Lint and its derivatives, you will get very little benefit (if any) from the effort. The same goes for assuming that you can buy a tool, install it, and get results immediately -- it just doesn't work that way. The tools, like everything else in the software realm, are not silver bullets, but rather another arrow in the quill.
It's downright foolish to believe that a tool will solve your problems. But you sound like a smart guy, so I'm sure you've figured that out. However when in doubt, it's always a safe bet to peruse the SEI site (here's the section on SCM). As far as tools go, I'm always partial to the free ones, but here's my take:
HTH.
I think most of the robotic missions, which start out as the brainchild of really forward thinking (and usually way-out) scientists, have a pretty good idea of what the ibgger picture is. The manned progam, however, is what started NASA, but has grown into the 800-lb gorilla. Consequently, our flagship program, which really defines us, has no goal other than to serve politicans whose district has a say in it. We really need a refocus (which we got, but in absolutely the wrong way). Privitization would be nice, but let's be realistic -- there's no way private industry would get enough money to pull this off. We need those govt dollars.
Next time, how about replying to the content of my message, not the overtly opinionated subtext that you decided to add. Otherwise, keep your thoughts to yourself.
Fuck /., I should go to ars where at least I have a reasonable shot at having a technical discussion sans the uber-trolls who stalk the forums here.
In addition, there is a real hope that we'll finally be able to find the remains of MPL (Mars Polar Lander, failed lander mission which probably crashed due to an improperly interpreted sensor measurement).
Actually, the radar instrument on Mars Express (MARSIS) and the radar instrument on MRO (SHARAD) are made by the same group from the Italian Space Agency. The MARSIS radar is capable of detecting features further below the surface than SHARAD, but as you mentioned SHARAD will have a greater amount of detail.
All in all this will be a fantastic mission -- it's been well thought out. For instance, HiRISE (the extremely high resolution camera, made by Ball Aerospace) is co-aligned on the spacecraft body with CTX (the context imager, built by Malin Space Science Systems), so that during the science phase they'll take a context image (which will cover a few miles squared) and then do high-res imaging of the same area with HiRISE.
There's two categories here that most uninitiated folk don't discern -- Science vs. Engineering. Put simply, engineers build the stuff that allows the scientists collect data to do their research. So that's not to say that the technology to enable this stuff isn't wicked cool, but you always need to remember your ultimate goal, and that is science. In this biz, science data is the ROI; all the tech research that occurs is so that we can build sumarter missions to get -- yep, you guessed it, more science data.
BTW, I'm a spacecraft engineer.
Those cuts are directly associated with the Moon/Mars "initiative". Also note the cancellation of MTO. Notice that a Mars program got cut, and that's a bad sign -- Mars programs get everything they need. It hasn't happened since the back to back failures in 99.
- It's stifling technological innovation, as if there's not already enough of that at NASA (how old is the shuttle?) -- read the proposals. All of the planned missions will be done using reconfigurations of existing shuttle technology.
- It's taking away money from other worthy programs -- JIMO, Prometheus, a million other proposed robotic missions, all because some politico wants to seem smart. I find it especially offensive that Bush thinks he can make the public think he cares about science and technology development -- am I supposed to forget about 'global warming doesn't exist' and 'the jury is still out on evolution'? Give me a break.
FWIW, I certainly hope that one of the first things the next president does is come in and cut this program out and let scientists decide what's valuable for science return, not some bible-thumping moron.The impactor spacecraft (the one that hits the comet) has just a visible imager. The flyby spacecraft, on the other hand, has 2 visible and 2 IR imagers on board.
That's just a rumor. The boom problem was the real trouble. Aero did a very poor simulation of the dynamic envelope of the boom after deployment, and mission managers were concerned that it could contact the spacecraft and cause damage. I'm hoping that all goes well, as the SHARAD instrument on MRO (Mars Reconnaissance Orbiter) is essentially the same instrument as MARSIS. I worked with SHARAD a bit, and the team was really banking on having solid data from MARSIS before SHARAD is to begin operation. This is a step in the right direction.
Give me a break. I'm glad you equate scientific exploration with "charitable dollars". You know what I equate with "charitable dollars"? All the money that this nutjob and his cronies are throwing behind "faith-based sex ed" and anything else that puts god anywhere near the government. Please. Military & security dollars are interested in telling you what to do. Sorry, I want no part in that.
And why is it that every troll that posts some uber-patriotic BS to my clearly clever prose does so as anonymous coward? Come out of the closet sillylips!!!!
Agreed. I'm not sure exactly what to make of the article, though. I know that in the past few weeks, there has been talk that there would need to be other smaller tech-demonstration missions before JIMO, but I was under the impression that the JIMO project office would remain open and functional. The article does not make it clear whether the current mission, as scoped, has been delayed for some demo missions, or if even the demo missions have been axed. I know some folks who work on JIMO, but haven't heard from them yet. I'm sure official word will come soon. It would be a great loss but not all that surprising, considering the fate of the last large project that was attempted (Europa Orbiter).
Where did you hear that? I know that SIM had a huge budget cut, but I haven't heard anytihng re: JIMO.
What a crock. Oooh, maybe next year they will kill NASA for good so that we can open up a new homeland security office dedicated to finding the boogeyman. I can see it now...(activate dream sequence): "We'll smoke that boogeyman out of his hole...and don't mess with Texas"
Thanks for the good wishes for DI. We're working our behinds off right now, but once the bird is flying we'll be in good shape.
I am anxiously awaiting the Jan 13th entry into Titan's atmosphere. Apparently there are huge electrical storms on Titan, and to top it all off with gooey, sugary icing, Huygens has a fricking microphone on it. Now that is going to be sweet. The only thing that I don't particularly like about it is that my mission, Deep Impact, could have our launch pushed back a day due to DSN coverage for the descent, but what the hell, it's *so* worth it.
Go Deep Impact!
I don't think so. Elachi's been there 30+ years -- he's a JPL'er by heart. I think he'll stay as long as he can, as I believe he thinks he can do a great deal for JPL (which I also tend to believe).
And I'm sorry that I'm not a purist like you, but if you'd like to write a few 100 KSLOC to control a commercial airliner, then have to test it and prove to some folks (who I'm assuming will be a lot smarter than you) that it's stable, then be my guest.
How is it that you are a 'real engineer'? Because you continue to do things despite the fact that they don't work? That sounds like a George Bush engineer to me. There's nothing more amusing that someone who chooses to defend themself with absolutely no backing to their argument, just mindless rants.
Also, you made the worst mistake possible in this topic: software engineers are *not* programmers. Yes, they program occasionally, but that is not and should not be their only activity. Any joe with half a brain can attend a trade school for 6 weeks and become a programmer -- it takes someone with some intelligence to look past the code, something I see you are incapable of doing. But I'd advise you to continue to think as you do -- maybe that's why you're out of a job.
And lastly, you missed the entire point of the post by thinking this was about kicking programmers out of a job -- it's about making smarter, more effective programmers who produce better code through the utilization of tools rooted in sound formal methodologies.
Hopefully you think my reply is as pointless as yours was. It's like the old saying, garbage in garbage out.
Yes, I agree. Most of the high-level tools that act in this way *do* in fact produce junk most of the time. Things like Rhapsody, if you are familiar with it, use a simple basic template and then do some fancy pattern matching to give you 'code'. But that's not code -- there's no formal semantics to what is produces; it's simply text. The same goes for products like Mathworks Stateflow toolkit. It's nice in that it allows you to focus more of your efforts on system level concerns, but the code that it produces is garbage. Moreover, this approach is not flexible, scalable, or easy to upgrade/maintain. That's why tools that apply formal methods are what are really needed -- tools that allow you to analyze and manipulate your design or code artifacts with some assurance that what you end up with is a coherent, sound product. The problem is that we focus entirely too much on code! Isn;t it sad that here we are, almost 2005, and the best way we have to produce a piece of code is to sit down in front of a keyboard for hours on end and use our fingers. Personally, I think it's pathetic. We're becoming complacent with what we have...how many people do you know that seriously consider using anything other than C, C++, or Java? We need to start looking for solutions to the problems on the horizon, not just trying to maintain something which may not be the best answer anyways. C++ was an ugly attempt to make C something it wasn;t intended to be. The extreme of this is what Alexandrescu is doing. Don't get me wrong, I think it's marvelous, but it's some of the ugliest code I've ever seen. With quality tools and a fresh perspective on how we do what we do, I think we'll continue to evolve.
Some links to check out on these topics:
Semantic Designs (makers of a very powerful, generic transformational environment) http://semdesigns.com/
Link to Nic Rouquettes slides from a talk on MDA at the UML 2003 conference) http://ase.arc.nasa.gov/uml03/rouquette.pdf
Link to an article from ACM Computer magazine (last january I think) about MDS, and project at JPL which aims to incorporate some of these ideas into the design of a robust, re-usable flight software platform http://www.computer.org/computer/homepage/0104/Reg an/r1059.pdf
Yes, my favorite argument -- the "it's happened before so it's ok" line of defense. Great, you know a lot of history. Does that make you somehow less ignorant? No. It's really too bad that someone like you, who obviously has a decent head on their shoulders, can't use it wisely. You know, it's like kids who grow up in families where they are taught to hate others for one reason or another. All through their formative years they hear talk of hatred and bigotry. Some overcome it later in life, some don't. I feel no sympathy for thoase who don't -- I feel they should be shoved off a cliff. So while I find *you* naive, I don't feel sorry for you. You've had your chance to mature into a civilized individual but you have failed. Like the hero of you screechy morons Bill O-Reilly says "You've had your chance, noe SHUT UP!!!"