College is not programmer training. It's building a foundation upon which one learns new things for the rest of their life... or at least for the rest of their career. There will be good programmers and bad programmers coming out of CS programs at every GPA level. You have to figure out which is which because that was not what colleges are there to do. One of the best programmers I ever had working for me had no college at all and had only done some code hacking at home. In other cases it's real world experience that counts more than compuetr experience.
The problem with Java is there is no built-in filter to keep out the bad programmers. I agree that Java is better than Perl. But I've seen probably more bad programmers doing a Java than bad programmers doing Perl. This doesn't mean one should stop using Java by any means. It just means you better select your programmers very very carefully. And their experience in other languages should count.
Programmers are in short supply because demand for code and new features is limitless.
If you truly mean limitless, then sure, there is a supply shortage. But there is a surplus, too, because the hiring is not being done to meet the demand for code. In too many cases the hiring is being done with restrictions specified that really don't need to be, as the article points to. For example, if the shop language is FOO, a good programmer who has X years experience doing all kinds of different development in a few languages, and is willing to program in FOO, can do better than the average programmer who has X years experience in FOO. But HR too often gets in the way and prevents some people's resumes from even being considered.
Too many businesses want to hire some idea of "programmer" (or "engineer", etc) that the management has in mind, that isn't really the kind of person who could get the real work done. They figure if the candidate understands business they will have a good programmer. Such managers don't know how to actually get things done besides a P&L statement (and they will end up with more on the L side as a result).
I have found that stock switching power supplies as found in common computers are slightly more efficient when powered with 240 volts rather than 120 volts. Some more so and some less so. And virtually all of them can be changed over to 240 volts (having the correct 2-pole switching).
And by using 240 volts instead of 120 volts, you can run twice as many computers on the same power loss in the building wiring (same current, same size wire, same power loss due to heat, serving twice the load).
Direct DC fed power systems may or may not provide realistic savings. DC introduces new electrical safety challenges and costs (electrical arcs inside switches, circuit breakers, and fuses, cannot be cut off by AC's zero voltage crossing that DC does not have). This requires lower voltages for equivalent interruption safety. But if power supplies end up losing less power than the building wiring at the higher current, then DC may be the better choice.
We will need more in-depth study to determine if DC will save power or not at a given installation (it may at some and not at others). But for most installations, going from 120 volts up to 208 or 240 volts (depending in which is available) is as simple as rewiring the system (using 2-pole breakers... requiring double size power panels) and verifying the computer power supplies are ready for the higher voltage.
208 volts is the likely line-to-line voltage in data centers powered by 3-phase (208Y/120) power in North America. Future data centers could be designed for a 416Y/240 volt power system which can also be used to power fluorescent lighting.
I've never had any trouble configuring Apache. But then, I'm a geek. The problem isn't so much that Apache or PHP is losing out to IIS or.NET... the problem (as we see it) is that geeks are losing out to suits.
Yes, Apache gives more control. And yes, IIS lets you have a web server up without having to control so much.
So there are more people in control of web servers that don't care about giving up control, and will take the easy route. I see that more and more on web sites that suck, anyway.
Oh and some yoke that could be installed so that anyone enquiring from the outside using network tools etc (i.e. M$ Administrator), would be told 'Windows Machine - nothing to see here'.
Actually, PNG doesn't support animation at all. The animated sister format is MNG. Animated GIFs are kind of a poor animation format anyway, but they're great for small-size effects on web pages. MNG support in browsers is non-existent, so this has paradoxically limited PNG's uptake (and made GIF more difficult to kill).
And this was known (because I posted it) back when PNG was becoming a new standard. The design of PNG would even make it easy to have a rudimentary animation facility (that's all that would have been needed to bump GIF). Yet it wasn't done. What a missed opportunity. What a historical screwup. Well, OK, it wasn't your fault, I presume. Do you know whose fault it is?
The "map" is the router acting in the role of address assigner... e.g. like DHCP. What would be mapped would be MAC addresses to smaller unique IP address parts in an addressing scheme that would not have enough bits to ensure the 2nd half is globally unique. Suppose the 2nd half only had 16 bits. The address assigner (which could be run in the router) would assign a number in that 16 bit range to each host that asks for one just like some DHCP system. But it may or may not have persistent storage to keep that mapping. These are typical risks of dynamic addressing. By using enough bits to ensure the 2nd half could be globally unique based on a really globally unique address like the ethernet MAC address, it eliminates many issues, such as the machines trying to communicate with each other before the router comes online (although in IPv6 they may not know their global address... they can use a link local address). The map I was referring to was the assignment table.
3.) Shut the theatre down as an example to all the people who try to rip off theatres by showing them that if they do this they don't get to see movies in the theatre anymore and have to download...
... oh wait
Seriously, the real problem is, how can whoever it is that has to deal with a case of seeing someone with a camcorder really know whether they are good or bad even if we make a clear cut definition for them to work from? It's dark in there. They can see someone has something like a camcorder. They have to go get them right then, or wait until after the movie and hope they can see who it is.
Theatre owners are just as much dickheads, by definition, as so much of the movie industry is. But it also sucks to be them because they are caught in the middle. If they don't enforce, they can lose the right to get movies to show. Of course if people went and picketted at the public street entrance to the theatre, maybe there might be enough bad press and loss of business that their life will be even worse and they have to start deciding between good and bad.
And just how many of these PI blocks are needed? The problem is each of these needs a global routing table entry. So IPv6 does appear to have a "damned if you do, damned if you don't" problem with this.
While multi-homing is important for highly reliable connectivity, we need to do some better aggregating of it. PI blocks should be limited to only those businesses so large that they can't operate as part of a group collective. Smaller businesses that do need multi-homing (as opposed to redundant connectivity to one provider that has multi-homing) can group together to use a common PI block divided into subnets and thus use cause one route entry for the lot of them.
But there is one nice advantage to being on an IPv6-only network. You will get a few months, or at least a few weeks, of no spam.
The idea is that IPv6 addresses are a 2-part address. The first 64-bit part is the classification and routing. The second 64-bit part is the unique space, although literally that does not need to be. The idea is to eliminate error and complexity prone steps to map unique link layer addresses into globally routable addresses. Sure, this could have been done with a lot fewer addresses and still have enough for even the very largest networks. But then you'd have to ensure that no 2 hosts could end up with conflicting addresses. The gateway router could certainly do that, but if it gets rebooted, all the addresses might have to be changed because the map gets reset. By using link layer addresses, once the globally routable prefix is known, the host/interface addresses can remain constant even if the router is rebooted. One of the goals of IPv6 is more automatic configuration.
But they don't because that would eat into their proprietary OS cash cow.
Not quite. The Windows OS itself is a small fraction of the revenue Microsoft earns. If that revenue dried up today, while they would notice, life would go on and in a few months they would be making more money, anyway.
But Microsoft wants you to run Windows for other reasons. It's more about controlling your computing environment. It's about forcing you to use all their other crap, and getting revenue from you and from others in a myriad of lock-in schemes. Microsoft is the sheepdog and the people are... well, you know.
Maybe 3 oz isn't enough to bring down a plane that kills everyone. But it is enough to kill everyone which (eventually) brings down the plane. There are more than a couple poisons that can kill a lot of people with just 3 oz. The ones I know of are even described on Wikipedia.
Terrorist goes in the queue with a bottle of clear liquid that will blow up an aeroplane. They take away the bottle, nobody checked whether he was a threat or not.
Rinse, lather, repeat... until one day they slip up and miss the bootle, and the terrorist gets to take down a plane full of innocent people.
We need to do more than just take bombs away from terrorists and let them go on their way. But we need to know if they are terrorists to be able to do that. Not even trying to figure it out is where this goes wrong. OPEN THE FRIGGIN BOTTLE AND TAKE A SNIFF (or let Fido do it).
My cousin, Annie Coward, was going to name her first son Anonymous. But when I warned her that Anonymous Coward was already listed on the no-fly list 11,971 times, mostly for posts on Slashdot, she changed her mind and named him Albert instead.
There is a level of trust you have to have in the system. If the voting officials are all determined to see candidate X win, and are willing to violate the public trust to do so, then candidate X will "win".
But at least there is the opportunity for a paper ballot to be available for rescanning with better software, or human vision in a recount. It's better than just hiding everything inside some proprietary system.
IPsec works over IPv4. IPv4 works without IPsec. I haven't found anyone (yet) that has gotten IPsec over IPv6 (I'm not talking about IPv6 tunneled over IPsec protected IPv4) to actually work on Linux or BSD. Surely someone has. But Google turns up a number of reports of problems that go unresolved and unanswered (except in one case people reporting they also cannot get it to work). I've only been spending a couple weeks trying to get it to at least establish a security association between 2 machines.
Which protocol to scrap and start over? Or is it just bad implementation? If we can at least get this working, IPv6 might be considered ready to go.
Paper ballots do have their problems. People don't always mark them consistently. Sometimes they mark one candidate then try to rub it out and mark another. The paper ballot was hard to read by electronic means and manual counting was too time consuming to get the quick results most people wanted.
Punch cards that people have to do the punching on don't always get punched right (remember the hanging chad problem). Sometimes people start to punch one hole, and realize they are in the wrong hole or change their mind real fast and try to punch another instead. Sometimes 2 or more holes are punched. Sometimes holes are punched partially. In most cases people could check, but they don't, or don't really know they should.
Computer voting was intended to eliminate these things. But that's its fundamental misguidance. Instead, it should be used to enhance them and correct the issues.
Voting station computers should do nothing more than assist a voter in creating a reliably readable paper ballot. The voting station should not be networked, and not even have any storage space. It would be an embedded machine booted from flash that is hardware wired to be unwritable, or booted from a CDROM or equivalent. It should boot very fast (embedded developers know how to do this and bring a minimal system and application up in a second). It should be rebooted between each voter.
The voting station would have a simple single sheet printer and an LCD flat screen with touch sensors. The voter would "touch" their votes and always have the ability to go back, or even jump around randomly to various offices/issues to vote on. Once done, the voter can press the "I am finally done" button to print the choices on paper.
What is printed on the paper is a combination of scannable text and bar codes with strong checksums (SHA1). The text shall be human readable (although in big elections some people might need optical reading assistance). Visually impaired people can ask for a poll worker to read back their ballot to them.
The next step is the paper ballot is taking to the reading station. The ballot is read in by another computer with a scanner. This computer scans the text and reduces it to a set of simple vote codes. These vote codes are checksummed and that is compared against the bar codes. If there is a mismatch, probably a scanner error took place, or the ballot was damaged or smudged. It flashes and beeps a warning the the ballot is not readable. This may require the voter to re-do another ballot (this one is marked as bad and the voter is given another sheet and front-of-line access to a voting station).
The scanner keeps tallies and may send results to a central office. Larger voting places may have more than one scanner and tallies will be done by a central computer. The paper ballot is then inserted UNFOLDED into a locked box.
The voter gets a receipt for having voted, but does NOT get a copy of what votes they made. If they want to remember their own votes, they must make their own notes themselves. The reason for this is that no voter should have any official statement of who they voted for to ensure no voter can "prove" to someone else who they voted for. This has been a long time standard to impede vote buying/selling, and should not change.
The computers that tally the votes could give nearly instant 100% results shortly after polls close. But that's not the end of it. Those results are not certified. The voting officials will, in the next few days, monitor the process if re-scanning all the paper ballots to ensure the results are consistent. If they are satisfied of this, then they certify the election results. If there are any issues, then the paper ballots can be manually checked.
This process is still paper based, and still just as auditable and recountable as any paper based system. It gains the avantages of consistency in the marking of ballots. Instead of being hand marked, they are "computer marked" (in a way that humans c
What site was that? I want to test it.
College is not programmer training. It's building a foundation upon which one learns new things for the rest of their life ... or at least for the rest of their career. There will be good programmers and bad programmers coming out of CS programs at every GPA level. You have to figure out which is which because that was not what colleges are there to do. One of the best programmers I ever had working for me had no college at all and had only done some code hacking at home. In other cases it's real world experience that counts more than compuetr experience.
The problem with Java is there is no built-in filter to keep out the bad programmers. I agree that Java is better than Perl. But I've seen probably more bad programmers doing a Java than bad programmers doing Perl. This doesn't mean one should stop using Java by any means. It just means you better select your programmers very very carefully. And their experience in other languages should count.
If you truly mean limitless, then sure, there is a supply shortage. But there is a surplus, too, because the hiring is not being done to meet the demand for code. In too many cases the hiring is being done with restrictions specified that really don't need to be, as the article points to. For example, if the shop language is FOO, a good programmer who has X years experience doing all kinds of different development in a few languages, and is willing to program in FOO, can do better than the average programmer who has X years experience in FOO. But HR too often gets in the way and prevents some people's resumes from even being considered.
Too many businesses want to hire some idea of "programmer" (or "engineer", etc) that the management has in mind, that isn't really the kind of person who could get the real work done. They figure if the candidate understands business they will have a good programmer. Such managers don't know how to actually get things done besides a P&L statement (and they will end up with more on the L side as a result).
I have found that stock switching power supplies as found in common computers are slightly more efficient when powered with 240 volts rather than 120 volts. Some more so and some less so. And virtually all of them can be changed over to 240 volts (having the correct 2-pole switching).
And by using 240 volts instead of 120 volts, you can run twice as many computers on the same power loss in the building wiring (same current, same size wire, same power loss due to heat, serving twice the load).
Direct DC fed power systems may or may not provide realistic savings. DC introduces new electrical safety challenges and costs (electrical arcs inside switches, circuit breakers, and fuses, cannot be cut off by AC's zero voltage crossing that DC does not have). This requires lower voltages for equivalent interruption safety. But if power supplies end up losing less power than the building wiring at the higher current, then DC may be the better choice.
We will need more in-depth study to determine if DC will save power or not at a given installation (it may at some and not at others). But for most installations, going from 120 volts up to 208 or 240 volts (depending in which is available) is as simple as rewiring the system (using 2-pole breakers ... requiring double size power panels) and verifying the computer power supplies are ready for the higher voltage.
208 volts is the likely line-to-line voltage in data centers powered by 3-phase (208Y/120) power in North America. Future data centers could be designed for a 416Y/240 volt power system which can also be used to power fluorescent lighting.
I've never had any trouble configuring Apache. But then, I'm a geek. The problem isn't so much that Apache or PHP is losing out to IIS or .NET ... the problem (as we see it) is that geeks are losing out to suits.
Yes, Apache gives more control. And yes, IIS lets you have a web server up without having to control so much.
So there are more people in control of web servers that don't care about giving up control, and will take the easy route. I see that more and more on web sites that suck, anyway.
QEMU
So how would a Super V-chip work on the internet? Would it be part of the modem? Would it be part of the display monitor?
Hey, I used to be a /. moderator. I feel insulted by your comment. I hope today's moderators mod you down.
And this was known (because I posted it) back when PNG was becoming a new standard. The design of PNG would even make it easy to have a rudimentary animation facility (that's all that would have been needed to bump GIF). Yet it wasn't done. What a missed opportunity. What a historical screwup. Well, OK, it wasn't your fault, I presume. Do you know whose fault it is?
Sorry. That wasn't really too clear, there.
The "map" is the router acting in the role of address assigner ... e.g. like DHCP. What would be mapped would be MAC addresses to smaller unique IP address parts in an addressing scheme that would not have enough bits to ensure the 2nd half is globally unique. Suppose the 2nd half only had 16 bits. The address assigner (which could be run in the router) would assign a number in that 16 bit range to each host that asks for one just like some DHCP system. But it may or may not have persistent storage to keep that mapping. These are typical risks of dynamic addressing. By using enough bits to ensure the 2nd half could be globally unique based on a really globally unique address like the ethernet MAC address, it eliminates many issues, such as the machines trying to communicate with each other before the router comes online (although in IPv6 they may not know their global address ... they can use a link local address). The map I was referring to was the assignment table.
3.) Shut the theatre down as an example to all the people who try to rip off theatres by showing them that if they do this they don't get to see movies in the theatre anymore and have to download ...
... oh wait
Seriously, the real problem is, how can whoever it is that has to deal with a case of seeing someone with a camcorder really know whether they are good or bad even if we make a clear cut definition for them to work from? It's dark in there. They can see someone has something like a camcorder. They have to go get them right then, or wait until after the movie and hope they can see who it is.
Theatre owners are just as much dickheads, by definition, as so much of the movie industry is. But it also sucks to be them because they are caught in the middle. If they don't enforce, they can lose the right to get movies to show. Of course if people went and picketted at the public street entrance to the theatre, maybe there might be enough bad press and loss of business that their life will be even worse and they have to start deciding between good and bad.
And just how many of these PI blocks are needed? The problem is each of these needs a global routing table entry. So IPv6 does appear to have a "damned if you do, damned if you don't" problem with this.
While multi-homing is important for highly reliable connectivity, we need to do some better aggregating of it. PI blocks should be limited to only those businesses so large that they can't operate as part of a group collective. Smaller businesses that do need multi-homing (as opposed to redundant connectivity to one provider that has multi-homing) can group together to use a common PI block divided into subnets and thus use cause one route entry for the lot of them.
But there is one nice advantage to being on an IPv6-only network. You will get a few months, or at least a few weeks, of no spam.
The idea is that IPv6 addresses are a 2-part address. The first 64-bit part is the classification and routing. The second 64-bit part is the unique space, although literally that does not need to be. The idea is to eliminate error and complexity prone steps to map unique link layer addresses into globally routable addresses. Sure, this could have been done with a lot fewer addresses and still have enough for even the very largest networks. But then you'd have to ensure that no 2 hosts could end up with conflicting addresses. The gateway router could certainly do that, but if it gets rebooted, all the addresses might have to be changed because the map gets reset. By using link layer addresses, once the globally routable prefix is known, the host/interface addresses can remain constant even if the router is rebooted. One of the goals of IPv6 is more automatic configuration.
They should require that this network be fully IPv6 functional right from the start.
Delete is still easy to do. I have a 1200 watt CD/DVD bulk delete device in my kitchen.
Not quite. The Windows OS itself is a small fraction of the revenue Microsoft earns. If that revenue dried up today, while they would notice, life would go on and in a few months they would be making more money, anyway.
But Microsoft wants you to run Windows for other reasons. It's more about controlling your computing environment. It's about forcing you to use all their other crap, and getting revenue from you and from others in a myriad of lock-in schemes. Microsoft is the sheepdog and the people are ... well, you know.
Maybe 3 oz isn't enough to bring down a plane that kills everyone. But it is enough to kill everyone which (eventually) brings down the plane. There are more than a couple poisons that can kill a lot of people with just 3 oz. The ones I know of are even described on Wikipedia.
Rinse, lather, repeat ... until one day they slip up and miss the bootle, and the terrorist gets to take down a plane full of innocent people.
We need to do more than just take bombs away from terrorists and let them go on their way. But we need to know if they are terrorists to be able to do that. Not even trying to figure it out is where this goes wrong. OPEN THE FRIGGIN BOTTLE AND TAKE A SNIFF (or let Fido do it).
My cousin, Annie Coward, was going to name her first son Anonymous. But when I warned her that Anonymous Coward was already listed on the no-fly list 11,971 times, mostly for posts on Slashdot, she changed her mind and named him Albert instead.
There is a level of trust you have to have in the system. If the voting officials are all determined to see candidate X win, and are willing to violate the public trust to do so, then candidate X will "win".
But at least there is the opportunity for a paper ballot to be available for rescanning with better software, or human vision in a recount. It's better than just hiding everything inside some proprietary system.
IPsec works over IPv4. IPv4 works without IPsec. I haven't found anyone (yet) that has gotten IPsec over IPv6 (I'm not talking about IPv6 tunneled over IPsec protected IPv4) to actually work on Linux or BSD. Surely someone has. But Google turns up a number of reports of problems that go unresolved and unanswered (except in one case people reporting they also cannot get it to work). I've only been spending a couple weeks trying to get it to at least establish a security association between 2 machines.
Which protocol to scrap and start over? Or is it just bad implementation? If we can at least get this working, IPv6 might be considered ready to go.
What certificate problem? They they cost money?
You have to be able to prove you are not the man in the middle. Otherwise encryption doesn't mean much.
Paper ballots do have their problems. People don't always mark them consistently. Sometimes they mark one candidate then try to rub it out and mark another. The paper ballot was hard to read by electronic means and manual counting was too time consuming to get the quick results most people wanted.
Punch cards that people have to do the punching on don't always get punched right (remember the hanging chad problem). Sometimes people start to punch one hole, and realize they are in the wrong hole or change their mind real fast and try to punch another instead. Sometimes 2 or more holes are punched. Sometimes holes are punched partially. In most cases people could check, but they don't, or don't really know they should.
Computer voting was intended to eliminate these things. But that's its fundamental misguidance. Instead, it should be used to enhance them and correct the issues.
Voting station computers should do nothing more than assist a voter in creating a reliably readable paper ballot. The voting station should not be networked, and not even have any storage space. It would be an embedded machine booted from flash that is hardware wired to be unwritable, or booted from a CDROM or equivalent. It should boot very fast (embedded developers know how to do this and bring a minimal system and application up in a second). It should be rebooted between each voter.
The voting station would have a simple single sheet printer and an LCD flat screen with touch sensors. The voter would "touch" their votes and always have the ability to go back, or even jump around randomly to various offices/issues to vote on. Once done, the voter can press the "I am finally done" button to print the choices on paper.
What is printed on the paper is a combination of scannable text and bar codes with strong checksums (SHA1). The text shall be human readable (although in big elections some people might need optical reading assistance). Visually impaired people can ask for a poll worker to read back their ballot to them.
The next step is the paper ballot is taking to the reading station. The ballot is read in by another computer with a scanner. This computer scans the text and reduces it to a set of simple vote codes. These vote codes are checksummed and that is compared against the bar codes. If there is a mismatch, probably a scanner error took place, or the ballot was damaged or smudged. It flashes and beeps a warning the the ballot is not readable. This may require the voter to re-do another ballot (this one is marked as bad and the voter is given another sheet and front-of-line access to a voting station).
The scanner keeps tallies and may send results to a central office. Larger voting places may have more than one scanner and tallies will be done by a central computer. The paper ballot is then inserted UNFOLDED into a locked box.
The voter gets a receipt for having voted, but does NOT get a copy of what votes they made. If they want to remember their own votes, they must make their own notes themselves. The reason for this is that no voter should have any official statement of who they voted for to ensure no voter can "prove" to someone else who they voted for. This has been a long time standard to impede vote buying/selling, and should not change.
The computers that tally the votes could give nearly instant 100% results shortly after polls close. But that's not the end of it. Those results are not certified. The voting officials will, in the next few days, monitor the process if re-scanning all the paper ballots to ensure the results are consistent. If they are satisfied of this, then they certify the election results. If there are any issues, then the paper ballots can be manually checked.
This process is still paper based, and still just as auditable and recountable as any paper based system. It gains the avantages of consistency in the marking of ballots. Instead of being hand marked, they are "computer marked" (in a way that humans c