The distinction in English between countables and uncountables is like an electric fence. If the word is especially limber, or the farmer allows the fence to sag or lose its zap, suddenly your stock of uncountables changes number. If the word "precision" in English becomes sufficiently influenced by the This French usage, it will jump without any difficulty. The distinction is not whether a word is countable or uncountable, but whether any sense of the word has a countable referent is accepted speech.
When I spot a word such as precisons, my first guess is that I'm dealing with a fast and sloppy typist who skipped the spell checker (aka any Firefox pre 2.0), my second guess is that I'm dealing with an ESL source, my third guess is that I'm dealing with a creative mind who has adapted the word to a countable referent for the purpose of expressing an idea more forcefully. Unfortunately, this kind of advanced word play tends not to come across so well to the global ESL audience, so the kind of person who is intense about communicating effectively will tend to damp down on this kind of word play when writing for a global audience.
I've long complained about the word "simplicity". It never manages to mean anything, because at the table feels free to accept it as a free variable in reference to whichever form of simplicity they would personally find most convenient. The duller knives in the drawer pull this off with ever recognizing that there was more than one choice. They soon give themselves away by usages of the word "simplicity" in the singular. The canonical example of this is Apple's one-button mouse. That's one form of simplicity, which benefits some people for some purposes, and hinders the rest of us. The original study on how fast a mouse could navigate to the file menu (by positioning it close to a corner of the screen) seems to ignore how long it takes to return the mouse to the text you were working on. The Mac screen at the time was 384x512 or something like that. Now my desktop is 2500 pixels wide, and I have to mouse over to a different time zone to activate the Applications menu on my Linux desktop, and then back again to whatever I wish to work on next. Thanks, Apple.
Now anyone who thinks that aside was off-topic belongs in the infomercial "never sharpen your knife again" knife drawer. It's on topic at two different levels simultaneously. The first level is that it now occurs to me that pedanticism is much like simplicity: there is never only one way to do it. You can be pedantic about the silly rules (this word is countable, that word isn't). Or you can be pedantic about the formative forces of the English language (a word becomes countable as soon as the speaker applies the word to a mutually understood countable referent). The other level is one's approach to cooking. You can be pedantic about working within the strictures of a proven recipe, or pedantic about the molecular composition of the desired end product.
The end game is to know which form of pedanticism best serves the immediate purpose, and break the rules freely once you know the rules. I'm entirely in favour of molecular gastronomy as a counter-movement from far too many recipes that tell you how to beat and when to fold, without ever discussing what you are egging toward.
Polite: That's an interesting idea, but doesn't quite fit with the approach we're taking. Thank you for your input, though.
What you have depicted as polite I would portray as the inscrutible kiss-off of death. Thank you for your input, though.
When I read Con's resignation screed, he put forward views of determinism I strongly disagree with. Con seems to have missed the news bulletin that adversarial solutions in game theory usually entail mixed strategies (i.e. non-deterministic responses).
It's usually a bad situation if only pure strategies can be implemented efficiently. The first example I became aware of was polar vs Cartesian coordinates. This is high school stuff. Some calculations are faster in one form than the other. Conversion from one to the other is costly. There is no comfortable place halfway in between. What you want from a scheduler to provide a consistent experience over a wide range of loads are highly efficient optimal cases for emphasizing latency or throughput (whichever the situation demands) and a low-cost method to blend the optimal cases non-deterministically. Non-determinism ensures you never get into that sidewalk gridlock where both parties simultaneously zig when they should have zagged. I once read a paper from the 1960s which advocated hashing symbol tables in compilers non-deterministically so that you never had any single program source which was consistently worst case (nor could an adversary realiably craft one).
Determinism is known to be a terrible feature in a security system. If you have a remote, battery-operated system which consistently responds to every event, and events can be triggered falsely, it's quite a simple matter to trigger false events until the battery goes dead, which you can be certain of in the first instance it fails to respond. A stochastic response is far harder to mess with: where the probability of response declines with the battery reserve. At what point does the adversary become entirely confident that the battery is dead?
Deterministic systems are far too sensitive to adversarial manipulation, and I never got the sense reading Con's own words that he has much appreciation for the adversarial nature of providing a balanced response in all scenarios.
Nor does it help much to split the scheduler. I can see it now. My rotations are slow! You idiot, use polar! My translations are slow! You idiot, use Cartesian! And the middle ground never gets solved.
There were instincts expressed from Con's side of the fence that left me uncomfortable. In any case, contribution should be measured in ideas, not lines of code.
I was especially puzzled by claims that Linus was covering up poor decisions in prior kernels in light of the improved algorithm since discovered. In my view the primary responsibility of a kernel maintainer is to never integrate code that won't converge on stability, where the exact nature of the stability offered is pragmatically redefined on a regular basis. If Linus ever had a need to cover something up, it was the VM fiasco, not the O(1) scheduler. The ego involved in suggesting that the aim of the Linux kernel developers is to never release a dominated algorithm (to fall back on game theory terminology) staggers the mind, an affiliative arrogance far beyond any allegation of arrogance personally leveled at Linus himself. I wonder if there has ever been a good thread on lkml concerning projected ego-creep.
You've just argued yourself into a puff of non-existence. If you state, rightly, that the concept of "free" (of charge) in the global definition is non-existent in practice, then the local definition of "free" is free to prevail linguistically, and the local definition of free is that there is no cost at the time of transaction (perhaps it was paid for ahead of time). Almost everything in life that initially appears "free" has strings attached. Even sex with your spouse.
The "out of thin air" definition of free has no use whatsoever except when applied to the gullible. Since the medium of television is built on the premise that all viewers are gullible, we're exposed to that definition a lot more than logic justifies. Nevertheless, in any serious discussion, the participants all understand that free always comes with a price.
Once upon a time hauling crap out to the local landfill was free. Only it wasn't free. Free was just a handy synonym for externalization of cost onto society as a whole. You don't have to posit government as a delivery mechanism to point this out. Perhaps the society decides to go light on government and the cost is expressed in reduced life expectancy from drinking really crappy water. Name your poison. Oppressive taxation is but one small slice on the dart board.
I thought the original post was more on track than your response. In the old days, the ultimate cost of all that "free" dumping at the landfill was left as an exercise to the dumpers and local population. With this new program, it's entirely clear who is picking up the tab (the citizenry through the delivery mechanism of government). That does not amount to some magical slight-of-hand in the semantics of "free". In my books, it actually amounts to a clarification.
Some people might prefer the old situation where in the muddle of who was finally picking up the tab, it was possible that government wouldn't be it: ideology before clarity. I personally prefer the new situation. If anyone in the private sector feels strongly enough about putting the government out of this business, please step forward with a viable plan. Only if the mechanisms of government guarantee monopoly profits? Ah, I thought so.
That string page is interesting, but indulges in unnecessary drama here and there./* broken example... fairly common mistake */ char *s1; int X;... sprintf(s1, "%s:%d", s1, X);/* append a number */
Are you kidding? Despite what the standard says about "undefined" behaviour of overlapping string copies, a platform that manages to break that construct has a deathwish concerning market share. This represents more a failure on the part of the standard to speak to common sense, rather than a failure of coding practice out in the field.
Incidentally, I would never code such a statement, even if I would hardly blink reading it. I'm mortally afraid of the cases where undefined actually has teeth and too lazy to keep track of the rare cases, such as thing one, where in practical terms, there is nothing but gums.
Writing clean code is a combination of mindset and habit. Once you aquire the skill, it doesn't take longer, and it can often speed up the process because you end up with fewer perplexing bugs, or unanticipated edge cases.
One of the major oversights of many programmers is failing to recognize the power of "do nothing". In many of my programs I don't check for a null return from malloc. Instead, I check for null pointers at the beginning of any block or statement that might deref. the pointer. It's less overhead than one might expect. Unfortunately, C/C++ doesn't always cater to this approach. This kind of thing gets old in a hurry when multiple pointers are involved:
if (p && p->r.foo && p->r.foo->s.bar)
total += p->r.foo->s.bar->t.count;
Unfortunately, one can only be certain the statement is valid on local evidence if one writes the cumbersome, fully guarded form.
Dangling pointers is not instrinsic to the difficulty of the task, it's intrinsic to the accepted culture, which includes coding against libraries so badly designed it isn't possible, either syntactically or conceptually, to guard on validity. Even the best programmer can't code defensively to a worthless API. Failing that, there's no excuse.
Ah, milk, which is high in lactose, the end point of the same metabolic pathway that in yeast produces alcohol instead. Unless you meant instead the high fiber lactose that comes out the bottom of bovine erectus.
I don't have the time right now to give this issue any serious thought, but my immediate reaction is that the present cookie mechanism is too promiscuous. If we had the notion of a secure cookie, I suspect some of these problems could be eliminated.
A secure cookie is a cookie which includes submission directives: don't send this cookie with any request unless A and B and C are true. These conditions could be that the referrer page was fetched through the same SLL authentication, or from a page with a correct referrer tag, or not from any page containing/enabling Javascript, or pointless friviolity 2.0, or ideally, all of the above.
These cookie directives would allow a well-implemented user agent to protect the user against many of the attack scenarios described in this thread. Presumably the site issuing the cookie in the first place knows what kinds of pages and content the cookie should be associated with for legitimate uses.
Most of the hacks described here would become useless if the cookie won't play. Am I missing something, or is this problem really that stupid?
Lately this "no choice" meme is showing up on Slashdot on a weekly basis. But there is a certain logic to it, since if a consumer doesn't consume, they aren't a consumer any more, so any consumer who wishes to remain a consumer must consume--at any price. Maybe the real problem here is defining the general public as consumers in the first place. I'm aghast at how easy it has become to casually pass off consumerhood as a non-volitional condition. On the plus side, a lot of the cheapest stuff presently sold on the internet has an astronomical landfill index. My GP has a cartoon on his office door showing several chubby limbs sticking out of a large pile near an open closet door with the caption "Apparently he was crushed to death by his unused exercise equipment". Pity it won't be so cheap any more.
OTOH, without corresponding reform in the patent system, this development might ultimately outgrow my crocodile tears.
I don't think people on this thread have the correct conceptual understanding of the bugs reported. For the Core architecture, Intel sets design targets for performance and power consumption and time to market to kick AMD's backside, which they have done successfully. In order to achieve power consumption targets, they almost certainly designed Core with fewer pipeline stages than the Pentium IV, while requiring the complexity level in each pipeline stage to rise to achieve a higher IPC. They also decided to do some fancy things with the L2 cache to enhance dual core performance levels. I'm quite certain that Intel engineers working on various design problems discovered they couldn't meet their functionality, power consumption, circuit area, and timing constraints that the business objectives for Core mandated. Then after a lot of head scratching, the engineer cleverly discovers that if they change the logical requirements in very subtle ways that some clever circuit does meet those targets. Do the subtle logical changes violate the x86 functional requirements? The supervisory team meets to hash this out. The proposed design passes all the simulator compliance tests. Some engineer speaks up "well, in theory, it could matter in some situation, depending on a lot of complex things". That engineer is soon shouted down with a lot of hard headed business rational about kicking AMD's butt. The Core Duo design project races to conclusion and achieves all its business objectives. The chips sell like hotcakes. Then slowly it begins to trickle out that all of these subtle logic design short-cuts actually do matter in various situations both imagined and not imagined. Surpise: some of them can't be fixed in software or with microcode or BIOS updates even in principle. Oh crap! And we already sold so many of these and made such a fabulous profit, whatever are we going to do now?
Many of these errata are not mysterious problems with the implementation process. They are cleverly conceived deliberate tweaks to the logical requirements that enabled Intel to make the chip faster and sooner and cheaper to achieve a short term business advantage at unknown cost to the end consumer at the end of the day. Intel was desperate for a design victory over AMD. They got one. And this was the cost: ten of millions of end customers now owning systems that can't be properly secured by any reasonable means.
Exactly this phrase also peeved me off. Sometimes I get the feeling that there are a lot of people out there wringing their hands with glee over all the drama that comes along with living in a functional police state, which America is increasingly becoming, as more and more people believe that credit ratings and arrest records and nose cleanings represent the value of a human to society.
In scientific parlance, "junk" means "ungrantable", but scientists are strange creatures who tend toward the subliminal belief that their careers would progress more smoothly if what they were granted to study was not impeded by what they are not granted to study, and especially in the case of DNA, because precious grant dollars were "wasted" removing the junk from the "active" regions they wished to investigate.
I don't think the average scientist is half as reductionistic as the granting system they find themselves forced to function within. You could even argue that the scientists converged on the term "junk" because it was helpful to communicate with the political bodies who approve grant applications: "everything is junk but the thing I presently wish to study". AKA "managing up".
I almost got into a shouting match with a close friend in the mid eighties when I maintained that "junk [DNA] isn't junk, it's just a word that captures an equilibrium point in a political degeneracy". He argued in turn that the junk was highly repetitive and had low information content. I argued that the genes were essentially combinatorial mechanisms, and that the junk probably provided regions of linearity that are hard to express combinatorially.
But then I was sitting around drinking beer and not applying for serious grant money, so it was an easy argument to put forward. There's not a lot of competition in science to be right about things that no one can receive funding to study.
The scientists involved failed to note that the predator and prey populations are under equal hardship within this ecosystem. A mutation that might be absolutely lethal in to an individual sheep among a flock of healthy sheep pursued by a pack of healthy wolves is not necessarily such great survival hardship when every third sheep has a spare body part, and half the wolves have cleft palate or pit nipples.
You have a peculiar definition of "way more". The claims I'm familiar with is that the C7 performs comparably to a Pentium III at half the clock frequency, except on many cryptographic benchmarks, where the C7 outperforms the Pentium III by more than a factor of ten. My recollection is that the K8 is a highly optimized three-issue design (decode and retirement rate limited to three instructions/clock), whereas the Pentium III is a middle of the road three-issue design (more interlocks and stalls, more unnecessary opcode splitting). The difference could range anywhere from zilch (where the instruction sequence has no liabilities on the P3) to about 50% faster on the K8. I can't recall the last time I said "woo hoo" over 50% some of the time.
The C3 was appallingly slow at floating point. I've read the C7 is vastly improved, but still far from great. Still, your concept of "way more" seems to better apply to a comparison of a 1GHz C3 to a 500MHz K8. No one would argue there.
This is completely true. In my town one of the local DJs went AWOL from the payola program and played some songs from a new release he personally really liked and then the local demand for that artist went through the roof, nearly costing that DJ his job. It's still the only town I know of where people call in to request that artist.
There are limits to how bad/good something can be before manipulation is no longer an important factor, though an obscure artist can be popular among a niche group on the basis of exception material without making much money.
It's extremely easy to do the math on how much promotion matters? How much money, time, and effort is invested in it? Lots. Especially concerning the teenage and young adult demographic, the group most determined to assert their independence.
Then you can ask yourself "how much is my hypothetical unbiased choice really worth to me?" With some determination, it is possible to apply your own criteria to your purchases, but it is an enormous amount of work, often for little gain. When I've done this with my technical purchases, it never works to my advantage. Even if you get your carefully researched order accepted, it comes back the next day "actually, we can't get part X for another three weeks, how about spiffy mainstream part Y?" and you debate that, and then it comes back "part U has gone out of production, but we can part V with almost exactly the same part number that replaces it". Anyone remember the DLINK 530TX and the DLINK 530TX+? The "plus" part swaps out the Via Rhine controller for a RealTek controller. Or you get the Dell effect where what appeared to be an excellent panel turns out to have different guts than when it was reviewed. Or you go to your favorite vendor's web site and find 200 different video cards listed, all sort of the same, yet different. Small differences, such as a card promising 350MHz RAMDACs on each head, but then in the fine print limiting the second head to 60Hz refresh as resolutions greater than a megapixel. Plus the particular glitch you need to avoid is a constantly moving target. Early on in the PCI era, there was a series of disk controllers with an internal one byte overwrite problem that were guaranteed to corrupt your disk with any kind of software write-behind disk cache enabled. Of all the machines for sale, only a small fraction listed enough specs. to determine whether this chip was present or not. Reading PC Magazine cover to cover with a magnifying glass to the fine print in every full page system ad gives you a whole new perspective on not having a life.
This isn't limited to technology, either. Eliminating unwanted food inputs from your diet is far more work than it needs to be. I once naively bought a bag of Cargo Cult cinnamon without reading the list of ingredients. I get it home and discover it contains a hydrogenated oil, probably as a flow agent. Not only that, it was coarse and barky and lacking in essential oils. As fast as you figure who not to trust, the old villians are recycled again, like the furniture store that has gone out of business every two years on the same premise for as long as you can recall.
You don't discover the true power of the system until you attempt to swim against the grain. Even if there are reviews out there entirely free from payola influence, you have to work to figure out which ones those are. The system is not designed to stop you from swimming in the currents of self-determination, just to wear you out.
It would be very easy from a technical perspective in the grocery retail sector to have a GUID embedded on each item of merchandise that links to a database with ingredients and disclaimers (may contains traces of peanut) and to provide shoppers with a little handheld device they can point at the GUID, and configure with a profile of desired or undesired attributes (no bad oils, no excessive sodium, etc.) and a big red light and a nasty buzzer and a speak generation system that barks "Crap! Crap! Crap!" as you strol
56/1024 divides out different in my corner of the landscape. As a general rule of thumb, no statistical result should be trusted if it can be invalidated by adding or subtracting one from either the numerator or the denominator. You don't want a result that's only as good as your last observation, included or excluded.
But it's nice to know that eight is far from five. The FDA will be keen to learn this.
It is a rare mind indeed that can render the hitherto non-existent blindingly obvious. The cry 'I could have thought of that' is a very popular and misleading one, for the fact is that they didn't, and a very significant and revealing fact it is too.
On the contrary, there are absolutely good places to abuse the C preprocessor. It needs to be well judged, and documented to a far higher standard than regular code. I used preprocessor magic extensively in coding interrupt handlers for a microcontroller project and I'm pretty sure I used some more to code the platform specific hooks for the C library. If the task is duplicitous, fragile, prone to error, or especially time critical there is no reason at all not to employ the preprocessor with a little discipline.
This society goes to great lengths to cultivate learned helplessness. Attitudes toward brands are a good example. Many people wish to simplify their decision making by forming an emotional bond with their favorite brands, rather than exercising rational judgement, which involves wading into the frustrations involved in finding information you can trust about the products you wish to purchase.
I no time for Sanger, either, who is busy trying to brand knowledge with the warm glow of credentialed expertise.
If the purpose of semantic search is to return search results that lull the sleepy sheep into the warm glow of suspended judgement, it will be a long time coming, and the road will be paved with broken promises.
The reason Google already works so well is that many of us actually *want* to enter into the larger context of the search terms we query. The various manifestations of my keywords are of interest to me. Once I've dialed into the subcontext I'm most interested in, it's usually an easy matter to refine the search. In rare instances, such as the metabolic cofactor SAMe, it proves almost impossible. This is a highly specialized meaning, masked by an everyday word.
It's also annoying that Google won't accept roots, or form clusters of common spellings / misspellings. When I was working with the HC12 microcontroller, I wanted to search all the forms as a set, which included variant forms such as MC68HC12 and HCS12 and 68HC12 as well as forests of related part numbers, all of which specified an HC12 variant. Sometimes I wish to search "color/colour" as equivalent lexemes.
Google already works spectactularly well for any purpose except selling learned helplessness. Many weaknesses exist, and as these weaknesses become more apparent, the worst of the problems ought to be addressed by pragmatic refinements (of the existing search algorithms). Google already has the "google suggests" mechanism to propose more specialized search in the cases where they develop the capacity to support this.
The other problem with the semantic grail is that even after undesired contexts are filtered out, you still don't have a unique answer. Now the question becomes "whose answer?". There are good business models to be had in controlling the answer to that question, and you might still get away with calling it "search", but it would totally suck as an instrument for harvesting knowledge.
I did a lot of work in the nineties in the area of statistical NLP, and I spent a lot of time wrestling with the boundary between what statistical methods could ultimately accomplish, and what the allure of semantic methods really amounted to. Often the "long tail" itself is a fiction of surface forms. For example, "fuschia deck chair" might be a statistical singleton on surface form, but it colour words are clustered it becomes [colour-word] deck chair, which probably isn't a statistical singleton. This level of statistical analysis is rarely employed, because the payoffs are marginal, which is yet again a testament to how well the basic (Google) algorithm already works.
One of the reason statistical methods have proven so successful is that these methods nicely complement what the brain already does well (unless disabled by brand preferences). Humans don't have the patience to scan millions of documents to establish statistical patterns, but we do excel at filtering a nugget of usefullness out of a small pool of crap. This is the biological reality of Sturgeon's law. Any organism that can't identify the one nugget out of ten worth pursuing has relinquished self-destiny.
If Google attacks the clustering and disambuiguation problems, slowly but surely one thing will lead to another, and a semantic-like system will finally emerge, but one quite different than one might discover having set out to achieve the semantic grail by direct means. As Douglas Adams put it "I may not have gone where I intended to go, but I think I have ended up where I intended to be."
The two resistors with different values function as a voltage divider. What's the clever method to eliminate the ground reference from Mallet, so he doesn't determine the bit via measurement in the voltage domain?
As to TFA, I can't be the only one is is sick of "Top XX" articles from an (at best) mediocre advertising supplement.
If XX represents a quantity greater than 10, the article is worthless, unless the complement is "of all time" and even there it's dicey for most categories Y.
The human brain can track roughly 200 people among our immediate social network and community. For art forms with a strong infusion of human personality (the auteur factor) we might manage a "top 100 movies of all time" list. For consumer gadgets, a top ten list (of all time) is already pushing things, unless the list documents nostalgia rather than greatness.
For any other values of XX and Y, the list is a modern day equivalent of a trenchcoat lined with watches.
When I took a course on Phonetics(*not* phonics), we had to learn to transcribe every sort of sound made by human speech, and it was really hard to distinguish sounds that were not in a language you knew. The brain had a hard time fitting them into previous knowledge, I guess.
This was well understood in neuro-linguistics in books I was reading 15 years ago, and according to the theory at the time (which might still hold) it has hardly anything to do with context. When the brain believes it recognizes primary-language speech sounds, it routes the signal to a part of the brain dedicated to mapping those sounds onto the known, primary language phonetic elements. There is also a reverse effect: once your brain decides it hears a primary speech sound, you lose your ability to discriminate fine shades of pitch associated with those sounds. As much as I recall now, the experiments were conducted on the bounardy between linguistic processing and musical processing.
Furthermore, noticing that semantic context would serve a human to eliminate an error made by a speech recognition system does not imply that humans resort to semantic context when routinely performing that task. One factor you've completely failed to take into account is constraints on how much glucose the brain can consume to accomplish routine function. Even if it has the context available, the brain won't necessarily activate it if other more glucose-efficient circuits are capable of carrying the load. This hasn't been studied nearly enough. What we know so far is that the brain is very busy lighting up the circuits required for as long as they are needed before the glucose goes somewhere else.
You need to invest more of your own brain glucose in discriminating what's possible in brain function from what's practical to sustain.
There's a lot that can be said about climate change, but that article was not it. I was disappointed in that publication. The most eggregious error from a computer science perspective is that it requires no great talent to train a model that predicts your training data, and even your withheld data, and still have the model prove worthless when confronted with unknowns from the real world.
I read articles every week about major new terms being proposed or incorporated into these models, I hold about as much faith in these models as chess computers from 1980 that regard castling through check as a legal move. Three decades later, the progress with chess programs is a wonder to behold. Our present climate models are perhaps good enough to suggest strong grounds for concern, but looking back 30 years from now, they'll seem like toys.
I know of few men who, when asked in front of 300 million peers, "have you been screwing around on your wife" would not consider the correct and proper answer to be "no". There are conditions where the question would be require a straight answer, such as if Ms Lewinsky was bringing sexual harassment charges against the president. If the case against the president was that he has abused his executive powers in showing favoritism toward Ms Lewinsky, then that's the question he should have been asked. What the government needs is to do is enact a tax on infidelity, so that anyone who doesn't list their infidelities on their tax return is guilty of perjury, and perhaps later infidelities can be added to the average person's credit rating as well.
I would be extremely surprised if in the primate calculus that indiscretion about infidelity is viewed as a greater sin than infidelity itself. Walk down the street and approach random couples to ask the male party "have you ever cheated on your wife/girlfriend" if you need a measure of the primal response. But, hey, if you toss into the equation some officious, self-serving republicans, and a few American flags, the primal response is now defined as perjurous. Nice trick with the backdrop there.
I enjoy many of Cringley's articles. I think the people who get most hot and bothered by Cringely, the Inquirer, and the Wikipedia are not managing to notice how much everyday life is an equal crock. Dvorack is a different kettle of fermented anchovies. His average column has me contemplating whether my thumbs fit into my eye sockets.
This particular retort by Cringley has a weasel-factor to make even Dvorack blush. It's like an engineer saying oops, I didn't mean watts, I meant watt-hours, but that doesn't change my meaning; furthermore, the 1000 people who wrote in to tell me just how wrong I was fully demonstrates the validity of my original point.
The distinction in English between countables and uncountables is like an electric fence. If the word is especially limber, or the farmer allows the fence to sag or lose its zap, suddenly your stock of uncountables changes number. If the word "precision" in English becomes sufficiently influenced by the This French usage, it will jump without any difficulty. The distinction is not whether a word is countable or uncountable, but whether any sense of the word has a countable referent is accepted speech.
When I spot a word such as precisons, my first guess is that I'm dealing with a fast and sloppy typist who skipped the spell checker (aka any Firefox pre 2.0), my second guess is that I'm dealing with an ESL source, my third guess is that I'm dealing with a creative mind who has adapted the word to a countable referent for the purpose of expressing an idea more forcefully. Unfortunately, this kind of advanced word play tends not to come across so well to the global ESL audience, so the kind of person who is intense about communicating effectively will tend to damp down on this kind of word play when writing for a global audience.
I've long complained about the word "simplicity". It never manages to mean anything, because at the table feels free to accept it as a free variable in reference to whichever form of simplicity they would personally find most convenient. The duller knives in the drawer pull this off with ever recognizing that there was more than one choice. They soon give themselves away by usages of the word "simplicity" in the singular. The canonical example of this is Apple's one-button mouse. That's one form of simplicity, which benefits some people for some purposes, and hinders the rest of us. The original study on how fast a mouse could navigate to the file menu (by positioning it close to a corner of the screen) seems to ignore how long it takes to return the mouse to the text you were working on. The Mac screen at the time was 384x512 or something like that. Now my desktop is 2500 pixels wide, and I have to mouse over to a different time zone to activate the Applications menu on my Linux desktop, and then back again to whatever I wish to work on next. Thanks, Apple.
Now anyone who thinks that aside was off-topic belongs in the infomercial "never sharpen your knife again" knife drawer. It's on topic at two different levels simultaneously. The first level is that it now occurs to me that pedanticism is much like simplicity: there is never only one way to do it. You can be pedantic about the silly rules (this word is countable, that word isn't). Or you can be pedantic about the formative forces of the English language (a word becomes countable as soon as the speaker applies the word to a mutually understood countable referent). The other level is one's approach to cooking. You can be pedantic about working within the strictures of a proven recipe, or pedantic about the molecular composition of the desired end product.
The end game is to know which form of pedanticism best serves the immediate purpose, and break the rules freely once you know the rules. I'm entirely in favour of molecular gastronomy as a counter-movement from far too many recipes that tell you how to beat and when to fold, without ever discussing what you are egging toward.
What you have depicted as polite I would portray as the inscrutible kiss-off of death. Thank you for your input, though.
When I read Con's resignation screed, he put forward views of determinism I strongly disagree with. Con seems to have missed the news bulletin that adversarial solutions in game theory usually entail mixed strategies (i.e. non-deterministic responses).
It's usually a bad situation if only pure strategies can be implemented efficiently. The first example I became aware of was polar vs Cartesian coordinates. This is high school stuff. Some calculations are faster in one form than the other. Conversion from one to the other is costly. There is no comfortable place halfway in between. What you want from a scheduler to provide a consistent experience over a wide range of loads are highly efficient optimal cases for emphasizing latency or throughput (whichever the situation demands) and a low-cost method to blend the optimal cases non-deterministically. Non-determinism ensures you never get into that sidewalk gridlock where both parties simultaneously zig when they should have zagged. I once read a paper from the 1960s which advocated hashing symbol tables in compilers non-deterministically so that you never had any single program source which was consistently worst case (nor could an adversary realiably craft one).
Determinism is known to be a terrible feature in a security system. If you have a remote, battery-operated system which consistently responds to every event, and events can be triggered falsely, it's quite a simple matter to trigger false events until the battery goes dead, which you can be certain of in the first instance it fails to respond. A stochastic response is far harder to mess with: where the probability of response declines with the battery reserve. At what point does the adversary become entirely confident that the battery is dead?
Deterministic systems are far too sensitive to adversarial manipulation, and I never got the sense reading Con's own words that he has much appreciation for the adversarial nature of providing a balanced response in all scenarios.
Nor does it help much to split the scheduler. I can see it now. My rotations are slow! You idiot, use polar! My translations are slow! You idiot, use Cartesian! And the middle ground never gets solved.
There were instincts expressed from Con's side of the fence that left me uncomfortable. In any case, contribution should be measured in ideas, not lines of code.
I was especially puzzled by claims that Linus was covering up poor decisions in prior kernels in light of the improved algorithm since discovered. In my view the primary responsibility of a kernel maintainer is to never integrate code that won't converge on stability, where the exact nature of the stability offered is pragmatically redefined on a regular basis. If Linus ever had a need to cover something up, it was the VM fiasco, not the O(1) scheduler. The ego involved in suggesting that the aim of the Linux kernel developers is to never release a dominated algorithm (to fall back on game theory terminology) staggers the mind, an affiliative arrogance far beyond any allegation of arrogance personally leveled at Linus himself. I wonder if there has ever been a good thread on lkml concerning projected ego-creep.
You've just argued yourself into a puff of non-existence. If you state, rightly, that the concept of "free" (of charge) in the global definition is non-existent in practice, then the local definition of "free" is free to prevail linguistically, and the local definition of free is that there is no cost at the time of transaction (perhaps it was paid for ahead of time). Almost everything in life that initially appears "free" has strings attached. Even sex with your spouse.
The "out of thin air" definition of free has no use whatsoever except when applied to the gullible. Since the medium of television is built on the premise that all viewers are gullible, we're exposed to that definition a lot more than logic justifies. Nevertheless, in any serious discussion, the participants all understand that free always comes with a price.
Once upon a time hauling crap out to the local landfill was free. Only it wasn't free. Free was just a handy synonym for externalization of cost onto society as a whole. You don't have to posit government as a delivery mechanism to point this out. Perhaps the society decides to go light on government and the cost is expressed in reduced life expectancy from drinking really crappy water. Name your poison. Oppressive taxation is but one small slice on the dart board.
I thought the original post was more on track than your response. In the old days, the ultimate cost of all that "free" dumping at the landfill was left as an exercise to the dumpers and local population. With this new program, it's entirely clear who is picking up the tab (the citizenry through the delivery mechanism of government). That does not amount to some magical slight-of-hand in the semantics of "free". In my books, it actually amounts to a clarification.
Some people might prefer the old situation where in the muddle of who was finally picking up the tab, it was possible that government wouldn't be it: ideology before clarity. I personally prefer the new situation. If anyone in the private sector feels strongly enough about putting the government out of this business, please step forward with a viable plan. Only if the mechanisms of government guarantee monopoly profits? Ah, I thought so.
That string page is interesting, but indulges in unnecessary drama here and there.
char *s1;
int X;
sprintf(s1, "%s:%d", s1, X);
Are you kidding? Despite what the standard says about "undefined" behaviour of overlapping string copies, a platform that manages to break that construct has a deathwish concerning market share. This represents more a failure on the part of the standard to speak to common sense, rather than a failure of coding practice out in the field.
Incidentally, I would never code such a statement, even if I would hardly blink reading it. I'm mortally afraid of the cases where undefined actually has teeth and too lazy to keep track of the rare cases, such as thing one, where in practical terms, there is nothing but gums.
Writing clean code is a combination of mindset and habit. Once you aquire the skill, it doesn't take longer, and it can often speed up the process because you end up with fewer perplexing bugs, or unanticipated edge cases.
One of the major oversights of many programmers is failing to recognize the power of "do nothing". In many of my programs I don't check for a null return from malloc. Instead, I check for null pointers at the beginning of any block or statement that might deref. the pointer. It's less overhead than one might expect. Unfortunately, C/C++ doesn't always cater to this approach. This kind of thing gets old in a hurry when multiple pointers are involved:
if (p && p->r.foo && p->r.foo->s.bar)
total += p->r.foo->s.bar->t.count;
Unfortunately, one can only be certain the statement is valid on local evidence if one writes the cumbersome, fully guarded form.
Dangling pointers is not instrinsic to the difficulty of the task, it's intrinsic to the accepted culture, which includes coding against libraries so badly designed it isn't possible, either syntactically or conceptually, to guard on validity. Even the best programmer can't code defensively to a worthless API. Failing that, there's no excuse.
Ah, milk, which is high in lactose, the end point of the same metabolic pathway that in yeast produces alcohol instead. Unless you meant instead the high fiber lactose that comes out the bottom of bovine erectus.
I don't have the time right now to give this issue any serious thought, but my immediate reaction is that the present cookie mechanism is too promiscuous. If we had the notion of a secure cookie, I suspect some of these problems could be eliminated.
A secure cookie is a cookie which includes submission directives: don't send this cookie with any request unless A and B and C are true. These conditions could be that the referrer page was fetched through the same SLL authentication, or from a page with a correct referrer tag, or not from any page containing/enabling Javascript, or pointless friviolity 2.0, or ideally, all of the above.
These cookie directives would allow a well-implemented user agent to protect the user against many of the attack scenarios described in this thread. Presumably the site issuing the cookie in the first place knows what kinds of pages and content the cookie should be associated with for legitimate uses.
Most of the hacks described here would become useless if the cookie won't play. Am I missing something, or is this problem really that stupid?
Lately this "no choice" meme is showing up on Slashdot on a weekly basis. But there is a certain logic to it, since if a consumer doesn't consume, they aren't a consumer any more, so any consumer who wishes to remain a consumer must consume--at any price. Maybe the real problem here is defining the general public as consumers in the first place. I'm aghast at how easy it has become to casually pass off consumerhood as a non-volitional condition. On the plus side, a lot of the cheapest stuff presently sold on the internet has an astronomical landfill index. My GP has a cartoon on his office door showing several chubby limbs sticking out of a large pile near an open closet door with the caption "Apparently he was crushed to death by his unused exercise equipment". Pity it won't be so cheap any more.
OTOH, without corresponding reform in the patent system, this development might ultimately outgrow my crocodile tears.
I don't think people on this thread have the correct conceptual understanding of the bugs reported. For the Core architecture, Intel sets design targets for performance and power consumption and time to market to kick AMD's backside, which they have done successfully. In order to achieve power consumption targets, they almost certainly designed Core with fewer pipeline stages than the Pentium IV, while requiring the complexity level in each pipeline stage to rise to achieve a higher IPC. They also decided to do some fancy things with the L2 cache to enhance dual core performance levels. I'm quite certain that Intel engineers working on various design problems discovered they couldn't meet their functionality, power consumption, circuit area, and timing constraints that the business objectives for Core mandated. Then after a lot of head scratching, the engineer cleverly discovers that if they change the logical requirements in very subtle ways that some clever circuit does meet those targets. Do the subtle logical changes violate the x86 functional requirements? The supervisory team meets to hash this out. The proposed design passes all the simulator compliance tests. Some engineer speaks up "well, in theory, it could matter in some situation, depending on a lot of complex things". That engineer is soon shouted down with a lot of hard headed business rational about kicking AMD's butt. The Core Duo design project races to conclusion and achieves all its business objectives. The chips sell like hotcakes. Then slowly it begins to trickle out that all of these subtle logic design short-cuts actually do matter in various situations both imagined and not imagined. Surpise: some of them can't be fixed in software or with microcode or BIOS updates even in principle. Oh crap! And we already sold so many of these and made such a fabulous profit, whatever are we going to do now?
Many of these errata are not mysterious problems with the implementation process. They are cleverly conceived deliberate tweaks to the logical requirements that enabled Intel to make the chip faster and sooner and cheaper to achieve a short term business advantage at unknown cost to the end consumer at the end of the day. Intel was desperate for a design victory over AMD. They got one. And this was the cost: ten of millions of end customers now owning systems that can't be properly secured by any reasonable means.
Exactly this phrase also peeved me off. Sometimes I get the feeling that there are a lot of people out there wringing their hands with glee over all the drama that comes along with living in a functional police state, which America is increasingly becoming, as more and more people believe that credit ratings and arrest records and nose cleanings represent the value of a human to society.
In scientific parlance, "junk" means "ungrantable", but scientists are strange creatures who tend toward the subliminal belief that their careers would progress more smoothly if what they were granted to study was not impeded by what they are not granted to study, and especially in the case of DNA, because precious grant dollars were "wasted" removing the junk from the "active" regions they wished to investigate.
I don't think the average scientist is half as reductionistic as the granting system they find themselves forced to function within. You could even argue that the scientists converged on the term "junk" because it was helpful to communicate with the political bodies who approve grant applications: "everything is junk but the thing I presently wish to study". AKA "managing up".
I almost got into a shouting match with a close friend in the mid eighties when I maintained that "junk [DNA] isn't junk, it's just a word that captures an equilibrium point in a political degeneracy". He argued in turn that the junk was highly repetitive and had low information content. I argued that the genes were essentially combinatorial mechanisms, and that the junk probably provided regions of linearity that are hard to express combinatorially.
But then I was sitting around drinking beer and not applying for serious grant money, so it was an easy argument to put forward. There's not a lot of competition in science to be right about things that no one can receive funding to study.
The scientists involved failed to note that the predator and prey populations are under equal hardship within this ecosystem. A mutation that might be absolutely lethal in to an individual sheep among a flock of healthy sheep pursued by a pack of healthy wolves is not necessarily such great survival hardship when every third sheep has a spare body part, and half the wolves have cleft palate or pit nipples.
You have a peculiar definition of "way more". The claims I'm familiar with is that the C7 performs comparably to a Pentium III at half the clock frequency, except on many cryptographic benchmarks, where the C7 outperforms the Pentium III by more than a factor of ten. My recollection is that the K8 is a highly optimized three-issue design (decode and retirement rate limited to three instructions/clock), whereas the Pentium III is a middle of the road three-issue design (more interlocks and stalls, more unnecessary opcode splitting). The difference could range anywhere from zilch (where the instruction sequence has no liabilities on the P3) to about 50% faster on the K8. I can't recall the last time I said "woo hoo" over 50% some of the time.
The C3 was appallingly slow at floating point. I've read the C7 is vastly improved, but still far from great. Still, your concept of "way more" seems to better apply to a comparison of a 1GHz C3 to a 500MHz K8. No one would argue there.
This is completely true. In my town one of the local DJs went AWOL from the payola program and played some songs from a new release he personally really liked and then the local demand for that artist went through the roof, nearly costing that DJ his job. It's still the only town I know of where people call in to request that artist.
There are limits to how bad/good something can be before manipulation is no longer an important factor, though an obscure artist can be popular among a niche group on the basis of exception material without making much money.
It's extremely easy to do the math on how much promotion matters? How much money, time, and effort is invested in it? Lots. Especially concerning the teenage and young adult demographic, the group most determined to assert their independence.
Then you can ask yourself "how much is my hypothetical unbiased choice really worth to me?" With some determination, it is possible to apply your own criteria to your purchases, but it is an enormous amount of work, often for little gain. When I've done this with my technical purchases, it never works to my advantage. Even if you get your carefully researched order accepted, it comes back the next day "actually, we can't get part X for another three weeks, how about spiffy mainstream part Y?" and you debate that, and then it comes back "part U has gone out of production, but we can part V with almost exactly the same part number that replaces it". Anyone remember the DLINK 530TX and the DLINK 530TX+? The "plus" part swaps out the Via Rhine controller for a RealTek controller. Or you get the Dell effect where what appeared to be an excellent panel turns out to have different guts than when it was reviewed. Or you go to your favorite vendor's web site and find 200 different video cards listed, all sort of the same, yet different. Small differences, such as a card promising 350MHz RAMDACs on each head, but then in the fine print limiting the second head to 60Hz refresh as resolutions greater than a megapixel. Plus the particular glitch you need to avoid is a constantly moving target. Early on in the PCI era, there was a series of disk controllers with an internal one byte overwrite problem that were guaranteed to corrupt your disk with any kind of software write-behind disk cache enabled. Of all the machines for sale, only a small fraction listed enough specs. to determine whether this chip was present or not. Reading PC Magazine cover to cover with a magnifying glass to the fine print in every full page system ad gives you a whole new perspective on not having a life.
This isn't limited to technology, either. Eliminating unwanted food inputs from your diet is far more work than it needs to be. I once naively bought a bag of Cargo Cult cinnamon without reading the list of ingredients. I get it home and discover it contains a hydrogenated oil, probably as a flow agent. Not only that, it was coarse and barky and lacking in essential oils. As fast as you figure who not to trust, the old villians are recycled again, like the furniture store that has gone out of business every two years on the same premise for as long as you can recall.
You don't discover the true power of the system until you attempt to swim against the grain. Even if there are reviews out there entirely free from payola influence, you have to work to figure out which ones those are. The system is not designed to stop you from swimming in the currents of self-determination, just to wear you out.
It would be very easy from a technical perspective in the grocery retail sector to have a GUID embedded on each item of merchandise that links to a database with ingredients and disclaimers (may contains traces of peanut) and to provide shoppers with a little handheld device they can point at the GUID, and configure with a profile of desired or undesired attributes (no bad oils, no excessive sodium, etc.) and a big red light and a nasty buzzer and a speak generation system that barks "Crap! Crap! Crap!" as you strol
56/1024 divides out different in my corner of the landscape. As a general rule of thumb, no statistical result should be trusted if it can be invalidated by adding or subtracting one from either the numerator or the denominator. You don't want a result that's only as good as your last observation, included or excluded.
But it's nice to know that eight is far from five. The FDA will be keen to learn this.
It is a rare mind indeed that can render the hitherto non-existent blindingly obvious. The cry 'I could have thought of that' is a very popular and misleading one, for the fact is that they didn't, and a very significant and revealing fact it is too.
Douglas Adams
On the contrary, there are absolutely good places to abuse the C preprocessor. It needs to be well judged, and documented to a far higher standard than regular code. I used preprocessor magic extensively in coding interrupt handlers for a microcontroller project and I'm pretty sure I used some more to code the platform specific hooks for the C library. If the task is duplicitous, fragile, prone to error, or especially time critical there is no reason at all not to employ the preprocessor with a little discipline.
This society goes to great lengths to cultivate learned helplessness. Attitudes toward brands are a good example. Many people wish to simplify their decision making by forming an emotional bond with their favorite brands, rather than exercising rational judgement, which involves wading into the frustrations involved in finding information you can trust about the products you wish to purchase.
I no time for Sanger, either, who is busy trying to brand knowledge with the warm glow of credentialed expertise.
If the purpose of semantic search is to return search results that lull the sleepy sheep into the warm glow of suspended judgement, it will be a long time coming, and the road will be paved with broken promises.
The reason Google already works so well is that many of us actually *want* to enter into the larger context of the search terms we query. The various manifestations of my keywords are of interest to me. Once I've dialed into the subcontext I'm most interested in, it's usually an easy matter to refine the search. In rare instances, such as the metabolic cofactor SAMe, it proves almost impossible. This is a highly specialized meaning, masked by an everyday word.
It's also annoying that Google won't accept roots, or form clusters of common spellings / misspellings. When I was working with the HC12 microcontroller, I wanted to search all the forms as a set, which included variant forms such as MC68HC12 and HCS12 and 68HC12 as well as forests of related part numbers, all of which specified an HC12 variant. Sometimes I wish to search "color/colour" as equivalent lexemes.
Google already works spectactularly well for any purpose except selling learned helplessness. Many weaknesses exist, and as these weaknesses become more apparent, the worst of the problems ought to be addressed by pragmatic refinements (of the existing search algorithms). Google already has the "google suggests" mechanism to propose more specialized search in the cases where they develop the capacity to support this.
The other problem with the semantic grail is that even after undesired contexts are filtered out, you still don't have a unique answer. Now the question becomes "whose answer?". There are good business models to be had in controlling the answer to that question, and you might still get away with calling it "search", but it would totally suck as an instrument for harvesting knowledge.
I did a lot of work in the nineties in the area of statistical NLP, and I spent a lot of time wrestling with the boundary between what statistical methods could ultimately accomplish, and what the allure of semantic methods really amounted to. Often the "long tail" itself is a fiction of surface forms. For example, "fuschia deck chair" might be a statistical singleton on surface form, but it colour words are clustered it becomes [colour-word] deck chair, which probably isn't a statistical singleton. This level of statistical analysis is rarely employed, because the payoffs are marginal, which is yet again a testament to how well the basic (Google) algorithm already works.
One of the reason statistical methods have proven so successful is that these methods nicely complement what the brain already does well (unless disabled by brand preferences). Humans don't have the patience to scan millions of documents to establish statistical patterns, but we do excel at filtering a nugget of usefullness out of a small pool of crap. This is the biological reality of Sturgeon's law. Any organism that can't identify the one nugget out of ten worth pursuing has relinquished self-destiny.
If Google attacks the clustering and disambuiguation problems, slowly but surely one thing will lead to another, and a semantic-like system will finally emerge, but one quite different than one might discover having set out to achieve the semantic grail by direct means. As Douglas Adams put it "I may not have gone where I intended to go, but I think I have ended up where I intended to be."
The two resistors with different values function as a voltage divider. What's the clever method to eliminate the ground reference from Mallet, so he doesn't determine the bit via measurement in the voltage domain?
http://www.lrb.co.uk/v29/n10/fodo01_.htmls /books/05/13/0513hofstadter.html
http://www.statesman.com/life/content/life/storie
If XX represents a quantity greater than 10, the article is worthless, unless the complement is "of all time" and even there it's dicey for most categories Y.
The human brain can track roughly 200 people among our immediate social network and community. For art forms with a strong infusion of human personality (the auteur factor) we might manage a "top 100 movies of all time" list. For consumer gadgets, a top ten list (of all time) is already pushing things, unless the list documents nostalgia rather than greatness.
For any other values of XX and Y, the list is a modern day equivalent of a trenchcoat lined with watches.
This was well understood in neuro-linguistics in books I was reading 15 years ago, and according to the theory at the time (which might still hold) it has hardly anything to do with context. When the brain believes it recognizes primary-language speech sounds, it routes the signal to a part of the brain dedicated to mapping those sounds onto the known, primary language phonetic elements. There is also a reverse effect: once your brain decides it hears a primary speech sound, you lose your ability to discriminate fine shades of pitch associated with those sounds. As much as I recall now, the experiments were conducted on the bounardy between linguistic processing and musical processing.
Furthermore, noticing that semantic context would serve a human to eliminate an error made by a speech recognition system does not imply that humans resort to semantic context when routinely performing that task. One factor you've completely failed to take into account is constraints on how much glucose the brain can consume to accomplish routine function. Even if it has the context available, the brain won't necessarily activate it if other more glucose-efficient circuits are capable of carrying the load. This hasn't been studied nearly enough. What we know so far is that the brain is very busy lighting up the circuits required for as long as they are needed before the glucose goes somewhere else.
You need to invest more of your own brain glucose in discriminating what's possible in brain function from what's practical to sustain.
There's a lot that can be said about climate change, but that article was not it. I was disappointed in that publication. The most eggregious error from a computer science perspective is that it requires no great talent to train a model that predicts your training data, and even your withheld data, and still have the model prove worthless when confronted with unknowns from the real world.
I read articles every week about major new terms being proposed or incorporated into these models, I hold about as much faith in these models as chess computers from 1980 that regard castling through check as a legal move. Three decades later, the progress with chess programs is a wonder to behold. Our present climate models are perhaps good enough to suggest strong grounds for concern, but looking back 30 years from now, they'll seem like toys.
I know of few men who, when asked in front of 300 million peers, "have you been screwing around on your wife" would not consider the correct and proper answer to be "no". There are conditions where the question would be require a straight answer, such as if Ms Lewinsky was bringing sexual harassment charges against the president. If the case against the president was that he has abused his executive powers in showing favoritism toward Ms Lewinsky, then that's the question he should have been asked. What the government needs is to do is enact a tax on infidelity, so that anyone who doesn't list their infidelities on their tax return is guilty of perjury, and perhaps later infidelities can be added to the average person's credit rating as well.
I would be extremely surprised if in the primate calculus that indiscretion about infidelity is viewed as a greater sin than infidelity itself. Walk down the street and approach random couples to ask the male party "have you ever cheated on your wife/girlfriend" if you need a measure of the primal response. But, hey, if you toss into the equation some officious, self-serving republicans, and a few American flags, the primal response is now defined as perjurous. Nice trick with the backdrop there.
I enjoy many of Cringley's articles. I think the people who get most hot and bothered by Cringely, the Inquirer, and the Wikipedia are not managing to notice how much everyday life is an equal crock. Dvorack is a different kettle of fermented anchovies. His average column has me contemplating whether my thumbs fit into my eye sockets.
This particular retort by Cringley has a weasel-factor to make even Dvorack blush. It's like an engineer saying oops, I didn't mean watts, I meant watt-hours, but that doesn't change my meaning; furthermore, the 1000 people who wrote in to tell me just how wrong I was fully demonstrates the validity of my original point.