Well it is sure nice to hear we could make the old light bulb more efficient. Quite a few people agree that the new "efficient" lighting sold in stores may cause a serious problem and that we *may* be shooting ourselves in the foot. Problem would be that newer "efficient" lighting may cost more to produce energy wise and that each unit contains among others mercury which should not get disposed of in the garbage bin.
Not sure if the alternative in the FA in viable although;-)
I don't know, I am not sure of this, but if it is much harder to create a fast compiler for them than the others, wouldn't it be also much harder to to create a framework for unit testing?
No language will have APIs for all you might want to do in order for you to use only one line of code !
This is why they teach how to build custom utility methods in schools. In fact, the first time that you repeat 3 or 4 lines of code in your work means it is time to write a utility method.
Be careful although, one should always check that this functionality isn't already implemented in standard libraries in order to avoid re-inventing the wheel.
The fact that you don't mention that your VPN supports UDP without wrapping it in TCP makes me wonder...
IPSEC VPNs should work fine. All one connection/tunnelling based VPN (tunnelling through a ssh or ssl or other TCP based connection) will tend to introduce delay. This is why your remote users would see delay, not just because the connection "already has" the delay.
On LAN or on the WAN when only a few hops aways, you won't notice the lattency a TCP connection based VPN that wraps UDP in TCP introduces. You will notice it quickly in less than perfect conditions where pure UDP only works fine.
If you want to do VOIP over VPN, choose a solution that don't wrap UDP in TCP, it will automatically introduce latency.
>When does the demand for *faster* processors ever go *down*?
Especially in though economic times when people want to pay less for their computers. Also, overclockers never buy the fastest CPUs;-)
Look around a bit, you will find your answer; a whole lot of people don't buy the latest/fastest CPU bit and settle for something at half the price. In fact, the fastest CPUs sells are only a fraction of the market.
I for one never buy the fastest processors because I get less for the buck.
By the time I buy a 2GHz processor, the company already has its manufacturing process producing 3GHz CPUs. This way, I figure that I have saved quite of money in my life period (CPUs used to double their speed in a short period back then) and my needs were entirely fulfilled.
This factor has faded although because the technology has almost reached the possible limit for CPU speed. Like other posters mentioned, nowadays the principle also translate into selling 4 core CPUs as a 3 core CPUs because one of them is faulty, same principle; they are all tested and rated after being manufactured in bulk.
Multiple cores CPU were born because companies can't make faster cores, we are closer to the technical limit, at least in order to maintain the current speed/price ratio. A 20GHz single core CPU would be more efficient than a 4 X 5GHz. It makes the architecture much simpler and you save at run time because of the absence of time to switch applications from one core to the other.
I had a friend working at an AMD factory. He toll me the manufacturing process isn't precise enough to produce specifically 3GHz, 2GHz or 1GHz CPUs. Or at least this model helps in diminishing costs, they could probably make the process precise enough but it would raise costs.
So how do they do it ?
They produce 3GHz, 2GHz and 1GHz CPUs in one process all at the same time, there is no difference between the manufacturing process for each speed.
They then test each produced CPU to see how much clock speed it can handle then classify them with regards to this criteria.
When demand for higher clock speed CPU goes down and they have too many CPUs that can handle 3GHz on shelf, they just stamp "2GHz" on them and sell them as "2GHz" CPUs to diminish their inventory.
So overclocking would seem like a gamble, it might work perfectly because the company actually sold you a CPU that was rated for a higher clock speed. It may also not work because the company sold you a 2GHz CPU that was rated to handle only 2.000352 GHz.
Don't take for granted that because your friend or blog posters successfully overclocked a given CPU model, you will automatically have as much success.
I use to do just the same as you do but like some processes, I have to sleep sometimes;-)
So I decided to do just as you suggest; "have something a LITTLE more automated", I just decided to script exactly what I (and you) are doing, quick and dirty, no design really involved.
This is a really inefficient Mickey Mouse script from a performance point of view, but it works just fine;-) I just run it every minute from cron and flush the rules at given intervals to re-enable the IPs. It is so simplistic that I have always been ashame to publish it anywhere.
TODO: implement something more efficient that at least uses tail -f and maintains state and counts. NOTE: 10.10.1.7 is used to scan the network for vulnerabilities.
You should also have some process that completely blocks ssh login attempts from a given IP after so many failed login attempts instead of letting the hi-jacker poll your machine for as long as he wishes.
The title might be misleading, the authors says Java is important in learning to code!
I am myself a Java developer and I started when the language was born.
Nevertheless, I can understand where the professors are coming from when they state:
Students found it hard to write programs that did not have a graphic interface, had no feeling for the relationship between the source program and what the hardware would actually do, and (most damaging) did not understand the semantics of pointers at all, which made the use of C in systems programming very challenging.
I started to write Java programs with vi (now using eclipse;-) and I would say that it is indeed necessary to understand pointers to write complex (especially multi-threaded) Java programs. Somebody not understanding pointers will have no idea that every Java Object (even arrays) are accessed through references which is indeed a fancy name for a pointer. So all Java variables except primitive types behave just like a pointer would. I can't see how one could be an expert in Java without understanding this!
I see the point for teaching C and at minimum a few other languages (I did lisp, prolog, ml, assembly for Intel and Motorola and a few others). I am just surprised they don't suggest also at least one assembly language as mandatory.
A student would also need to learn at least a minimum on how the hardware works, (hardrive, processor, cache, bus, memory, etc.)
Why ? Because knowing all the components (hardware and software), knowing the machine and all the layers is the only way to be able to write efficient programs !
We are supposed to have nice abstractions to work more easily knowing only a few layers but in my experience this is a myth and this is how we end up with trashy programs, when the person who wrote it didn't have a clue on how the other layers worked and the nasty impact his code would have on those other layers.
Here is a 2002 article that explains the phenomenon a little more, it is called the Leaky Abstractions
If we are not aware of this, we end up forming "fast-food" programmers instead of the software engineers of tomorrow. I guess that's what the professors were saying.
Then again, in a sense, nothing new here;-) I have been knowing this for a long time and my guess is that I am not alone !;-)
If Linden Labs wants a virtual world, they will need to set up a virtual NSA, a virtual FBI etc. and I guess use the same techniques one would use in the real world;-))
This would also mean they will have to start to charge virtual income tax and other taxes as well if they don't already to pay for those services;-))
An unmanned platform would need security devices to protect it from the "evil people" that may want want to blow it up, or damage it/disable it. Radars and laser beams blasting anybody that approaches ? What if that someday is lost at sea and means no harm to the rig but is just seeking refuge ?
Leaving a platform of that price unguarded seem unrealistic. So will humans remain to guard it (cheaper probably) or will the platform be equipped with its own defense system, or will they send "Delta Force" when somebody approaches (involving at least detection systems)? I am just curious.
The only way I can view us solve the energy crisis and its effects is:
1) Phase out coal and fossil thermal plant. Fossil fuel will be reserved for things like airplanes or other moving equipment because of its high energy density (13 KWh/kg for gasoline compared to 0.14 KWh/kg for flywheels and 0.04 KWh/kg for batteries). It will slowly become obvious that it is silly to use fossil fuel for stationary equipment like power plants.
2) Use existing hydro infrastructure
3) Use wind
4) Use solar
5) Use nuclear
6) Etc..
In short, let's not put all our eggs in the same basket. This way if one way to get energy fails, we still have alternatives. Let's not pretend we are infallible and that we will get it right the first time with a single approach.
I have problems with a recent article on/. saying we should only use nuclear because other ways can't meet the "base load". Funny how scientists can sometime ignore simple principle like "do not put all your eggs in the same basket".
Hahem, nor batteries need to be heavy to store a lot of energy, well at least in theory. Both batteries and flywheels can store unlimited power in theory.
In practical, both batteries and flywheels have the inconvenient of being heavy. high energy densities flywheels store 0.130 KWh/kg and batteries around 0.040 KWh/kg
Gasoline is around 13 KWh/kg so 100 times more than the best flywheels. So to go as far as 10 gallons of gas, you would need a 6000lbs flywheel. Then you still wouldn't go as far because of the additional you would be carrying.
Do you still think flywheels in cars is a good idea?
I don't think so, it would be more profitable and much more efficient for the utility companies to install their own battery banks or flywheels. The only way they are going to use customer batteries (less efficient solution) is if they can make more money that way, not less money. Since the system would be inefficient, I do not view how it could be profitable BOTH for the industry and the customers, industry usually win.
Agreed this was the reason of my first post. Since most consumers aren't the geek type, there is good chances they will loose. First, how are you going to calculate the energy losses, it depends on your battery age, on your charger, on the rate and depth of discharge, etc., just too many parameters to keep track of for an average consumer on a regular basis. As an example, I said that it costs me 0.120KWh every day to keep my battery bank at float voltage but I forgot to calculate the heat lost at the charger level since I only measure what I put in the batteries in my setup, not the real current I draw from the utility company;-) There goes my profit if I forget to measure that correctly while dealing with the utility company;-(
My PIN is 7117, what then?
defense is french for defence, was the writer french ?
Well it is sure nice to hear we could make the old light bulb more efficient. Quite a few people agree that the new "efficient" lighting sold in stores may cause a serious problem and that we *may* be shooting ourselves in the foot. Problem would be that newer "efficient" lighting may cost more to produce energy wise and that each unit contains among others mercury which should not get disposed of in the garbage bin.
Not sure if the alternative in the FA in viable although ;-)
I don't know, I am not sure of this, but if it is much harder to create a fast compiler for them than the others, wouldn't it be also much harder to to create a framework for unit testing?
I though IE was ran by VB, VB scripts, active-X and what not, thanks for bringing me up to date.
I disagree with you, I hate trying to find where the heck a given method comes from, not to mention possible name clashing issues.
Think also about debugging, testing and maintainability once you are done writing your code and you leave the project.
No language will have APIs for all you might want to do in order for you to use only one line of code !
This is why they teach how to build custom utility methods in schools. In fact, the first time that you repeat 3 or 4 lines of code in your work means it is time to write a utility method.
Be careful although, one should always check that this functionality isn't already implemented in standard libraries in order to avoid re-inventing the wheel.
The fact that you don't mention that your VPN supports UDP without wrapping it in TCP makes me wonder...
IPSEC VPNs should work fine. All one connection/tunnelling based VPN (tunnelling through a ssh or ssl or other TCP based connection) will tend to introduce delay. This is why your remote users would see delay, not just because the connection "already has" the delay.
On LAN or on the WAN when only a few hops aways, you won't notice the lattency a TCP connection based VPN that wraps UDP in TCP introduces. You will notice it quickly in less than perfect conditions where pure UDP only works fine.
If you want to do VOIP over VPN, choose a solution that don't wrap UDP in TCP, it will automatically introduce latency.
>When does the demand for *faster* processors ever go *down*?
Especially in though economic times when people want to pay less for their computers. Also, overclockers never buy the fastest CPUs ;-)
Look around a bit, you will find your answer; a whole lot of people don't buy the latest/fastest CPU bit and settle for something at half the price. In fact, the fastest CPUs sells are only a fraction of the market.
I for one never buy the fastest processors because I get less for the buck.
By the time I buy a 2GHz processor, the company already has its manufacturing process producing 3GHz CPUs. This way, I figure that I have saved quite of money in my life period (CPUs used to double their speed in a short period back then) and my needs were entirely fulfilled.
This factor has faded although because the technology has almost reached the possible limit for CPU speed. Like other posters mentioned, nowadays the principle also translate into selling 4 core CPUs as a 3 core CPUs because one of them is faulty, same principle; they are all tested and rated after being manufactured in bulk.
Multiple cores CPU were born because companies can't make faster cores, we are closer to the technical limit, at least in order to maintain the current speed/price ratio. A 20GHz single core CPU would be more efficient than a 4 X 5GHz. It makes the architecture much simpler and you save at run time because of the absence of time to switch applications from one core to the other.
I had a friend working at an AMD factory. He toll me the manufacturing process isn't precise enough to produce specifically 3GHz, 2GHz or 1GHz CPUs. Or at least this model helps in diminishing costs, they could probably make the process precise enough but it would raise costs.
So how do they do it ?
They produce 3GHz, 2GHz and 1GHz CPUs in one process all at the same time, there is no difference between the manufacturing process for each speed.
They then test each produced CPU to see how much clock speed it can handle then classify them with regards to this criteria.
When demand for higher clock speed CPU goes down and they have too many CPUs that can handle 3GHz on shelf, they just stamp "2GHz" on them and sell them as "2GHz" CPUs to diminish their inventory.
So overclocking would seem like a gamble, it might work perfectly because the company actually sold you a CPU that was rated for a higher clock speed. It may also not work because the company sold you a 2GHz CPU that was rated to handle only 2.000352 GHz.
Don't take for granted that because your friend or blog posters successfully overclocked a given CPU model, you will automatically have as much success.
I use to do just the same as you do but like some processes, I have to sleep sometimes ;-)
;-) I just run it every minute from cron and flush the rules at given intervals to re-enable the IPs. It is so simplistic that I have always been ashame to publish it anywhere.
/var/log/messages | grep sshd |\
/var/log/messages | grep sshd |\
/var/log/proftpd.log |\
/var/log/proftpd.log |\
/var/log/proftpd.log /var/log/messages
So I decided to do just as you suggest; "have something a LITTLE more automated", I just decided to script exactly what I (and you) are doing, quick and dirty, no design really involved.
This is a really inefficient Mickey Mouse script from a performance point of view, but it works just fine
TODO: implement something more efficient that at least uses tail -f and maintains state and counts.
NOTE: 10.10.1.7 is used to scan the network for vulnerabilities.
export PATH=${PATH}:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
export IFS="
"
TMPPATH=/tmp/scans
rm ${TMPPATH}/* 2>/dev/null
for BADIP in `tail -n 3000
grep "Failed password" |\
cut -c 8- | cut -d " " -f 11 | grep "\." | grep -v "10.10.1.7"`
do
echo X >> ${TMPPATH}/${BADIP}
done
for BADIP in `tail -n 3000
grep "Failed password" |\
cut -c 8- | cut -d " " -f 9 | grep "\." | grep -v "10.10.1.7"`
do
echo X >> ${TMPPATH}/${BADIP}
done
for BADIP in `tail -n 200
grep "no such user" |\
cut -d "[" -f 3 | cut -d "]" -f 1 | grep -v "10.10.1.7"`
do
echo X >> ${TMPPATH}/${BADIP}
done
for BADIP in `tail -n 1000
grep "Login failed" |\
cut -d "[" -f 3 | cut -d "]" -f 1 | grep -v "10.10.1.7"`
do
echo X >> ${TMPPATH}/${BADIP}
done
for FILE in `ls ${TMPPATH}`
do
let COUNT=`grep -c X ${TMPPATH}/${FILE}`
####echo ${COUNT}
if [ ${COUNT} -gt 20 ]
then
BLOCKED=`iptables -n -L INPUT | grep ${FILE}`
if [ "${BLOCKED}" = "" ]
then
echo ${FILE} count: ${COUNT}
grep ${FILE}
iptables -I INPUT -s ${FILE} -j DROP
fi
fi
done
You should also have some process that completely blocks ssh login attempts from a given IP after so many failed login attempts instead of letting the hi-jacker poll your machine for as long as he wishes.
I just tried it and damn I think I am infected since the system won't let me create the directory named "1".
$ mkdir 1
mkdir: cannot create directory `1': File exists
Do you mean you MUST use a converter to solve it ? ;-)
The title might be misleading, the authors says Java is important in learning to code!
;-) and I would say that it is indeed necessary to understand pointers to write complex (especially multi-threaded) Java programs. Somebody not understanding pointers will have no idea that every Java Object (even arrays) are accessed through references which is indeed a fancy name for a pointer. So all Java variables except primitive types behave just like a pointer would. I can't see how one could be an expert in Java without understanding this!
;-) I have been knowing this for a long time and my guess is that I am not alone ! ;-)
I am myself a Java developer and I started when the language was born.
Nevertheless, I can understand where the professors are coming from when they state:
Students found it hard to write programs that did not have a graphic interface, had no feeling for the relationship between the source program and what the hardware would actually do, and (most damaging) did not understand the semantics of pointers at all, which made the use of C in systems programming very challenging.
I started to write Java programs with vi (now using eclipse
I see the point for teaching C and at minimum a few other languages (I did lisp, prolog, ml, assembly for Intel and Motorola and a few others). I am just surprised they don't suggest also at least one assembly language as mandatory.
A student would also need to learn at least a minimum on how the hardware works, (hardrive, processor, cache, bus, memory, etc.)
Why ? Because knowing all the components (hardware and software), knowing the machine and all the layers is the only way to be able to write efficient programs !
We are supposed to have nice abstractions to work more easily knowing only a few layers but in my experience this is a myth and this is how we end up with trashy programs, when the person who wrote it didn't have a clue on how the other layers worked and the nasty impact his code would have on those other layers.
Here is a 2002 article that explains the phenomenon a little more, it is called the Leaky Abstractions
If we are not aware of this, we end up forming "fast-food" programmers instead of the software engineers of tomorrow. I guess that's what the professors were saying.
Then again, in a sense, nothing new here
If Linden Labs wants a virtual world, they will need to set up a virtual NSA, a virtual FBI etc. and I guess use the same techniques one would use in the real world ;-))
This would also mean they will have to start to charge virtual income tax and other taxes as well if they don't already to pay for those services;-))
An unmanned platform would need security devices to protect it from the "evil people" that may want want to blow it up, or damage it/disable it. Radars and laser beams blasting anybody that approaches ? What if that someday is lost at sea and means no harm to the rig but is just seeking refuge ?
Leaving a platform of that price unguarded seem unrealistic. So will humans remain to guard it (cheaper probably) or will the platform be equipped with its own defense system, or will they send "Delta Force" when somebody approaches (involving at least detection systems)? I am just curious.
I tried the same benchmark with my browser and it seems to beat them all, only 17 ms to pass the test !!!
~$ time lynx -dump http://webkit.org/perf/sunspider-0.9/sunspider-driver.html
SunSpider JavaScript Benchmark (In Progress...)
real 0m0.017s
user 0m0.001s
sys 0m0.004s
~$
Well not "that" new , only the 590,321th registered user after you ;-)
;-)
Anyway slashdotters don't put all their eggs in the same basket and I find there is a lot of "diversity" here:
Here is an example:
1) Ubuntu
2) Fedora
3) Debian
4) Slackware
5) Red-Hat
6) Suze
7) etc.
Do you see the diversity now ?
Of course, consuming energy more smartly is a must also ;-)
;-)
I was strictly giving a list of power-sources, you could add some like tidal, geothermal, etc.
For me the most important thing is to "diversify" to mitigate the risks and impacts
The only way I can view us solve the energy crisis and its effects is:
/. saying we should only use nuclear because other ways can't meet the "base load". Funny how scientists can sometime ignore simple principle like "do not put all your eggs in the same basket".
1) Phase out coal and fossil thermal plant. Fossil fuel will be reserved for things like airplanes or other moving equipment because of its high energy density (13 KWh/kg for gasoline compared to 0.14 KWh/kg for flywheels and 0.04 KWh/kg for batteries). It will slowly become obvious that it is silly to use fossil fuel for stationary equipment like power plants.
2) Use existing hydro infrastructure
3) Use wind
4) Use solar
5) Use nuclear
6) Etc..
In short, let's not put all our eggs in the same basket. This way if one way to get energy fails, we still have alternatives. Let's not pretend we are infallible and that we will get it right the first time with a single approach.
I have problems with a recent article on
Hahem, nor batteries need to be heavy to store a lot of energy, well at least in theory. Both batteries and flywheels can store unlimited power in theory.
In practical, both batteries and flywheels have the inconvenient of being heavy. high energy densities flywheels store 0.130 KWh/kg and batteries around 0.040 KWh/kg
Gasoline is around 13 KWh/kg so 100 times more than the best flywheels. So to go as far as 10 gallons of gas, you would need a 6000lbs flywheel. Then you still wouldn't go as far because of the additional you would be carrying.
Do you still think flywheels in cars is a good idea?
I don't think so, it would be more profitable and much more efficient for the utility companies to install their own battery banks or flywheels. The only way they are going to use customer batteries (less efficient solution) is if they can make more money that way, not less money. Since the system would be inefficient, I do not view how it could be profitable BOTH for the industry and the customers, industry usually win.
I for one salute the new Document Format overlords ;-)
Agreed this was the reason of my first post. Since most consumers aren't the geek type, there is good chances they will loose. First, how are you going to calculate the energy losses, it depends on your battery age, on your charger, on the rate and depth of discharge, etc., just too many parameters to keep track of for an average consumer on a regular basis. As an example, I said that it costs me 0.120KWh every day to keep my battery bank at float voltage but I forgot to calculate the heat lost at the charger level since I only measure what I put in the batteries in my setup, not the real current I draw from the utility company ;-) There goes my profit if I forget to measure that correctly while dealing with the utility company ;-(