Agreed! Norton AV has been the single largest generator of BSODs I've encountered. While it's been mostly stable since XP, it's still a huge slow-ya-down pig.
One thing I've done to improve performance is to restrict the files it looks at to executables (and some of the more annoying scripting languages.) I still let it perform a weekly full scan on everything, but I don't real-time examine every picture or MP3. Yes, I realize I might get bit by a JPEG-delivered-virus because I'm not scanning.JPGs. But using anti-virus software doesn't mean I immediately start downloading crap from every.ru address out there anyway. I'm still mostly careful, use Firefox, disable most plugins, and keep other stuff patched.
That makes no sense. You're going to hold some vague high ground and not install this because it might allow Sony's DRM to be installed? Rather than protect yourself by eliminating 95% of the threats, you won't protect yourself at all? I don't get that attitude.
All the anti-virus and anti-spyware makers have had to make some compromises. The most public recently was when Microsoft made some kind of an arrangement with Claria, and then with the next month's release of Microsoft's anti-spyware they had "downgraded" the default settings for Claria from "threat" to "ignore". But others, even the freeware ones like Spybot S&D, have been approached by spyware and adware vendors claiming "our product isn't spyware, we'll prove it however you want, just stop removing it." Some do get delisted, others make installer/uninstaller changes to get delisted, while others send threatening-looking legal letters (and some even launch DOS attacks.) It's not easy being in the anti-"anything" business.
Besides, looking specifically to Sony and issues of DRM, keep in mind that Microsoft is firmly in bed with the [MP|RI]AA, and they're even bringing the vaseline. Vista is going to contain the concept of a "Protected Media Path" (PiMP) which means the PiMP won't play "protected" content if any non-blessed, non-DRM-enabled drivers are active on your computer. Sony won't have to install crapware DRM because Microsoft will have done it for them. And yes, that's just one reason I'm not going to switch to Vista.
Well, they're going to charge for subscriptions when they release it. Will you be any more or less comfortable knowing that these people will be "paid to care" as opposed to "volunteers"?
Also, a anti-virus isn't technically a "bug fixer", it's more of an "after-the-fact bug-exploiter defender".
I got fed up with the situation under my desk, so I bought a couple of large (12 outlet) power strips. I got the kind that have six tradtional duplex outlets side by side, with space for wall warts around each. One of the power strips is plugged into my UPS, the other goes straight into the wall. I screwed them up high on the back walls under the desk, and used lots of twist ties and velcro cable straps to contain the mess.
I also bought a label printer (Brother P-Touch, I think) and I labeled every wart so I knew which went with which component. It's important because when you have 14 or so warts under a dark desk, they all kind of look similar.
It's far from perfect. There are still a lot of wads of tied up cables hanging around. It's also tough to pull out just one specific wart. I always need to bring the camera charger on vacation, for example.
I've often thought about taking an older power supply and soldering up a replacement set of plugs for each device, doing something like putting 4-pin molex power connectors on the other end, giving me +5VDC or +12VDC for most of the devices, and putting together something else to provide +9VDC for the other oddities. But motivation and the difficulty of finding all those oddball connectors somewhere has dampened that desire somewhat. Plus, I'm concerned that if I'm only trying to draw some tiny amount of standby current (5W or so) that a switching power supply might do something funny, like switch off.
Yes, I hate the current situation too. There ought to be a household standard for low voltage distribution, but if there is nobody's pimping it very hard.
Oh who cares? My karma's been capped at 50 since the karma cap came around, and has been excellent ever since. Nobody but the trolls give a rat's ass about karma or karma whoring.
Haven't tried, and honestly we won't. Two reasons: One, Microsoft is very committed to squeezing performance out of.NET. It can even execute faster than C code in some artificial benchmarking situations. I believe they're better suited to making it work for us than Mono. The other reason is we're very tied to Microsoft OSes at this point. There is a river of Koolaid running through the hallways here, and it flows into the director's offices. But thanks for the hopeful thoughts anyway.
Thanks for the link, I saw Kate's presentation on C++/CLI at TechEd earlier this year. It sounded really good, but she also pointed out if you do any C++ things your code was no longer "verifiable" (in terms of.NET) It was really cool that she was able to recompile any old C++ program as a.NET assembly (no changes.) But the reason those things work is the code becomes "mixed", with some machine language, some MSIL. The benefits of verifiable.NET assemblies (things like assured correctness of memory management) are not present when the whole assembly isn't pure.NET.
.NET (as defined by the MSIL) simply does not have support for a "going-out-of-scope" method. Making your application developers call a.cleanup function defeats the purpose of wrapping the resource in the class. And.Finalize is still only called at GC time, not when it goes out of scope. So yes, having access to that functionality through the C++ side is a "good thing." The C++/CLI language is good for developers. It allows us to access.NET functionality from ordinary C++, but it isn't quite the same as a full.NET assembly.
Take a look at this article on MSDN about the differences betweeen mixed, pure and verifiable ("safe") code.
Microsoft is all over us to move to.NET but, their hardware requirements are for 400MHz processors. Our least-common denominator is a lot of 266MHz, 128MB RAM machines. There really is no chance to make.NET perform acceptably on those old boxes. But since the only people with a real interest in moving us to.NET seems to be the Microsoft consultants, nothing much is happening on that front anyway.
Please. Learn you nothing from history, hmm? Let's see what our forebears had to say:
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Rich Cook
Half the world is composed of idiots, the other half of people clever enough to take indecent advantage of them.
Walter Kerr
Never give a sucker an even break.
W. C. Fields
There's a sucker born every minute.
Barnum, P.T.
Every crowd has a silver lining.
Barnum, P.T.
Since they apparently haven't stopped making idiots since the 17th century, I'm guessing we won't see the end of this for a long, long time.
Buffer overruns are not always the fault of poor memory allocation. Yes, they can be caused by allocating too little memory (or writing too much data), but they can also be caused by doing pointer math incorrectly, incorrect static casting, or one of a dozen other reasons. A garbage collector doing its job is not even related to the problem.
What I don't understand is why they couldn't have written Java (and.NET) so we could have our cake and eat it too.
For the most part, GC for memory is a good thing. (I do business apps, so the immediate performance of memory typically isn't a problem.) But why couldn't they give us a default "going-out-of-scope" method? I love the whole C++ constructor/destructor idiom because it makes using the native classes for resource management a breeze. Want a class to wrap a file handle? Sure, no problem, we'll close it when you're done with it. A database accessor? Same thing.
So for the most part, I'm not fussy about when the memory is actually reclaimed by the OS. But for the rest of the resources, I want to be able to micromanage their lifetimes; and I would like to hide that from the consumer of the object. Why do these languages insist on treating GC as an XOR? There's room for both models.
I had OmniRemote on my Palm Pilot way way back when. I then ran it on my Visor for several more years. And I even put it on my Tungsten, but it didn't work there. So thank your friend at Pacific Neo-Tek for me, it's very cool software. It did what "couldn't be done" at the time.
(BTW, I don't like the IR port on the side of the Visor, I much prefered the "extended IR" of my original Palm, but that wasn't the fault of O.R. As a matter of fact, the "rotate" thing in O.R. was a really cool trick to compensate for it.)
What I most appreciate about the Harmony is that setup is all automatic. I didn't have to train it with 50 buttons on each of four different remotes. I didn't have to draw hundreds of tiny boxes, meticulously laying them all out on aligned grids, giving each an illegible mnemonic. I didn't have to redesign the concept of a remote.
I spent dozens of hours with Omni Remote, and the ORdesktop software. I tried importing codes and stuff from the Pronto (mixed success there.) I tried finding layouts on-line that other people had done. I went so far as to digitize photographs of my existing remotes to try to figure out a sane layout for the screen. I basically spent forever trying to set up the remote, and never got it perfect.
The Harmony eliminated all of that. I bought the remote. I installed the CD-ROM. I plugged it into the USB port, which automatically took me to their web page. I registered a new account. I typed in the model numbers for each of my devices. The web page then gave me a list of activities: "Watch TV", "Watch a DVD", "Listen to Radio", etc. It asked me "what input do you need to set your audio system to watch TV and hear it through the stereo" and gave me an appropriate set of radio buttons to pick from. It asked "what input do you set the TV to watch cable TV?". After answering those few questions, I clicked "done" and it downloaded the new data straight to my remote, which just worked. It took about half an hour, total. I've played with the web page a few more times just because I could, not because I had to. But the remote just worked the first time I downloaded to it, and it had all the functionality it needed to pass the dreaded "wife test."
All in all I find the Harmony is actually cheaper than the Visor + O.R. when I factor in the time investment. I can't recommend O.R. to someone who isn't a techie, or to someone who doesn't have the time to fiddle with creating dozens of screens.
I wrote this little whitepaper a while back for Amy Zunk to document
the function of the VideoKeg/VideoJukebox boxes. Documented here for
posterity.
The primary goal of the video keg was to build a reliable video box
that was easy to transport with enough space to store 3 days worth of
Anime fan-subs.
The secondary goal of the video keg was to make a home PVR system
for video playback and time-shifting, along with a video arcade and
perhaps a web browser.
The tertiary goal of the video keg was to find an affordable
hardware platform so that we could buy 4 of them immmediately to
service the primary goal's need for 4 separate video rooms.
For a PVR, the machine neeed to be small, quiet, low-heat, and still
fast enough to run the software video player and arcade games.
For portability, we decided to go with a smaller mini-ITX style cube box.
The primary goal suggests redundant drives, but due to the smaller
form factor chassis and heat requirements, it was decided that
recreating a harddrive should one encounter problems would be a minor
task.
Looking at the primary goal, mplayer seemed to suit the need of
playing media with a variety of codecs with a minimum of fuss. Easy to
script, easy to extend, low overhead, with the ability to normalize
audio and clean up dirty videos - mplayer was simply ideal. This lead
to the requirement of a ~1Ghz or greater box. The secondary goals would
be served as well, though MAME would like a bit more horsepower for
some of the more complex emulators.
In the end, we settled on a Chyang Fun Cellbox CF-7989EPIA (1Ghz
EPIA-MII 10000) turnkey system with 128M of RAM, a Samsung 160G
harddrive, and a DVD-ROM drive.
The cellbox is a small attractive easy to transport case.
The EPIA-M comes with builtin audio, video, mpeg playback hardware, and a variety of other goodies for a VERY attractive price.
The 128M stick was enough to run mplayer with an Xserver with plenty left over for PVR software.
A 160G harddrive was the sweet spot cost wise at the time of purchase.
Once the boxes arrived, the decision at the time was which
distribution to pick. If I'm managing more than one server for a given
purpose, I like to use debian for package management. If this were a
lone PVR box, I would have probably used Gentoo simply for the EPIA
community support toward that end.
Starting off with Debian 3.1 Sarge, it was apparent a number of
things needed fixing to get it to work with the embedded hardware.
Step 1, find patches and build a kernel.
Kernel patches
After roaming the net for hours, there really seems to be one good source for the latest in EPIA patches: the EPIA wiki:
The site has more of a Gentoo bent, but the patches work on a vanilla kernel just the same under debian.
CPU Optimizations
While building all packages, it seemed important to pay attention to
optimizations to squeeze every last cycle out the 1Ghz processor. To
that end, the generally recommended C3 Nehemiah CFLAGS are:
If you use gcc 3.3, there is a new arch designation for C3 Nehemiah CPUs:
-march=c3-2
Some in the commmunity think that the small 64k L1 cache on the C3
processors is causing starvation, and using -Os and not -funroll-loops
actually helps performance:
The point I made was "being open means being believed, and even Microsoft sees the truth in it."
The motivations, profits, or whatever are irrelevant to that point, but gave rise to my question. Rephrased, it can be asked "what are those stumbling blocks that prevent you from following this path with your other products? And can you remove them?"
I've taken to recommending the Harmony remotes (now from Logitech) for anyone who has a home theater setup that they have a hard time controlling. Even non-techies can set them up fairly easily. Their only drawback is the remotes literally cost more than the TV/DVD/VCR combo box he mentioned above. (The Harmony 880 is $250 at Best Buy.)
Oh yeah, he's been a serious gun advocate for as long as he's been a public figure. Some of his writings are just way, way out there.
He's an ardent libertarian, I'll give him that. But like most libertarians, he doesn't understand that it takes all of us to make a society. If it were up to him, we'd all still be living in home-made shacks in the woods, because there wouldn't be enough of a society functioning to have paved roads upon which to deliver us construction materials. Or if there were, they'd be toll roads up to your driveway.
You said above "I agree though that one is tempted to dismiss research a priori though because of funding or some vendor tie. I think a good way to reverse the trend is to open the process up to public scrutiny; thats probably the main reason I came on Slashdot."
You obviously see the value of public scrutiny in what you do. So do we, we're obviously paying attention to your studies, and are pleased to see the "inner workings." It certainly helps lend credibility to your points. But it also begs the question: why doesn't Microsoft extend that same logic to operating systems or applications?
Nice statistics, but incomplete and quite misleading because of it. The U.S. population is about 295,000,000 people, the UK has about 60,000,000. All other things being equal, with almost 5 times the population you should expect 5 times more of anything in the U.S.
So, adjusted for population, in the U.S you have 0.33 murders of police per 1,000,000 people over 2 years. In the U.K. you have 0.033 per 1,000,000. Now you can see the U.S. rate is 10 times worse than the U.K. rate, not the 50 times your previous figures implied.
[ Please note that I am not saying the U.S. is somehow "better" because the murder rate is lower than your post implied. Any murders of police are abhorrent. ]
I said "all other things being equal" above. But all other things are never equal, are they? So, now someone reading the statistics can start speculating on why the U.K. has a lower murder rate. Is it really because the police don't always carry guns, as you implied? Or is it because there are fewer guns in the hands of the population? Fewer violent criminals on the streets? Stiffer penalties for violent crime? Generally bad weather? There's a case to be made for all of them, so blaming a general statistic on a specific cause from these numbers is just carrying the misunderstanding up another level.
Be careful when you base judgement on numbers without studying them more carefully. They're used by every side to raise passions for and against every special interest in every debate -- it just depends on who's spinning them.
One thing I've done to improve performance is to restrict the files it looks at to executables (and some of the more annoying scripting languages.) I still let it perform a weekly full scan on everything, but I don't real-time examine every picture or MP3. Yes, I realize I might get bit by a JPEG-delivered-virus because I'm not scanning .JPGs. But using anti-virus software doesn't mean I immediately start downloading crap from every .ru address out there anyway. I'm still mostly careful, use Firefox, disable most plugins, and keep other stuff patched.
All the anti-virus and anti-spyware makers have had to make some compromises. The most public recently was when Microsoft made some kind of an arrangement with Claria, and then with the next month's release of Microsoft's anti-spyware they had "downgraded" the default settings for Claria from "threat" to "ignore". But others, even the freeware ones like Spybot S&D, have been approached by spyware and adware vendors claiming "our product isn't spyware, we'll prove it however you want, just stop removing it." Some do get delisted, others make installer/uninstaller changes to get delisted, while others send threatening-looking legal letters (and some even launch DOS attacks.) It's not easy being in the anti-"anything" business.
Besides, looking specifically to Sony and issues of DRM, keep in mind that Microsoft is firmly in bed with the [MP|RI]AA, and they're even bringing the vaseline. Vista is going to contain the concept of a "Protected Media Path" (PiMP) which means the PiMP won't play "protected" content if any non-blessed, non-DRM-enabled drivers are active on your computer. Sony won't have to install crapware DRM because Microsoft will have done it for them. And yes, that's just one reason I'm not going to switch to Vista.
Also, a anti-virus isn't technically a "bug fixer", it's more of an "after-the-fact bug-exploiter defender".
Consider your hornets' nest kicked.
I also bought a label printer (Brother P-Touch, I think) and I labeled every wart so I knew which went with which component. It's important because when you have 14 or so warts under a dark desk, they all kind of look similar.
It's far from perfect. There are still a lot of wads of tied up cables hanging around. It's also tough to pull out just one specific wart. I always need to bring the camera charger on vacation, for example.
I've often thought about taking an older power supply and soldering up a replacement set of plugs for each device, doing something like putting 4-pin molex power connectors on the other end, giving me +5VDC or +12VDC for most of the devices, and putting together something else to provide +9VDC for the other oddities. But motivation and the difficulty of finding all those oddball connectors somewhere has dampened that desire somewhat. Plus, I'm concerned that if I'm only trying to draw some tiny amount of standby current (5W or so) that a switching power supply might do something funny, like switch off.
Yes, I hate the current situation too. There ought to be a household standard for low voltage distribution, but if there is nobody's pimping it very hard.
Curse you! I almost blew my mountain dew out of my nose when I read that!
Well, at least John Travolta's thetans would be pre-cleansed...
Oh who cares? My karma's been capped at 50 since the karma cap came around, and has been excellent ever since. Nobody but the trolls give a rat's ass about karma or karma whoring.
Haven't tried, and honestly we won't. Two reasons: One, Microsoft is very committed to squeezing performance out of .NET. It can even execute faster than C code in some artificial benchmarking situations. I believe they're better suited to making it work for us than Mono. The other reason is we're very tied to Microsoft OSes at this point. There is a river of Koolaid running through the hallways here, and it flows into the director's offices. But thanks for the hopeful thoughts anyway.
This posting brought to you by the domains "F" and "U".
Take a look at this article on MSDN about the differences betweeen mixed, pure and verifiable ("safe") code.
Microsoft is all over us to move to .NET but, their hardware requirements are for 400MHz processors. Our least-common denominator is a lot of 266MHz, 128MB RAM machines. There really is no chance to make .NET perform acceptably on those old boxes. But since the only people with a real interest in moving us to .NET seems to be the Microsoft consultants, nothing much is happening on that front anyway.
"Outlook not so good". Gee, that Magic 8 ball sure is smart; I'll ask it about Exchange server next.
Godwin! Godwin! You brought the Nazis into this! :-)
Please. Learn you nothing from history, hmm? Let's see what our forebears had to say:
- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
-
Half the world is composed of idiots, the other half of people clever enough to take indecent advantage of them.
-
Never give a sucker an even break.
-
There's a sucker born every minute.
-
Every crowd has a silver lining.
Since they apparently haven't stopped making idiots since the 17th century, I'm guessing we won't see the end of this for a long, long time.Rich Cook
Walter Kerr
W. C. Fields
Barnum, P.T.
Barnum, P.T.
Buffer overruns are not always the fault of poor memory allocation. Yes, they can be caused by allocating too little memory (or writing too much data), but they can also be caused by doing pointer math incorrectly, incorrect static casting, or one of a dozen other reasons. A garbage collector doing its job is not even related to the problem.
For the most part, GC for memory is a good thing. (I do business apps, so the immediate performance of memory typically isn't a problem.) But why couldn't they give us a default "going-out-of-scope" method? I love the whole C++ constructor/destructor idiom because it makes using the native classes for resource management a breeze. Want a class to wrap a file handle? Sure, no problem, we'll close it when you're done with it. A database accessor? Same thing.
So for the most part, I'm not fussy about when the memory is actually reclaimed by the OS. But for the rest of the resources, I want to be able to micromanage their lifetimes; and I would like to hide that from the consumer of the object. Why do these languages insist on treating GC as an XOR? There's room for both models.
(BTW, I don't like the IR port on the side of the Visor, I much prefered the "extended IR" of my original Palm, but that wasn't the fault of O.R. As a matter of fact, the "rotate" thing in O.R. was a really cool trick to compensate for it.)
What I most appreciate about the Harmony is that setup is all automatic. I didn't have to train it with 50 buttons on each of four different remotes. I didn't have to draw hundreds of tiny boxes, meticulously laying them all out on aligned grids, giving each an illegible mnemonic. I didn't have to redesign the concept of a remote.
I spent dozens of hours with Omni Remote, and the ORdesktop software. I tried importing codes and stuff from the Pronto (mixed success there.) I tried finding layouts on-line that other people had done. I went so far as to digitize photographs of my existing remotes to try to figure out a sane layout for the screen. I basically spent forever trying to set up the remote, and never got it perfect.
The Harmony eliminated all of that. I bought the remote. I installed the CD-ROM. I plugged it into the USB port, which automatically took me to their web page. I registered a new account. I typed in the model numbers for each of my devices. The web page then gave me a list of activities: "Watch TV", "Watch a DVD", "Listen to Radio", etc. It asked me "what input do you need to set your audio system to watch TV and hear it through the stereo" and gave me an appropriate set of radio buttons to pick from. It asked "what input do you set the TV to watch cable TV?". After answering those few questions, I clicked "done" and it downloaded the new data straight to my remote, which just worked. It took about half an hour, total. I've played with the web page a few more times just because I could, not because I had to. But the remote just worked the first time I downloaded to it, and it had all the functionality it needed to pass the dreaded "wife test."
All in all I find the Harmony is actually cheaper than the Visor + O.R. when I factor in the time investment. I can't recommend O.R. to someone who isn't a techie, or to someone who doesn't have the time to fiddle with creating dozens of screens.
VideoKeg Whitepaper
I wrote this little whitepaper a while back for Amy Zunk to document the function of the VideoKeg/VideoJukebox boxes. Documented here for posterity.
The primary goal of the video keg was to build a reliable video box that was easy to transport with enough space to store 3 days worth of Anime fan-subs.
The secondary goal of the video keg was to make a home PVR system for video playback and time-shifting, along with a video arcade and perhaps a web browser.
The tertiary goal of the video keg was to find an affordable hardware platform so that we could buy 4 of them immmediately to service the primary goal's need for 4 separate video rooms.
For a PVR, the machine neeed to be small, quiet, low-heat, and still fast enough to run the software video player and arcade games.
For portability, we decided to go with a smaller mini-ITX style cube box.
The primary goal suggests redundant drives, but due to the smaller form factor chassis and heat requirements, it was decided that recreating a harddrive should one encounter problems would be a minor task.
Looking at the primary goal, mplayer seemed to suit the need of playing media with a variety of codecs with a minimum of fuss. Easy to script, easy to extend, low overhead, with the ability to normalize audio and clean up dirty videos - mplayer was simply ideal. This lead to the requirement of a ~1Ghz or greater box. The secondary goals would be served as well, though MAME would like a bit more horsepower for some of the more complex emulators.
In the end, we settled on a Chyang Fun Cellbox CF-7989EPIA (1Ghz EPIA-MII 10000) turnkey system with 128M of RAM, a Samsung 160G harddrive, and a DVD-ROM drive.
Once the boxes arrived, the decision at the time was which distribution to pick. If I'm managing more than one server for a given purpose, I like to use debian for package management. If this were a lone PVR box, I would have probably used Gentoo simply for the EPIA community support toward that end.
Starting off with Debian 3.1 Sarge, it was apparent a number of things needed fixing to get it to work with the embedded hardware.
Step 1, find patches and build a kernel.
Kernel patches
After roaming the net for hours, there really seems to be one good source for the latest in EPIA patches: the EPIA wiki:
http://www.epiawiki.org
The site has more of a Gentoo bent, but the patches work on a vanilla kernel just the same under debian.
CPU Optimizations
While building all packages, it seemed important to pay attention to optimizations to squeeze every last cycle out the 1Ghz processor. To that end, the generally recommended C3 Nehemiah CFLAGS are:
If you use gcc 3.3, there is a new arch designation for C3 Nehemiah CPUs:
Some in the commmunity think that the small 64k L1 cache on the C3 processors is causing starvation, and using -Os and not -funroll-loops actually helps performance:
Many others claim the following works best for them:
The motivations, profits, or whatever are irrelevant to that point, but gave rise to my question. Rephrased, it can be asked "what are those stumbling blocks that prevent you from following this path with your other products? And can you remove them?"
I've taken to recommending the Harmony remotes (now from Logitech) for anyone who has a home theater setup that they have a hard time controlling. Even non-techies can set them up fairly easily. Their only drawback is the remotes literally cost more than the TV/DVD/VCR combo box he mentioned above. (The Harmony 880 is $250 at Best Buy.)
He's an ardent libertarian, I'll give him that. But like most libertarians, he doesn't understand that it takes all of us to make a society. If it were up to him, we'd all still be living in home-made shacks in the woods, because there wouldn't be enough of a society functioning to have paved roads upon which to deliver us construction materials. Or if there were, they'd be toll roads up to your driveway.
Because he's not a stark raving lunatic?
You obviously see the value of public scrutiny in what you do. So do we, we're obviously paying attention to your studies, and are pleased to see the "inner workings." It certainly helps lend credibility to your points. But it also begs the question: why doesn't Microsoft extend that same logic to operating systems or applications?
So, adjusted for population, in the U.S you have 0.33 murders of police per 1,000,000 people over 2 years. In the U.K. you have 0.033 per 1,000,000. Now you can see the U.S. rate is 10 times worse than the U.K. rate, not the 50 times your previous figures implied.
[ Please note that I am not saying the U.S. is somehow "better" because the murder rate is lower than your post implied. Any murders of police are abhorrent. ]
I said "all other things being equal" above. But all other things are never equal, are they? So, now someone reading the statistics can start speculating on why the U.K. has a lower murder rate. Is it really because the police don't always carry guns, as you implied? Or is it because there are fewer guns in the hands of the population? Fewer violent criminals on the streets? Stiffer penalties for violent crime? Generally bad weather? There's a case to be made for all of them, so blaming a general statistic on a specific cause from these numbers is just carrying the misunderstanding up another level.
Be careful when you base judgement on numbers without studying them more carefully. They're used by every side to raise passions for and against every special interest in every debate -- it just depends on who's spinning them.