There is a reason that a hippocratic oath style code of ethics won't work for coders - there is no regulatory body for coders.
The success of a professional code of ethics is dependent on a web of relationships: a regulatory/advocacy body puts pressure on the government to pass laws to require that certain jobs be performed only by people with a certain designation, and to grant power to various groups to control the designation. Meanwhile, employers must also be convinced of the benefits of classifying their workers as one of the professional designations.
A perfect example of this system is engineers: how many civil engineers have and maintain their P.eng (or whatever)? Alot - because they have to in order to get and keep jobs. But computer engineers? Practically none have their P.eng, because they don't need to, and employers aren't being pressured to require it.
So probably a better way to approach this issue is to find programmers that are working in fields that affect public safety, and pressure your government to require some sort of regulation. Once the first step has been taken, it will be easier to convince employers/government/the public that regulation is required for all programmers.
You've got a couple of things to consider here. First of all, you should remember that very few employers will offer you full employment status right off the bat. Firms hiring entry level employees generally have a "trial period" of at least 6 months or so, in order to protect themselves from the hassles of firing a full-fledged employee if that becomes necessary early on.
That being said, there is often an unspoken agreement about your intentions in a new job. Don't be fooled into thinking that just because you haven't committed to a long term on paper, you can up and leave when you feel like it, and still tell yourself that you have been honest. In other words, you will know if you are giving the impression that you intend to be a long-term employee - in this case you are not being 100% honest, however, you may not be acting wrong from an ethical standpoint. Keep in mind that your (potential) employer likely has a hidden agenda as well. Don't confuse "ethical behaviour" with "100% honesty".
Another way of looking at the matter is to consider what a reasonable time-frame for planning this type of trip is. I highly doubt that anything is carved in stone at this point - most likely your only commitment is to your friend. Get the job and then tell your employer 6/4/2 months before you intend to go - you decide how long is reasonable. Would you have these qualms about taking a job if you were planning a trip 2 years in the future? 3 years? 5 years?
The last thing you should keep in mind is that (and this is In My own Humble Opinion) if your prospective employer makes it clear to you that they are interested in an employee that wants to be around for the long haul, then you've gotta fess up. If they make it clear that they're concerned, it's an honesty & and ethics question.
... As far as I can tell from the article, they're talking about *internally* making the PS3 a multi-processor system.
They are looking into basing the architecture on some of IBMs research into distributed computing (specifically, something called grid computing).
They are *not* talking about *actual* distributed computing using the PS3 - this is purely about the internal design being based on a distributed model to get more performance.
this is the "hack" solution - one part cheaper components, one part coolness, many parts your time. If you just want something to work, listen to one of the other posters and buy something that's designed for this task.
1 - power - grab an old UPS. Most UPSs run off a 12V battery inside. It's trivial to mod this to run off your boat battery. In other words, old UPS == cheap AC inverter.
2 - case - buy a liquid cooled system (e.g. KryoTech) and spend some time with silicon sealant hermeti-cizing the case.
Paraphrasing the pdf here - Canadian citizens have the right to register themselves as formal objectors to this proposal. Objectors are then entitled (but not required) to attend and participate in hearings, recieve all releveant documentation, etc. The deadline is May 8th, 2002.
An important point in the document: The board is required by law to set and certify a levy, so your objection cannot be to the levy itself. This is actually encouraging to me - it is much more likely that a private objection could turn a board's decision than get a law thrown out.
I would highly recommend that you Canadians out there who are upset by this do something about it instead of just complaining on slashdot, where everyone agrees anyways. Read the document (it's actually interesting), and then register your objection. If the board hears a large number of well thought out arguments, it may actually make a difference!
The relationship between Holst's The Planets and the score to Star Wars is more than an intentional homage. (Compare Mars to the Imperial March). Legend has it that Lucas had been listening to Holst extensively and basically told Williams "Write me something like this".
Keep in mind that there's nothing wrong with doing this; Williams is a genius to be able to so closely mimic a style. Unfortunately, he is a bit of a one-trick pony - as you noted, all of his work ends up sounding more or less the same.
Actually, high pressure isn't much of an issue for creatures without air pockets inside - liquids are comparatively incompressible so it isn't an issue.
On the other hand, they will still have dissolved gases in their "precious bodily fluids" (obscure reference alert!) so a fast decompression would still be bad...
#1) Cat-Bat is just a silly flash game. Somehow I always need to play just one more round, though...
#2) igowin has also been fairly addictive recently (it's computer Go) - the 9x9 board is small enough to make the games fast. I hit it now the way I used to hit Programs-Accessories-Games-Solitaire.
And the non-entry ('cause I'm not really hooked is 3d-pinball. I can't go into the server room without playing one game...
Heh... you think Maxwell's laws will help you in real hardware hacking?
Someone really has been living up high on the tower of abstraction....
But seriously, I'd recommend picking something that you really want to build, (then eliminating your first choice 'cuz it's to fscking hard) and looking for resources on that. You'll get alot further if you pick a more definite goal than "I want to learn to build circuits". As you start working/learning, you'll have new ideas/goals which will lead to further ideas, etc., and the great cycle will have begun...
I think verilog has been mentioned already so I'll skip that (it's just VHDL lite IMHO). VHDL is around for a reason - it's about the maximum level of abstraction that's reasonable. High level (>=C) are great, but they work because microprocessors are designed to work with abstact structures. Hardware is just designed to work (usually). Think about it this way - if you want to program in C, program a *computer*, if you want to design hardware, keep in mind that you're designing hardware and *not* programming a computer.
If I'm totally off-base, and you were actually complaining about VHDL's crappy syntax (ON CLOCK'EVENT et al),just learn it - it's not bad at all once you get down to it, and it does make sense after you've used it for a while. (I hated it too when I first started).
This is not really new at all. At my school (U toronto), a "cheaterbeater" program was used in *every* programming assignment we had. And it detected more than just exact matches - it could figure out if you copied someone's code, shuffled some lines around, changed variable names, or other surface changes that would trick T.A.s. Several people were caught with this program. Why is this article here? It even says in the article that it was developed in '93 !!
Use scsi drives. They've been able to do this for quite some time now. Two suggestions (that I saw) have been made to make it work with IDE drives:
1 - use some kind of SCSI adapter with your drives. This will not work. The support for delayed spinup is in the hardware of the drive itself - if you have a drive that doesn't support this feature (i.e. IDE drives) it won't work.
2 - set up some relays or something and switch the power going to the drives. This is a huge kludge, and will work with the following caveat - the drives (and controller) *must* be hot-swappable. Otherwise your system will crash when you start turning on the drives.
So unless this is a basement project - *go* *SCSI*!
If they're targetting gamers, it seems a little odd that they would replace the standard game/midi port with the 5-pin DINs - which you can't plug a joystick into. I suppose they're thinking that usb joystick/gamepad is the way to go, but I really like my game pads as they are. On the other hand, having proper midi connectors makes it seem like they're taking musicians seriously again...
Last I checked, fortune was in the "games" section in the package manager I was using. It has certainly entertained me more than the windows built-in games (except maybe 3d pinball...)
It seems to me that you're barking up the wrong tree by asking what ISA boards are available to do the task. I find it unlikely that someone who was running a p200 server at home really wants to shell out *any* serious $$ for something designed specifically for the task at hand (I should know, being in a similar situation).
I mean, face it - if you really needed to run a server that was doing something worth monitoring cpu temp., fan speeds et. al - why would you set it up on old, likely flaky hardware?
No, setting up a p200 server for fun basically a hack - so why not treat it as such? Go all the way and build something! Heat sensitive resistors are cheap - with one op-amp, a control voltage and a comparator, you have yourself a heat alarm! Put a couple together, buffer it and run it into your serial port! The possibilities are endless.
You've made a couple of mistakes in your post. Although it's really cool to learn about Schrodinger's cat in freshman physics, once you get into the math of it, it's not quite as it seems. When physicists started examining quantum behaviour, they started with a certain frame of reference. Two very basic concepts in this frame of reference are the particle, and the wave. Light had been "proven" to be a wave phenomenon many years earlier by refraction experiments. However, all attempts to detect the medium through which it moved were in vain (see esp. Michelson & Morley). Einstein's work on the photoelectric effect (which earned him his Nobel Prize) "proved" that light was a particle phenomenon - light was composed of photons. The sometimes-particle-sometimes-wave nature of light is referred to as particle wave duality. Duality was also observed in other seemingly self-contradictory experiments (e.g. the oft-quoted double slit experiment).
 
In introductory physics, this is where they tell you that light is a particle and a wave, then about Schrodingers Cat, and about Heisenberg uncertainty (the more exactly you know the position of a particle, the less exactly you know its momentum, and analogous relationships with wavelength, etc).
 
Wow!, say all the young physics students. The world is inherently unknowable! Take/that/, determinists!
 
Sadly, the young physics students do not understand. The paradoxes "explained" by the above arise from the fact that a photon is/not/ a particle. It is also/not/ a wave. It's something else. But it's really useful to describe as a particle - sometimes. Other times, it's useful to describe it as a wave. We have reams and reams of equations and theorems to deal with particles and waves, so when we can model a photon as one of them, life is easy. However, since both the wave model and the particle model are inherently wrong, if you set up an experiment properly, you can produce what seems to be a paradox. Heisenberg uncertainty merely describes the breakdown of the two models mathematically. Schrodinger's Cat is an/analogy/ only - it describes a phenomenon that only applies to things like photons and electrons.
 
Interestingly, once you measure a particle/wave, you change it - since it is impossible to measure something without interacting with it. The first explanation most people hear is that when you measure a photon as a particle, there's something about a waveform collapsing, and it "becomes" a particle. This is easy to understand, but is, unfortunately, pure rubbish. If you measure it as a particle, you will get some results that are consistent with it being a particle, and you will change something about it. That's all.
 
So to get to the encryption (although I'm sure this is already (-oo, offtopic)) here's how it works: find a particle that will change in some way measurable if snooped on. Have the sender and receiver each come up with a random sequence (polarizations). Using your photons, find the common choices in the random number streams. Now - if the photon is snooped on, (measured too early) you can tell. Even if you don't notice the snooping, unless the snooper picked the same sequence of common choices, (s)he's left with nothing.
And that's the end of my post.
Bitscope is a great solution, especially if you're looking to hack around a bit (ie build it), since they've got packages ranging from plans only (free) to fully assembled and tested ($lots). However, as an engineering student in a similar situation, it still wasn't worth it to me - for most of the stuff I did at home, a $50 used analog tek scope did the trick. If you *really* need a high-precision computer interfacing 100 mhz scope, use the lab! Try pawn shops for used analog scopes - I've seen quite a few for under 100 bucks in decent condition (including probes).
As mentioned in the BBC article, DARPA made the first successful scramjet launch this past August.
Here is the DARPA report on the launch. The BBC's description of the DARPA launch is a tad misleading - they say it was launched from a "gun", but really it was a 2 stage, 150 foot railgun capable of launching a 17 pound projectile at 9,200 mph.
As an EE, I am really quite tired of people saying that analog design is "an art" or "black magic", as compared to digital design. This is just not true. As I see it, the problem is this: when people (non-EEs) see a block diagram for a digital device, it's quite easy for them to say that they "understand" it. If you take a similar, high level approach to your "black-magic" fields (analog circuit design, signal processing, etc.), they seem just as simple.
If you look at digital design as nothing more than shoving together some well-behaved ICs, then you're all set. But try designing one of those ICs - you think transient effects and device non-linearities are not a factor? Think again.
Don't get me wrong - I love analog circuits - they're just more fun - but if you're going to describe something as black magic, try saying "real world implementation is black magic".
There is a reason that a hippocratic oath style code of ethics won't work for coders - there is no regulatory body for coders.
The success of a professional code of ethics is dependent on a web of relationships: a regulatory/advocacy body puts pressure on the government to pass laws to require that certain jobs be performed only by people with a certain designation, and to grant power to various groups to control the designation. Meanwhile, employers must also be convinced of the benefits of classifying their workers as one of the professional designations.
A perfect example of this system is engineers: how many civil engineers have and maintain their P.eng (or whatever)? Alot - because they have to in order to get and keep jobs. But computer engineers? Practically none have their P.eng, because they don't need to, and employers aren't being pressured to require it.
So probably a better way to approach this issue is to find programmers that are working in fields that affect public safety, and pressure your government to require some sort of regulation. Once the first step has been taken, it will be easier to convince employers/government/the public that regulation is required for all programmers.
You've got a couple of things to consider here. First of all, you should remember that very few employers will offer you full employment status right off the bat. Firms hiring entry level employees generally have a "trial period" of at least 6 months or so, in order to protect themselves from the hassles of firing a full-fledged employee if that becomes necessary early on.
That being said, there is often an unspoken agreement about your intentions in a new job. Don't be fooled into thinking that just because you haven't committed to a long term on paper, you can up and leave when you feel like it, and still tell yourself that you have been honest. In other words, you will know if you are giving the impression that you intend to be a long-term employee - in this case you are not being 100% honest, however, you may not be acting wrong from an ethical standpoint. Keep in mind that your (potential) employer likely has a hidden agenda as well. Don't confuse "ethical behaviour" with "100% honesty".
Another way of looking at the matter is to consider what a reasonable time-frame for planning this type of trip is. I highly doubt that anything is carved in stone at this point - most likely your only commitment is to your friend. Get the job and then tell your employer 6/4/2 months before you intend to go - you decide how long is reasonable. Would you have these qualms about taking a job if you were planning a trip 2 years in the future? 3 years? 5 years?
The last thing you should keep in mind is that (and this is In My own Humble Opinion) if your prospective employer makes it clear to you that they are interested in an employee that wants to be around for the long haul, then you've gotta fess up. If they make it clear that they're concerned, it's an honesty & and ethics question.
Just my $x/100 {xEint;0x100}.
... As far as I can tell from the article, they're talking about *internally* making the PS3 a multi-processor system.
They are looking into basing the architecture on some of IBMs research into distributed computing (specifically, something called grid computing).
They are *not* talking about *actual* distributed computing using the PS3 - this is purely about the internal design being based on a distributed model to get more performance.
this is the "hack" solution - one part cheaper components, one part coolness, many parts your time. If you just want something to work, listen to one of the other posters and buy something that's designed for this task.
1 - power - grab an old UPS. Most UPSs run off a 12V battery inside. It's trivial to mod this to run off your boat battery. In other words, old UPS == cheap AC inverter.
2 - case - buy a liquid cooled system (e.g. KryoTech) and spend some time with silicon sealant hermeti-cizing the case.
3 -
Paraphrasing the pdf here - Canadian citizens have the right to register themselves as formal objectors to this proposal. Objectors are then entitled (but not required) to attend and participate in hearings, recieve all releveant documentation, etc. The deadline is May 8th, 2002.
An important point in the document: The board is required by law to set and certify a levy, so your objection cannot be to the levy itself. This is actually encouraging to me - it is much more likely that a private objection could turn a board's decision than get a law thrown out.
I would highly recommend that you Canadians out there who are upset by this do something about it instead of just complaining on slashdot, where everyone agrees anyways. Read the document (it's actually interesting), and then register your objection. If the board hears a large number of well thought out arguments, it may actually make a difference!
The relationship between Holst's The Planets and the score to Star Wars is more than an intentional homage. (Compare Mars to the Imperial March). Legend has it that Lucas had been listening to Holst extensively and basically told Williams "Write me something like this".
Keep in mind that there's nothing wrong with doing this; Williams is a genius to be able to so closely mimic a style. Unfortunately, he is a bit of a one-trick pony - as you noted, all of his work ends up sounding more or less the same.
Actually, high pressure isn't much of an issue for creatures without air pockets inside - liquids are comparatively incompressible so it isn't an issue.
On the other hand, they will still have dissolved gases in their "precious bodily fluids" (obscure reference alert!) so a fast decompression would still be bad...
#1) Cat-Bat is just a silly flash game. Somehow I always need to play just one more round, though...
#2) igowin has also been fairly addictive recently (it's computer Go) - the 9x9 board is small enough to make the games fast. I hit it now the way I used to hit Programs-Accessories-Games-Solitaire.
And the non-entry ('cause I'm not really hooked is 3d-pinball. I can't go into the server room without playing one game...
Heh ... you think Maxwell's laws will help you in real hardware hacking?
Someone really has been living up high on the tower of abstraction....
But seriously, I'd recommend picking something that you really want to build, (then eliminating your first choice 'cuz it's to fscking hard) and looking for resources on that. You'll get alot further if you pick a more definite goal than "I want to learn to build circuits". As you start working/learning, you'll have new ideas/goals which will lead to further ideas, etc., and the great cycle will have begun ...
If only it was on the internet, instead of that guy's local network, it could also be the first lego brick to get slashdotted!
I think verilog has been mentioned already so I'll skip that (it's just VHDL lite IMHO). VHDL is around for a reason - it's about the maximum level of abstraction that's reasonable. High level (>=C) are great, but they work because microprocessors are designed to work with abstact structures. Hardware is just designed to work (usually). Think about it this way - if you want to program in C, program a *computer*, if you want to design hardware, keep in mind that you're designing hardware and *not* programming a computer.
If I'm totally off-base, and you were actually complaining about VHDL's crappy syntax (ON CLOCK'EVENT et al),just learn it - it's not bad at all once you get down to it, and it does make sense after you've used it for a while. (I hated it too when I first started).
This is not really new at all. At my school (U toronto), a "cheaterbeater" program was used in *every* programming assignment we had. And it detected more than just exact matches - it could figure out if you copied someone's code, shuffled some lines around, changed variable names, or other surface changes that would trick T.A.s. Several people were caught with this program. Why is this article here? It even says in the article that it was developed in '93 !!
1 - use some kind of SCSI adapter with your drives. This will not work. The support for delayed spinup is in the hardware of the drive itself - if you have a drive that doesn't support this feature (i.e. IDE drives) it won't work.
2 - set up some relays or something and switch the power going to the drives. This is a huge kludge, and will work with the following caveat - the drives (and controller) *must* be hot-swappable. Otherwise your system will crash when you start turning on the drives.
So unless this is a basement project - *go* *SCSI*!
If they're targetting gamers, it seems a little odd that they would replace the standard game/midi port with the 5-pin DINs - which you can't plug a joystick into. I suppose they're thinking that usb joystick/gamepad is the way to go, but I really like my game pads as they are. On the other hand, having proper midi connectors makes it seem like they're taking musicians seriously again...
Last I checked, fortune was in the "games" section in the package manager I was using. It has certainly entertained me more than the windows built-in games (except maybe 3d pinball...)
It seems to me that you're barking up the wrong tree by asking what ISA boards are available to do the task. I find it unlikely that someone who was running a p200 server at home really wants to shell out *any* serious $$ for something designed specifically for the task at hand (I should know, being in a similar situation).
I mean, face it - if you really needed to run a server that was doing something worth monitoring cpu temp., fan speeds et. al - why would you set it up on old, likely flaky hardware?
No, setting up a p200 server for fun basically a hack - so why not treat it as such? Go all the way and build something! Heat sensitive resistors are cheap - with one op-amp, a control voltage and a comparator, you have yourself a heat alarm! Put a couple together, buffer it and run it into your serial port! The possibilities are endless.
 
In introductory physics, this is where they tell you that light is a particle and a wave, then about Schrodingers Cat, and about Heisenberg uncertainty (the more exactly you know the position of a particle, the less exactly you know its momentum, and analogous relationships with wavelength, etc).
 
Wow!, say all the young physics students. The world is inherently unknowable! Take /that/, determinists!
 
Sadly, the young physics students do not understand. The paradoxes "explained" by the above arise from the fact that a photon is /not/ a particle. It is also /not/ a wave. It's something else. But it's really useful to describe as a particle - sometimes. Other times, it's useful to describe it as a wave. We have reams and reams of equations and theorems to deal with particles and waves, so when we can model a photon as one of them, life is easy. However, since both the wave model and the particle model are inherently wrong, if you set up an experiment properly, you can produce what seems to be a paradox. Heisenberg uncertainty merely describes the breakdown of the two models mathematically. Schrodinger's Cat is an /analogy/ only - it describes a phenomenon that only applies to things like photons and electrons.
 
Interestingly, once you measure a particle/wave, you change it - since it is impossible to measure something without interacting with it. The first explanation most people hear is that when you measure a photon as a particle, there's something about a waveform collapsing, and it "becomes" a particle. This is easy to understand, but is, unfortunately, pure rubbish. If you measure it as a particle, you will get some results that are consistent with it being a particle, and you will change something about it. That's all.
 
So to get to the encryption (although I'm sure this is already (-oo, offtopic)) here's how it works: find a particle that will change in some way measurable if snooped on. Have the sender and receiver each come up with a random sequence (polarizations). Using your photons, find the common choices in the random number streams. Now - if the photon is snooped on, (measured too early) you can tell. Even if you don't notice the snooping, unless the snooper picked the same sequence of common choices, (s)he's left with nothing. And that's the end of my post.
Bitscope is a great solution, especially if you're looking to hack around a bit (ie build it), since they've got packages ranging from plans only (free) to fully assembled and tested ($lots). However, as an engineering student in a similar situation, it still wasn't worth it to me - for most of the stuff I did at home, a $50 used analog tek scope did the trick. If you *really* need a high-precision computer interfacing 100 mhz scope, use the lab! Try pawn shops for used analog scopes - I've seen quite a few for under 100 bucks in decent condition (including probes).
I don't know, but I think Colnel Panic works for him ...
As mentioned in the BBC article, DARPA made the first successful scramjet launch this past August. Here is the DARPA report on the launch. The BBC's description of the DARPA launch is a tad misleading - they say it was launched from a "gun", but really it was a 2 stage, 150 foot railgun capable of launching a 17 pound projectile at 9,200 mph.
As an EE, I am really quite tired of people saying that analog design is "an art" or "black magic", as compared to digital design. This is just not true. As I see it, the problem is this: when people (non-EEs) see a block diagram for a digital device, it's quite easy for them to say that they "understand" it. If you take a similar, high level approach to your "black-magic" fields (analog circuit design, signal processing, etc.), they seem just as simple.
If you look at digital design as nothing more than shoving together some well-behaved ICs, then you're all set. But try designing one of those ICs - you think transient effects and device non-linearities are not a factor? Think again.
Don't get me wrong - I love analog circuits - they're just more fun - but if you're going to describe something as black magic, try saying "real world implementation is black magic".
-Peace