The built-in ipfiltering for w2k is a joke - there's no statefulness. It's even crappier than ipchains (which was pretty crappy). It's about as crap as cisco ip acls 1-99.
"I use linux. I have javascript enabled, though I don't let it resize windows or anything else I don't like. I browse wherever I like, without fear, without any real need to be careful."
What browser do you use though? If it's Mozilla or a derivative (e.g. FireFox) I'd say you should be more careful. Mozilla is probably in the same order of magnitude of bugginess as IE (if not more so - just look at Mozilla's track record). It's just not targetted as much publicly. Just wait till it gains even more marketshare.
Basically any software that has had a history of crashing can probably be exploited[1].
At my current workplace I run mozilla using a different user account from my main user account. This prevents browser exploits from having read or write access to files in my home directory. Due to the version of mozilla I'm using not respecting umasks (don't ask) I had to resort to ACLs in order to allow my main account to access files downloaded with the browser.
This way I have a lot less to worry about. Hackers might wipe the files I've downloaded using the browser, but it's harder for them to touch my main files. Of course I still have to be careful that there aren't any local root exploits.
In my previous workplace I used to do a similar thing with IE - run it with a different user account (using runas with savecred on winxp).
At home, I run IE in a virtual machine for sites which require javascript activex etc. So I'm reasonably safe barring an exploitable bug in the virtual machine software (I have found some bugs but I think they are not exploitable) or a bug in the graphics driver, NIC driver or something similar (which won't be Microsoft's fault)...
There was a bug in one version of my NIC drivers which caused bluescreens when certain data patterns were downloaded. Definitely doubleplus ungood. So I had to resort to a different version.
The problem with this WMF bug is it seems that stuff like Google Desktop can trigger payload executiion whilst trying to index the WMF files. I don't use Google Desktop, so I don't know how one could restrict permissions for it.
[1] It's a sign of poor code quality. In my experience some AV software fall in this category too.
Well, if robots+ a few humans are able to do most of the work of meeting the basic needs then I don't see it as a big problem that lots of people want to bum around. Maybe this is not possible yet but there appears to actually be a net food/resource surplus, politics appear to be the main cause of hunger/famine worldwide.
Also, I suspect that most people need to feel useful. I bet most people after bumming about for a while would eventually want to find something useful to do.
You might end up with something like ancient greek society (where slaves = robots), and the rest of the people found other ways to occupy themselves - like figuring out trigonometry, logic, philosophy, designing new machines.
Right now, there's a danger of employees=slaves. Which is not a good thing either.
Say there's a world where each person is paid the same amount to make one decision a day.
Then some wise guy comes and asks to be paid 1.5x for making 2 decisions a day. Then someone else undercuts him, and so on.
The end result of this is that most people will be at a certain level of suffering. You could say it's all relative, but I disagree in the same way that going hungry is not the same being slightly less well fed.
What is the optimal solution to this? Perhaps a socialist state where the basic needs are met and the pay is just for wants? Would it be efficient enough? Is there enough to go around, or must some people inevitably starve?
Anyway, in my opinion Governments should be responsible for slowing inevitable change down so that their citizens can adjust. But not all change is necessarily inevitable or good.
J Bollocks is a great bullshit artist. He uses mainly bovine excrement in the creation of his works.
If you're in front of one of his actual exhibits the actual sensations, sight, sound, touch and last but not least _smell_ help to evoke significant emotions and connect you to the work.
J Bollocks is one of the founding members of The Emperor's New Clothes Inc.
Uh, it's just like unix, just "su -" to a shell as root and then run the stuff you want. In fact given there's no xwindows you don't even have to "export DISPLAY" etc.
Then read this: http://support.microsoft.com/?kbid=180025
You can also do "start compmgmt.msc" if you want to start the computer management stuff. There are a whole bunch of.msc stuff e.g. gpedit.msc, services.msc.
Don't like this command line stuff? Well, you wouldn't like the unix command line stuff then.
In fact, at my prev workplace with Windows XP I used to run my web browser as a different user account from my normal user account (non admin). That way if my web browser got exploited it's a lot harder for my normal user account stuff to be affected.
Now I do a similar thing with SuSE and KDE at my current workplace. I run mozilla with a different user from my main (non root user).
People grumble a lot about windows being insecure. Windows NT/2000/XP onwards aren't really that much more insecure than most Linux distros.
It's just most people who are currently running Windows, would probably want to run a Linux distro as root.
In my opinion Windows and Linux aren't really secure or suitable for normal users.
Users should be able to _easily_ run stuff with restricted privileges - sandboxed. Say they run some silly Xmas game that someone emailed to them, such a program should only be given limited rights e.g. graphics, sound, but no access to documents files, only write to temp directory, no network...
Not everything a user launches should run with the user's full account privileges.
Currently there's windows firewall software which help do something like this, but there's a long way to go.
The trouble is Microsoft and other companies don't want to empower users, they'd rather DRM stuff be the solution. That way what the user runs and what access it has is under the control of the big companies.
Basically the long term strategy for them is to let things get really messy and insecure on the desktops and then propose DRM stuff as The Solution. When in actual fact there are alternative ways of solving the problem that don't involve everything being signed by Big Corps.
And the Big Corps do make mistakes too. Witness the insecure _signed_ ActiveX control that was released by Sony's DRM stuff. Then there are the flawed/buggy Microsoft ActiveX controls, which can in theory be reinstalled again without warning (since they're signed by msoft), and then reexploited.
Of course their "solution" to that would be for your computer to download certificate revocation lists on a regular basis.
But if users just run unknown/exposed stuff in sandboxes by default there wouldn't be such problems.
Maybe I'm crazy, but I claim my proposal is a lot fairer and just than the current popular methods for leaders to start wars.
Show me something that is fairer. Or show me how the current situation is better than my proposal.
I really don't think my proposal is that impractical either. Of course my proposal is unlikely to be implemented, what are the odds the politicians would pass such laws?
The UN can't stop any nation from attacking any other nation. There are countries with an effective veto on UN actions.
Offensive military action is usually not a result of insanity. Sociopaths could be as rational and sane as the average person. They may be even more rational - less bothered by "inconvenient" emotions. They're usually just not good people.
Unless the exoskeleton "folds easily" for transporation one might as well have a remotely controlled robotic guard, with the soldier safely somewhere else.
I suggest the military should find a way to augment or supplement human metabolic pathways. e.g. attach some equipment to a human which prevents/reduces the build up of lactic acid in skeletal muscles, and perhaps augments the energy supply to those muscles (ATP, glycogen, oxygen etc).
That way you will have soldiers that can operate in "sprint" mode without getting fatigued.
Given a suitable training regime, the soldiers will then also be able to adapt (bulk up) to carrying heavier loads faster and with less pain.
"If one man can cause pain to another man with no risk to himself, then it's basically torture."
" one nation can make war on another nation with no risk to its own men "
It's not the "risk to its own men" that's the main issue I see.
The main issue is that nowadays _Leaders_ can get their countries to attack other nations without risking their _own_ lives significantly.
I have proposed before that in order for leaders to start an offensive war (or "offensive action"), there should be a referendum. A defensive action against an _immediate_ attack is a different story (no bullshit about they are thinking about attacking us).
If there aren't enough positive votes the proposing leaders get sentenced to death and put on death row. Say for example, 66% of total voting population need to vote for the war - if people don't bother voting you still get sentenced to die - because obviously people weren't as fired up about risking their lives as you were - they didn't bother getting off their butts to vote.
There might be a "redemption" referendum soon after for the people to decide whether they do still want those leaders alive.
If the leaders get executed but it turns out that the war was justified, one might give them the equivalent of a purple heart;).
If it turns out that a war was because the leaders tricked the population or were not duely diligent in presenting the correct facts, then a similar referendum will be taken.
With my proposal, even sociopathic leaders who lie when they say they regret "sending our soldiers to die" will actually think twice about it.
I am not a soldier, but I bet that it will do wonders for morale when you know the leaders sending you to risk your life, are also willing to risk their own lives for that war.
I think that's very fair right?
Last but not least: the people you are attacking will then have fewer qualms about killing your citizens since most of your citizens genuinely wanted to attack them.
If you think it is not acceptable that the 33% not for the war can also get killed, then adjust the referendum accordingly.
Anyway, I claim my proposal is still a major improvement, I'm sure there have been wars where more than 90% of the population weren't for the war but they still got dragged into it.
gzip and lzop do not assume the max compression option.
lzop in default is MUCH faster than gzip.
I would not recommend using lzop in anything other than the default setting - it gets a lot slower when you set it to max, for not very much gain. If you want more compression and less speed, use gzip --fast instead of lzop.
In fact sometimes lzop in minimal compression mode is slower than lzop in default!
On current x86 hardware I get on average ~30MB/sec with lzop and ~50% compression when imaging HDD images[1].
USD100 for LTO3? Sure looks like tapes are pretty expensive. I'd use tapes for legacy backups or where physical shock is an issue, or when you have tons of tapes and need automated loaders.
But removable hard drives seem a more attractive option for most cases nowadays (small to medium businesses). Large corporations can probably afford to be locked in to a particular tape technology, for the convenience of automated tape libraries.
LTO3=400GB storage at 10MB/sec (native) @ about USD100 per tape and USD2K for the cheapest drive.
SATA= 250GB storage at 40MB/sec (native+ average sequential transfer, 60MB peak) @ ~USD100 per drive. SATA hotswap cage = USD100-USD200.
PATA+USB= 250GB storage at 20MB/sec (native+ average sequential transfer) @~USD100 per drive. PATA to USB enclosure USD30 to USD50 (for a decent one).
Plus PATA/SATA is less of a "locked-in" technology compared to LTO3 or other tape technologies.
With tape drives you have to deal with two main standards that could become obsolete. First = the tape standard (e.g. LTO3, DLT, DDS etc) , second = the tape drive interface standard (e.g. SCSI).
If you got an expensive LTO2 drive in 2003 you are stuck with 200GB native capacity media. Same goes for DLT, DDS etc. You'd have to pay for an expensive LTO3 drive, and then when LTO4 comes out, you're still stuck with LTO3 capacity unless you pay for a probably expensive LTO4 drive.
In contrast with hard drives you just deal with the drive interface standard (e.g. SCSI, SATA, PATA). With HDDs each "tape" comes with its own drive;).
If 800GB SATA drives become cheaply available, you can start using them with your existing backup systems.
In desperate situations you are more likely to be able to find servers/PCs where you can plug the "media" to and start restoring stuff. Whereas with tape you need a mucho expensive tape drive for each backup/restore point.
A decent backup/restore server with a decent drive cage can hold multiple drives and you can backup multiple machines to different drives, and on decent hardware you can get 40MB/sec for each backup (multiple gigabit interfaces, SMP/multi-core CPUs). If you have a server with a 4 drive cage and 2 x 1 gigabit NICs, you can easily get 4 x 40MB/sec backup/restore streams going from/to different targets.
For tape you'd need four expensive tape drives to do that.
You get sub-second random access. No need to wait 10 seconds to seek.
Last but not least: if I have to restore backups with The Boss/Customer breathing down my neck, I'd pick 40MB/sec over 10MB/sec. Perspective: 11 hours to read 400GB from an LTO3 tape vs 2.8 hours to sequentially read 400GB from SATA drives.
[1] first 131MB of a disk image time dd if=drive.img bs=131072 count=1000 | lzop -c |wc -c 1000+0 records in 1000+0 records out 66784879
real 0m3.307s user 0m2.442s sys 0m0.842s
39MB/sec 1.96:1 compression
For first 131MB of linux kernel tar uncompressed ball (cached in RAM):
time dd if=linux-2.6.14.4.tar bs=131072 count=1000 | lzop -c |wc -c 1000+0 records in 1000+0 records out 46473494
real 0m2.483s user 0m1.660s sys 0m0.821s
52MB/sec 2.82:1 compression
time dd if=linux-2.6.14.4.tar bs=131072 count=1000 | gzip -c --fast |wc -c 1000+0 records in 1000+0 records out 36786087
real 0m5.965s user 0m5.297s sys 0m0.659s
22MB/sec 3.56:1 compression
time dd if=linux-2.6.14.4.tar bs=131072 count=1000 | gzip -c |wc -c 1000+0 records in 1000+0 records out 29724624
real 0m11.283s user 0m10.640s sys 0m0.615s
11.6MB/sec 4.41:1 compression
First 131MB of wave file (cached in RAM)
time dd if=somewave.wav bs=131072 count=1000 | lzop -c |wc -c 1000+0 records in 1000+0 records out 128273334
For speed I use lzop. In most cases it's a drop-in replacement for gzip. lzop is about 3x to 4x faster for my cases, and just a bit worse in compression (about 10%).
With lzop I typically get 30MB/sec (default settings).
Whereas with gzip I typically get about 8 to 10MB/sec, which often isn't close to network or disk transfer limits, and in those cases it will mean that things aren't getting done as fast as possible.
gzip with --fast is still significantly slower than lzop and at those settings it compresses only about as well as lzop at default.
I'd be interested to know if there's a drop-in replacement for gzip that's faster than lzop. But so far lzop works pretty well.
"It's pretty cool you can reduce an infinite amount of maps down to just 633."
That is about as cool as a programmer starting with an "infinite number of choices" to solve a problem and ending up with a program with 633 if-then-else statements.
Now if it turns out that that is the shortest program possible to solve the given problem then I guess one will have to accept that as "as cool as it gets".
However if the 633 if-then-else statements can be reduced to a few loops and conditionals, or even a one liner then that would be a lot cooler.
I figure the mathematicians are looking for a far "better compression" than 633 conditionals.
That said, I do wonder whether the mathematicians and physicists will ever be able to compress the laws of the universe to a single theorem.
"I hate to impinge on your sarcasm, however, they've already mounted AC units on these Humvees. They bring the internal temperature from 130F -> 95F."
Then the AC units are crap. They should use proper ones.
Given how much the Humvees cost, they should have been capable of supporting better AC units. After all if the US wants to fight wars in all parts of the world, there are very many places with Iraq-like temperatures.
Overheated soldiers are more likely to hang outside when they don't need to and get killed.
Overheated soldiers might not think as clearly, shoot the wrong people, etc (face it, being in a bad mood can affect your judgement).
Once you've been sitting in a nice cool vehicle for a while, you can tolerate higher temperatures for quite a while, and you have better endurance.
In some sports, many athletes wear some sort of cooling thingy, and then when the time comes, they take it off and then they are able to run fast for significantly longer even in hot weather.
"Common Lisp is too small, because it doesn't include an HTTP server as part of the standard"
Heh. Well, definitely won't want it to do things like php;). So many ways to do things the wrong way, so few to do it right (worse if constrained by crappy existing code).
Anyway, I should go take a look at Lisp again some time (I did try some time ago).
Given that things appear to be headed down the multi-cpu path, I think there's a chance for Lisp to try to get greater marketshare.
I figure Prolog should be good at using multi-cpus too.
While I definitely like having lots of prefab around, with respect to that point, I was talking about not having to reimplement things as basic as split and join. It would be bad to have to look for the relevant modules from CPAN just to do split, join, map, associative arrays. Plus one would have to figure out which ones are best etc.
It was a really good idea to have those as standard/defaults- they are useful for a very wide range of problems. By having those stuff as built-ins, programmers like me won't get those wrong, and people would be able to understand exactly what I'm doing when I use them (and possibly whether I'm screwing up or not). And average programmers can code reasonable solutions for many common tasks in a short space of time.
To me, not having something like split and join, is almost as bad as not having "print" or other basic stuff (for some reason Java comes to mind even though they do have print, I wonder why;) ).
As for performance, Python+Pysco seems to have semidecent performance except for certain math (floating point?). So I'm just wondering if Perl would get that level of performance some time soon.
Still Perl performance is often quite tolerable given that CPUs are so powerful nowadays - I have written perl network servers that handle one to two thousand requests a second (or a bit more). Not that fast, but you usually run out of network bandwidth first;). In other cases you'd run out of disk IO bandwidth - unless you've got a fair number of disk striped together.
As mentioned I'm lazy and not so smart, I wouldn't want to have to reimplement split, join or map. Nor would I want to always have to figure out how someone's variant of those work.
For the DHCP server thing, with perl I'd go use stuff like "Net::DHCP::Packet" and "Net::RawIP".
But unfortunately, perl is kinda slow, compared to common lisp. A fast high level language would be nice. Sure you can write your own languages with Lisp. Trouble is you might end up with multiple languages for each Lisp programmer.
While that might not be as bad as C programmers reimplementing stuff that's standard in other languages in different ways (more often than not - poorly), I don't see it as such a great thing.
I guess Lisp is a bit like having a GUI that's totally and rapidly configurable and comes mostly unconfigured, but the users don't mind totally configuring it just for the task at hand - it's easy for them to do so I guess.
Whereas I'd want a GUI that already comes with defaults (mouse pointer, clipboard, taskbar, menu etc), but one where you can change the defaults if you need to.
The barriers of entry are pretty low in the OSS world. If you're a good programmer you can take OSS code and run with it.
If you don't like the culture of a particular OSS project you are free to go start your own project. Sure, you may still need other people to help, but if you are doing good work, people might still go help you out.
I suggest that in many fields it's the exceptionals who make a significant difference in the advancement of the field
And in CS and programming, I claim that a particular form of intelligence is a major requirement.
I gather that the variation of intelligence in male humans is much greater than for the females. There are more really stupid males than really stupid females. But there are more really smart males than really smart females too.
So even in a pure meritocracy there would be fewer female humans in the top ranks of CS or OSS.
Personally I think people are making a big fuss over the wrong thing. If someone is really interested in something they won't get discouraged that easily.
I'm not in the US, but from what I hear it seems that in the US, it's common for male geeks/nerds to get discriminated against in high school (even physical abuse). But they still go do geeky stuff anyway.
Still, if this is true, it's not a good culture to have. Over here if you're a member of the chess club, or computer club it's not something you'd need to hide from anyone. People who do well in exams/tests don't get picked on negatively etc.
Avoiding a "loser" culture is important, since nowadays one has to be competitive with the rest of the world. Not just the rest of the class.
Nowadays the barriers of entry to the IT world are much lower. Computers and internet connections are much cheaper nowadays. Even if you don't have a formal CS or IT degree, if you're good enough you can prove it. I doubt most developers in the OSS projects care whether you're male or female.
But similarly that means a programming or CS-related job is easier to send to another country than a nursing job.
So it may be a smart move by girls to avoid Computer Science!
The built-in ipfiltering for w2k is a joke - there's no statefulness. It's even crappier than ipchains (which was pretty crappy). It's about as crap as cisco ip acls 1-99.
"I use linux. I have javascript enabled, though I don't let it resize windows or anything else I don't like. I browse wherever I like, without fear, without any real need to be careful."
What browser do you use though? If it's Mozilla or a derivative (e.g. FireFox) I'd say you should be more careful. Mozilla is probably in the same order of magnitude of bugginess as IE (if not more so - just look at Mozilla's track record). It's just not targetted as much publicly. Just wait till it gains even more marketshare.
Basically any software that has had a history of crashing can probably be exploited[1].
At my current workplace I run mozilla using a different user account from my main user account. This prevents browser exploits from having read or write access to files in my home directory. Due to the version of mozilla I'm using not respecting umasks (don't ask) I had to resort to ACLs in order to allow my main account to access files downloaded with the browser.
This way I have a lot less to worry about. Hackers might wipe the files I've downloaded using the browser, but it's harder for them to touch my main files. Of course I still have to be careful that there aren't any local root exploits.
In my previous workplace I used to do a similar thing with IE - run it with a different user account (using runas with savecred on winxp).
At home, I run IE in a virtual machine for sites which require javascript activex etc. So I'm reasonably safe barring an exploitable bug in the virtual machine software (I have found some bugs but I think they are not exploitable) or a bug in the graphics driver, NIC driver or something similar (which won't be Microsoft's fault)...
There was a bug in one version of my NIC drivers which caused bluescreens when certain data patterns were downloaded. Definitely doubleplus ungood. So I had to resort to a different version.
The problem with this WMF bug is it seems that stuff like Google Desktop can trigger payload executiion whilst trying to index the WMF files. I don't use Google Desktop, so I don't know how one could restrict permissions for it.
[1] It's a sign of poor code quality. In my experience some AV software fall in this category too.
Well, if robots+ a few humans are able to do most of the work of meeting the basic needs then I don't see it as a big problem that lots of people want to bum around. Maybe this is not possible yet but there appears to actually be a net food/resource surplus, politics appear to be the main cause of hunger/famine worldwide.
Also, I suspect that most people need to feel useful. I bet most people after bumming about for a while would eventually want to find something useful to do.
You might end up with something like ancient greek society (where slaves = robots), and the rest of the people found other ways to occupy themselves - like figuring out trigonometry, logic, philosophy, designing new machines.
Right now, there's a danger of employees=slaves. Which is not a good thing either.
Say there's a world where each person is paid the same amount to make one decision a day.
Then some wise guy comes and asks to be paid 1.5x for making 2 decisions a day. Then someone else undercuts him, and so on.
The end result of this is that most people will be at a certain level of suffering. You could say it's all relative, but I disagree in the same way that going hungry is not the same being slightly less well fed.
What is the optimal solution to this? Perhaps a socialist state where the basic needs are met and the pay is just for wants? Would it be efficient enough? Is there enough to go around, or must some people inevitably starve?
Anyway, in my opinion Governments should be responsible for slowing inevitable change down so that their citizens can adjust. But not all change is necessarily inevitable or good.
That might also get you free food and lodging at a government establishment*.
You might also be eligible for lots of other free stuff and activities whilst there...
*inclusive of transportation to site.
For quake I use a key mapping and alias for changing my mouse sensitivity. It's fairly easy.
You can combine the sensitivity switching with the zoom in/out keys/events.
I'm sure you can do this with CS (since it's based on the Quake Engine - has similar console commands) and most decent FPS.
If your mind and body also slowed down too, then it wouldn't be such a problem - you wouldn't notice much.
Only issue is that you will reappear hundreds of years later.
J Bollocks is a great bullshit artist. He uses mainly bovine excrement in the creation of his works.
If you're in front of one of his actual exhibits the actual sensations, sight, sound, touch and last but not least _smell_ help to evoke significant emotions and connect you to the work.
J Bollocks is one of the founding members of The Emperor's New Clothes Inc.
Earlier versions of IIS were crap, but IIS6 has a better security track record than Apache 1.3 and 2.0.
Uh, it's just like unix, just "su -" to a shell as root and then run the stuff you want. In fact given there's no xwindows you don't even have to "export DISPLAY" etc.
/user:rootuser "%SystemRoot%\system32\cmd.exe"
.msc stuff e.g. gpedit.msc, services.msc.
Create a shortcut with something like this:
%SystemRoot%\system32\runas.exe
Then read this:
http://support.microsoft.com/?kbid=180025
You can also do "start compmgmt.msc" if you want to start the computer management stuff. There are a whole bunch of
Don't like this command line stuff? Well, you wouldn't like the unix command line stuff then.
In fact, at my prev workplace with Windows XP I used to run my web browser as a different user account from my normal user account (non admin). That way if my web browser got exploited it's a lot harder for my normal user account stuff to be affected.
Now I do a similar thing with SuSE and KDE at my current workplace. I run mozilla with a different user from my main (non root user).
People grumble a lot about windows being insecure. Windows NT/2000/XP onwards aren't really that much more insecure than most Linux distros.
It's just most people who are currently running Windows, would probably want to run a Linux distro as root.
In my opinion Windows and Linux aren't really secure or suitable for normal users.
Users should be able to _easily_ run stuff with restricted privileges - sandboxed. Say they run some silly Xmas game that someone emailed to them, such a program should only be given limited rights e.g. graphics, sound, but no access to documents files, only write to temp directory, no network...
Not everything a user launches should run with the user's full account privileges.
Currently there's windows firewall software which help do something like this, but there's a long way to go.
The trouble is Microsoft and other companies don't want to empower users, they'd rather DRM stuff be the solution. That way what the user runs and what access it has is under the control of the big companies.
Basically the long term strategy for them is to let things get really messy and insecure on the desktops and then propose DRM stuff as The Solution. When in actual fact there are alternative ways of solving the problem that don't involve everything being signed by Big Corps.
And the Big Corps do make mistakes too. Witness the insecure _signed_ ActiveX control that was released by Sony's DRM stuff. Then there are the flawed/buggy Microsoft ActiveX controls, which can in theory be reinstalled again without warning (since they're signed by msoft), and then reexploited.
Of course their "solution" to that would be for your computer to download certificate revocation lists on a regular basis.
But if users just run unknown/exposed stuff in sandboxes by default there wouldn't be such problems.
Maybe I'm crazy, but I claim my proposal is a lot fairer and just than the current popular methods for leaders to start wars.
Show me something that is fairer. Or show me how the current situation is better than my proposal.
I really don't think my proposal is that impractical either. Of course my proposal is unlikely to be implemented, what are the odds the politicians would pass such laws?
The UN can't stop any nation from attacking any other nation. There are countries with an effective veto on UN actions.
Offensive military action is usually not a result of insanity. Sociopaths could be as rational and sane as the average person. They may be even more rational - less bothered by "inconvenient" emotions. They're usually just not good people.
Unless the exoskeleton "folds easily" for transporation one might as well have a remotely controlled robotic guard, with the soldier safely somewhere else.
I suggest the military should find a way to augment or supplement human metabolic pathways. e.g. attach some equipment to a human which prevents/reduces the build up of lactic acid in skeletal muscles, and perhaps augments the energy supply to those muscles (ATP, glycogen, oxygen etc).
That way you will have soldiers that can operate in "sprint" mode without getting fatigued.
Given a suitable training regime, the soldiers will then also be able to adapt (bulk up) to carrying heavier loads faster and with less pain.
"If one man can cause pain to another man with no risk to himself, then it's basically torture."
;).
" one nation can make war on another nation with no risk to its own men "
It's not the "risk to its own men" that's the main issue I see.
The main issue is that nowadays _Leaders_ can get their countries to attack other nations without risking their _own_ lives significantly.
I have proposed before that in order for leaders to start an offensive war (or "offensive action"), there should be a referendum. A defensive action against an _immediate_ attack is a different story (no bullshit about they are thinking about attacking us).
If there aren't enough positive votes the proposing leaders get sentenced to death and put on death row. Say for example, 66% of total voting population need to vote for the war - if people don't bother voting you still get sentenced to die - because obviously people weren't as fired up about risking their lives as you were - they didn't bother getting off their butts to vote.
There might be a "redemption" referendum soon after for the people to decide whether they do still want those leaders alive.
If the leaders get executed but it turns out that the war was justified, one might give them the equivalent of a purple heart
If it turns out that a war was because the leaders tricked the population or were not duely diligent in presenting the correct facts, then a similar referendum will be taken.
With my proposal, even sociopathic leaders who lie when they say they regret "sending our soldiers to die" will actually think twice about it.
I am not a soldier, but I bet that it will do wonders for morale when you know the leaders sending you to risk your life, are also willing to risk their own lives for that war.
I think that's very fair right?
Last but not least: the people you are attacking will then have fewer qualms about killing your citizens since most of your citizens genuinely wanted to attack them.
If you think it is not acceptable that the 33% not for the war can also get killed, then adjust the referendum accordingly.
Anyway, I claim my proposal is still a major improvement, I'm sure there have been wars where more than 90% of the population weren't for the war but they still got dragged into it.
"current theory says that photons travel from one electron to another and push them apart."
But how do the photons know where to travel?
Not exactly what you asked for, but this site might be helpful.
gzip and lzop do not assume the max compression option.
lzop in default is MUCH faster than gzip.
I would not recommend using lzop in anything other than the default setting - it gets a lot slower when you set it to max, for not very much gain. If you want more compression and less speed, use gzip --fast instead of lzop.
In fact sometimes lzop in minimal compression mode is slower than lzop in default!
On current x86 hardware I get on average ~30MB/sec with lzop and ~50% compression when imaging HDD images[1].
;).
USD100 for LTO3? Sure looks like tapes are pretty expensive. I'd use tapes for legacy backups or where physical shock is an issue, or when you have tons of tapes and need automated loaders.
But removable hard drives seem a more attractive option for most cases nowadays (small to medium businesses). Large corporations can probably afford to be locked in to a particular tape technology, for the convenience of automated tape libraries.
LTO3=400GB storage at 10MB/sec (native) @ about USD100 per tape and USD2K for the cheapest drive.
SATA= 250GB storage at 40MB/sec (native+ average sequential transfer, 60MB peak) @ ~USD100 per drive.
SATA hotswap cage = USD100-USD200.
PATA+USB= 250GB storage at 20MB/sec (native+ average sequential transfer) @~USD100 per drive. PATA to USB enclosure USD30 to USD50 (for a decent one).
Plus PATA/SATA is less of a "locked-in" technology compared to LTO3 or other tape technologies.
With tape drives you have to deal with two main standards that could become obsolete. First = the tape standard (e.g. LTO3, DLT, DDS etc) , second = the tape drive interface standard (e.g. SCSI).
If you got an expensive LTO2 drive in 2003 you are stuck with 200GB native capacity media. Same goes for DLT, DDS etc. You'd have to pay for an expensive LTO3 drive, and then when LTO4 comes out, you're still stuck with LTO3 capacity unless you pay for a probably expensive LTO4 drive.
In contrast with hard drives you just deal with the drive interface standard (e.g. SCSI, SATA, PATA). With HDDs each "tape" comes with its own drive
If 800GB SATA drives become cheaply available, you can start using them with your existing backup systems.
In desperate situations you are more likely to be able to find servers/PCs where you can plug the "media" to and start restoring stuff. Whereas with tape you need a mucho expensive tape drive for each backup/restore point.
A decent backup/restore server with a decent drive cage can hold multiple drives and you can backup multiple machines to different drives, and on decent hardware you can get 40MB/sec for each backup (multiple gigabit interfaces, SMP/multi-core CPUs). If you have a server with a 4 drive cage and 2 x 1 gigabit NICs, you can easily get 4 x 40MB/sec backup/restore streams going from/to different targets.
For tape you'd need four expensive tape drives to do that.
You get sub-second random access. No need to wait 10 seconds to seek.
Last but not least: if I have to restore backups with The Boss/Customer breathing down my neck, I'd pick 40MB/sec over 10MB/sec. Perspective: 11 hours to read 400GB from an LTO3 tape vs 2.8 hours to sequentially read 400GB from SATA drives.
[1] first 131MB of a disk image
time dd if=drive.img bs=131072 count=1000 | lzop -c |wc -c
1000+0 records in 1000+0 records out 66784879
real 0m3.307s user 0m2.442s sys 0m0.842s
39MB/sec 1.96:1 compression
For first 131MB of linux kernel tar uncompressed ball (cached in RAM):
time dd if=linux-2.6.14.4.tar bs=131072 count=1000 | lzop -c |wc -c
1000+0 records in 1000+0 records out 46473494
real 0m2.483s user 0m1.660s sys 0m0.821s
52MB/sec 2.82:1 compression
time dd if=linux-2.6.14.4.tar bs=131072 count=1000 | gzip -c --fast |wc -c
1000+0 records in 1000+0 records out 36786087
real 0m5.965s user 0m5.297s sys 0m0.659s
22MB/sec 3.56:1 compression
time dd if=linux-2.6.14.4.tar bs=131072 count=1000 | gzip -c |wc -c
1000+0 records in 1000+0 records out 29724624
real 0m11.283s user 0m10.640s sys 0m0.615s
11.6MB/sec 4.41:1 compression
First 131MB of wave file (cached in RAM)
time dd if=somewave.wav bs=131072 count=1000 | lzop -c |wc -c
1000+0 records in 1000+0 records out 128273334
real 0m5.520s user 0m4.597s sys
For speed I use lzop. In most cases it's a drop-in replacement for gzip. lzop is about 3x to 4x faster for my cases, and just a bit worse in compression (about 10%).
With lzop I typically get 30MB/sec (default settings).
Whereas with gzip I typically get about 8 to 10MB/sec, which often isn't close to network or disk transfer limits, and in those cases it will mean that things aren't getting done as fast as possible.
gzip with --fast is still significantly slower than lzop and at those settings it compresses only about as well as lzop at default.
I'd be interested to know if there's a drop-in replacement for gzip that's faster than lzop. But so far lzop works pretty well.
"It's pretty cool you can reduce an infinite amount of maps down to just 633."
That is about as cool as a programmer starting with an "infinite number of choices" to solve a problem and ending up with a program with 633 if-then-else statements.
Now if it turns out that that is the shortest program possible to solve the given problem then I guess one will have to accept that as "as cool as it gets".
However if the 633 if-then-else statements can be reduced to a few loops and conditionals, or even a one liner then that would be a lot cooler.
I figure the mathematicians are looking for a far "better compression" than 633 conditionals.
That said, I do wonder whether the mathematicians and physicists will ever be able to compress the laws of the universe to a single theorem.
"I hate to impinge on your sarcasm, however, they've already mounted AC units on these Humvees. They bring the internal temperature from 130F -> 95F."
Then the AC units are crap. They should use proper ones.
Given how much the Humvees cost, they should have been capable of supporting better AC units. After all if the US wants to fight wars in all parts of the world, there are very many places with Iraq-like temperatures.
Overheated soldiers are more likely to hang outside when they don't need to and get killed.
Overheated soldiers might not think as clearly, shoot the wrong people, etc (face it, being in a bad mood can affect your judgement).
Once you've been sitting in a nice cool vehicle for a while, you can tolerate higher temperatures for quite a while, and you have better endurance.
In some sports, many athletes wear some sort of cooling thingy, and then when the time comes, they take it off and then they are able to run fast for significantly longer even in hot weather.
"Common Lisp is too small, because it doesn't include an HTTP server as part of the standard"
;). So many ways to do things the wrong way, so few to do it right (worse if constrained by crappy existing code).
Heh. Well, definitely won't want it to do things like php
Anyway, I should go take a look at Lisp again some time (I did try some time ago).
Given that things appear to be headed down the multi-cpu path, I think there's a chance for Lisp to try to get greater marketshare.
I figure Prolog should be good at using multi-cpus too.
While I definitely like having lots of prefab around, with respect to that point, I was talking about not having to reimplement things as basic as split and join. It would be bad to have to look for the relevant modules from CPAN just to do split, join, map, associative arrays. Plus one would have to figure out which ones are best etc.
;) ).
;). In other cases you'd run out of disk IO bandwidth - unless you've got a fair number of disk striped together.
It was a really good idea to have those as standard/defaults- they are useful for a very wide range of problems. By having those stuff as built-ins, programmers like me won't get those wrong, and people would be able to understand exactly what I'm doing when I use them (and possibly whether I'm screwing up or not). And average programmers can code reasonable solutions for many common tasks in a short space of time.
To me, not having something like split and join, is almost as bad as not having "print" or other basic stuff (for some reason Java comes to mind even though they do have print, I wonder why
As for performance, Python+Pysco seems to have semidecent performance except for certain math (floating point?). So I'm just wondering if Perl would get that level of performance some time soon.
Still Perl performance is often quite tolerable given that CPUs are so powerful nowadays - I have written perl network servers that handle one to two thousand requests a second (or a bit more). Not that fast, but you usually run out of network bandwidth first
Thanks. I think I know a bit more about Lisp now.
As mentioned I'm lazy and not so smart, I wouldn't want to have to reimplement split, join or map. Nor would I want to always have to figure out how someone's variant of those work.
For the DHCP server thing, with perl I'd go use stuff like "Net::DHCP::Packet" and "Net::RawIP".
But unfortunately, perl is kinda slow, compared to common lisp. A fast high level language would be nice. Sure you can write your own languages with Lisp. Trouble is you might end up with multiple languages for each Lisp programmer.
While that might not be as bad as C programmers reimplementing stuff that's standard in other languages in different ways (more often than not - poorly), I don't see it as such a great thing.
I guess Lisp is a bit like having a GUI that's totally and rapidly configurable and comes mostly unconfigured, but the users don't mind totally configuring it just for the task at hand - it's easy for them to do so I guess.
Whereas I'd want a GUI that already comes with defaults (mouse pointer, clipboard, taskbar, menu etc), but one where you can change the defaults if you need to.
The barriers of entry are pretty low in the OSS world. If you're a good programmer you can take OSS code and run with it.
If you don't like the culture of a particular OSS project you are free to go start your own project. Sure, you may still need other people to help, but if you are doing good work, people might still go help you out.
I suggest that in many fields it's the exceptionals who make a significant difference in the advancement of the field
And in CS and programming, I claim that a particular form of intelligence is a major requirement.
I gather that the variation of intelligence in male humans is much greater than for the females. There are more really stupid males than really stupid females. But there are more really smart males than really smart females too.
So even in a pure meritocracy there would be fewer female humans in the top ranks of CS or OSS.
Personally I think people are making a big fuss over the wrong thing. If someone is really interested in something they won't get discouraged that easily.
I'm not in the US, but from what I hear it seems that in the US, it's common for male geeks/nerds to get discriminated against in high school (even physical abuse). But they still go do geeky stuff anyway.
Still, if this is true, it's not a good culture to have. Over here if you're a member of the chess club, or computer club it's not something you'd need to hide from anyone. People who do well in exams/tests don't get picked on negatively etc.
Avoiding a "loser" culture is important, since nowadays one has to be competitive with the rest of the world. Not just the rest of the class.
Nowadays the barriers of entry to the IT world are much lower. Computers and internet connections are much cheaper nowadays. Even if you don't have a formal CS or IT degree, if you're good enough you can prove it. I doubt most developers in the OSS projects care whether you're male or female.
But similarly that means a programming or CS-related job is easier to send to another country than a nursing job.
So it may be a smart move by girls to avoid Computer Science!