I would have really liked one of these when I was doing a lot of overseas travel for work -- 12 hour flights, then two or three weeks on-site. I either had to haul a buttload (how much is that, anyway?), or get used to repetition. Being able to haul 80 hours of music in one small device would have been way cool.
4. If you're using Deja ratings to decide which MP3 player or toaster to buy, great. That's really what they're designed for. If you're using a simple 4-category self-selected numerical vote to determine which NOS to deploy across your enterprise, you need to have your head examined.
Then why bother with the poll at all? It can be trivially spammed, and serves no purpose.
There is a classic story of a tiger team penetrating a secure military computer that illustrates the danger inherent in binary patches (or, indeed, any patches that you can't -- or don't -- inspect and examine before installing). They couldn't find any trap doors or any way to penetrate security of IBM's OS, so they made a site visit to an IBM office (remember, these were official military types who were purportedly on official business), swiped some IBM stationery, and created a fake patch. The patch was actually the trapdoor they needed. The patch was distributed at about the right time for an IBM patch, had official stationery and all accompanying documentation, and was dutifully installed. The installation manager very shortly thereafter learned something about proper procedures.
I'm sure there are innumerable ways to screw the compiler. As far as I know, no optimizer yet written converts bubble sorts into quicksorts. That said, you shouldn't worry about optimizing your loops before you've designed you program and picked appropriate algorithms. My theory is to design and code primarily for correctness, reliability, flexibility and maintenance. If the result is fast enough/small enough, then I'm done. If it's too slow (or too big, or whatever), then put it under a profiler and start picking. But definitely don't waste hand optimizing code until you've profiled it to make sure you're optimizing the *right* code!
That doesn't mean you should ignore stuff like memory stride and loop invariants, etc while coding, just because the compiler can fix it. For one thing, who knows what compiler/machine you're going to be using tomorrow? Code optimizers are stupid and conservative, and it doesn't take much to make one "give up" and go with "slow but correct". Another thing is that a lot of code that does confuse the optimizer is likely to confuse a future maintainer as well.
If you're talking about home use, I think one of these would be fine. If I switch using the button on the front of the thing, it works fine. If I switch from the keyboard (scroll-lock, scroll-lock, #key), I sometimes have to hit num-lock or caps-lock a couple of times to get the keyboard leds back in sync. Given that most KVM switches seem to cost >300, and this cost ~160, I can live with that.
He writes: First off, let me say that I didn't shut down PacketStorm, and neither did Harvard.
But later, we have:I sent a simple one page e-mail to the provost's office asking them to review the contents of the site against their acceptable use policy. Despite Ken's claims that there wasn't any "offending" material on the site, the university reviewed it, and chose to shut it down.
How about "complete disaster". Or "no apparent understanding of the limitations of finite arithmetic". Or "misleading in the extreme". Yes, the algebra is correct (or seemed to be, at a quick glance). But the implementations are pretty bad.
Example: the convergence requirement for the newton's method implementation (the delta argument) is treated as an absolute value, rather than relative to the value of the function. This means that the function will often fail to converge at all, or will return roots that are completely wrong. This is a beginners mistake, typically covered about 15 minutes or two paragraphs after the initial description of the algorithm.
No checks for overflow or underflow. None of the obvious re-ordering of operations to avoid those faults. No mention of these issues.
You could argue "well, these are just introductions", but there is no mention that these are pretty much unusable for any real work. Numerical work on computers is a tricky business, and presenting these algorithms and implementations in this form is doing a disservice to anybody interested in the field.
Rule of Thumb: The straightforward obvious translation of the albebraic representation of a algorithm is probably wrong, and certainly suspect.
It's unfortunate that ORA choice that chapter to post, because it may well be that the rest of the algorithms and implmentations are reasonably good.
I did this. I have a funded account. When I click on the new username, I get a new window that says "No accounts are currently available". I don't know whether "accounts" means mine or that no more "expression of interest" submissions are available.
I"ll agree with the first two (although I'm not certain how the politics issue affects users), but "Constant moving of FTP sites"? Yeah, there are mirrors that come and go, but ftp.us.debian.org (replace "us" with your country code, or a nearby code) is pretty consistent.
Since I got mine a couple of years ago, I've come to depend on it, primarily as an address book and appointments. Yeah, one could just use a day timer, but the ones that fit in a pocket require you to copy stuff from month to month, and they don't go when it's time for a meeting (of course, sometimes that can be an advantage:-)).
If you're the kind of person who is always writing stuff down on scraps of paper and then losing them, something like a Palm is valuable. If you're organized enough with just paper, then it's probably a waste of money.
Harbison and Steele - "C - A Reference Manual", Published by Prentice Hall. If I could have only one C book, this would be it. Get at least the 3rd edition for ANSI C, but I think the 4th edition is out. Amazon has it.
Having said that, I'd hate to live without Plauger's "The Standard C Library" and K&R II.
Great review. I remember this book from when I was a child...I think I still have it somewhere. Little did I know that it would continue to be a useful professional reference.
I would have really liked one of these when I was doing a lot of overseas travel for work -- 12 hour flights, then two or three weeks on-site. I either had to haul a buttload (how much is that, anyway?), or get used to repetition. Being able to haul 80 hours of music in one small device would have been way cool.
After years of slow releases, Debian promises to bring woody out fast.
Come by Debian, and see our woodys.
With the new UltraSparc and MIPS ports, there will be woodys for everyone!
4. If you're using Deja ratings to decide which MP3 player or toaster to buy, great. That's really what they're designed for. If you're using a simple 4-category self-selected numerical vote to determine which NOS to deploy across your enterprise, you need to have your head examined.
Then why bother with the poll at all? It can be trivially spammed, and serves no purpose.
There is a classic story of a tiger team penetrating a secure military computer that illustrates the danger inherent in binary patches (or, indeed, any patches that you can't -- or don't -- inspect and examine before installing). They couldn't find any trap doors or any way to penetrate security of IBM's OS, so they made a site visit to an IBM office (remember, these were official military types who were purportedly on official business), swiped some IBM stationery, and created a fake patch. The patch was actually the trapdoor they needed. The patch was distributed at about the right time for an IBM patch, had official stationery and all accompanying documentation, and was dutifully installed. The installation manager very shortly thereafter learned something about proper procedures.
I'm sure there are innumerable ways to screw the compiler. As far as I know, no optimizer yet written converts bubble sorts into quicksorts. That said, you shouldn't worry about optimizing your loops before you've designed you program and picked appropriate algorithms. My theory is to design and code primarily for correctness, reliability, flexibility and maintenance. If the result is fast enough/small enough, then I'm done. If it's too slow (or too big, or whatever), then put it under a profiler and start picking. But definitely don't waste hand optimizing code until you've profiled it to make sure you're optimizing the *right* code!
That doesn't mean you should ignore stuff like memory stride and loop invariants, etc while coding, just because the compiler can fix it. For one thing, who knows what compiler/machine you're going to be using tomorrow? Code optimizers are stupid and conservative, and it doesn't take much to make one "give up" and go with "slow but correct". Another thing is that a lot of code that does confuse the optimizer is likely to confuse a future maintainer as well.
If you're talking about home use, I think one of these would be fine. If I switch using the button on the front of the thing, it works fine. If I switch from the keyboard (scroll-lock, scroll-lock, #key), I sometimes have to hit num-lock or caps-lock a couple of times to get the keyboard leds back in sync. Given that most KVM switches seem to cost >300, and this cost ~160, I can live with that.
He writes: First off, let me say that I didn't shut down PacketStorm, and neither did Harvard.
But later, we have:I sent a simple one page e-mail to the provost's office asking them to review the contents of the site against their acceptable use policy. Despite Ken's claims that there wasn't any "offending" material on the site, the university reviewed it, and chose to shut it down.
Sure sounds like he and Harvard shut it down!
How about "complete disaster". Or "no apparent understanding of the limitations of finite arithmetic". Or "misleading in the extreme". Yes, the algebra is correct (or seemed to be, at a quick glance). But the implementations are pretty bad.
Example: the convergence requirement for the newton's method implementation (the delta argument) is treated as an absolute value, rather than relative to the value of the function. This means that the function will often fail to converge at all, or will return roots that are completely wrong. This is a beginners mistake, typically covered about 15 minutes or two paragraphs after the initial description of the algorithm.
No checks for overflow or underflow. None of the obvious re-ordering of operations to avoid those faults. No mention of these issues.
You could argue "well, these are just introductions", but there is no mention that these are pretty much unusable for any real work. Numerical work on computers is a tricky business, and presenting these algorithms and implementations in this form is doing a disservice to anybody interested in the field.
Rule of Thumb: The straightforward obvious translation of the albebraic representation of a algorithm is probably wrong, and certainly suspect.
It's unfortunate that ORA choice that chapter to post, because it may well be that the rest of the algorithms and implmentations are reasonably good.
heheh... Get enough answers?
Astoundingly, they are even all the same!
I don't understand, what can I do? If anybody knows a way around this, let me know.
:-))
Lie. It should be obvious from the form what the desired answers are. (Hint: yearly income $15K and 0 years investing in stocks won't get it
Did the same thing this morning, and got the
form.
Steve
I did this. I have a funded account. When I click on the new username, I get a new window that says "No accounts are currently available". I don't know whether "accounts" means mine or that no more "expression of interest" submissions are available.
Steve
I"ll agree with the first two (although I'm not certain how the politics issue affects users), but "Constant moving of FTP sites"? Yeah, there are mirrors that come and go, but ftp.us.debian.org (replace "us" with your country code, or a nearby code) is pretty consistent.
Since I got mine a couple of years ago, I've come to depend on it, primarily as an address book and appointments. Yeah, one could just use a day timer, but the ones that fit in a pocket require you to copy stuff from month to month, and they don't go when it's time for a meeting (of course, sometimes that can be an advantage :-)).
If you're the kind of person who is always writing stuff down on scraps of paper and then losing them, something like a Palm is valuable. If you're organized enough with just paper, then it's probably a waste of money.
Harbison and Steele - "C - A Reference Manual", Published by Prentice Hall. If I could have only one C book, this would be it. Get at least the 3rd edition for ANSI C, but I think the 4th edition is out. Amazon has it.
Having said that, I'd hate to live without Plauger's "The Standard C Library" and K&R II.
Great review. I remember this book from when I was a child...I think I still have it somewhere. Little did I know that it would continue to be a useful professional reference.
VMole.