Hadley Wickham, author of ggplot2, is a prolific contributor of R modules. His documentation is fairly good, yet of the somewhat harried variety. You can get yourself quite lost by the amount of argument inheritance, which in R is entirely unlike tea. The book needs about 50% more material added, by someone who understands generic programming, stating precisely what operators are required for each argument passed into the ggplot hairball.
Hadley also indulged in some proscriptive urges. One was not to provide any form of pie chart, not even in 3D. This one I heartily endorse. The other was to make it difficult to put distinct vertical scales on both sides of the graph. He believes this can be used to create misleading graphics.
Unfortunately, he hasn't done many engineering graphics where you might want to put mA on one side and mW on the other (assuming a fixed supply voltage). There are many, many cases in engineering where you would like your graph to sport two distinct (yet fundamentally equivalent) sets of vertical scales. The root of all evil is premature proscriptivity. The one true simplicity in information technology is compositionality, and Hadley himself is one of the foremost practitioners in the way he architected the ggplot layering system.
I love ggplot, but I had to scribble madly in the margins of the first half of the book before I leveraged the power and... uh... convenience. Convenience paid for in blood, but well worth the price.
I also have the Lattice book, but have done less with it. It's a far more traditional approach. ggplot also does lattice graphics, in its own peculiar way.
With ggplot, when you get into faceting, you'll find yourself reading section 9.2 "Converting data from wide to long". This is nearly as fundamental to the ggplot architecture as the equivalence between pointers and arrays to the C language, yet it's buried in chapter nine a la harried documentation.
If you're not going to learn the equivalence in C between arrays and pointers, why bother? I'd say the same is true with ggplot. You had better get a grip on splorping your data frames with plyr, or why bother.
If you love data, the great thing about R (compared to Excel) is that you get to play in Myhrvold's kitchen without having to invest $10m. Even with the heavy machinery at hand, eventually in R, simple things are simple again, if you stick with it.
I should also add that I sometimes exploit the new-fangled ability to write inline C++ code in R. Where I used to do stand-alone applications in C++, these days I almost always use R as my graphing front end.
Another thing: I found on Hadley's website an Amazon wish list which included "The Flavour Bible". I bought this book after finding it there, and I love it. I then recommended it to some other foodies, and some of them report back that it has become their most used cookbook. Other people complain that it's just a list of lists, but not the kind of people in my circles.
Incidentally, ggplot supports both spellings "color" and "colour" for all colour arguments. I have to give Hadley a pass in the greater scheme of things for thwarting my mA/mW dual axis ambitions. But I sure hope he doesn't do it again.
The only FPGA I've used in my own design was a Spartan DSP. Heinlein's magic box isn't going to do you much good implementing 18x18 Wallace trees or adding conventional compute cores.
It's optimized for a very high LUT/pin ratio, in a small, hot package, discounting macro blocks.
I was more enthusiastic about mixed signal ASIC technology from Triad, but on my initial inquiry they haven't lowered the cost of full-custom analog ASICs at the low end. What they seem to offer is a fairly expensive, but far less risky proposition (if theory translates to practice) for medium complexity design.
I would have needed to Scotty our projected volumes to get a second response.
Now back to the original program. Some year fer fools day,/. needs to randomize Preview/Submit.
That's not a bad overview, but you need to apply some intelligence to the power consumption figures.
A|G || B|H -+- || -+- C|E || D|F
My first instinct is to set up the eight bit shift register as a pair of four element squares; one clocking on the rising edge, the other on the falling edge. A mux at the bottom selects from the left/right square on alternate cycles.
Your clock is 800MHz instead of 1.6GHz. The time vias probably need at least a full clock cycle (no path from one clock edge to the next edge in the opposite direction).
The four-element circular shift register (you have these by the gallon) is highly optimized. It probably doesn't cost you much to cycle patterns 0000 or 1111. Patterns 0111(x8) and 0011(x4) have two edge changes per cycle on the 800MHz clock. Pattern 0101(x2) has four edge changes per clock. The software might optimize layout and placement for fewer of these patterns.
That will beat an 8-way mux, I think, in total logic transitions.
The design gives you more logic operations per unit of silicon; leakage current for unit of performance should only improve.
On average, you're driving signals less distance, so maybe average capacitive load is partially ameliorated. For some applications, the computational density will permit meeting performance goals with more efficient logic trees.
On the other side of the coin, you're totally at the Merced of the synthesis tools. I think this Meta-trans concept is extremely cool. The main problem is that no one has yet invented a de-stealthing tool that actually works.
Everyone run for cover, we're being attacked by Ro'ula's. If I were Xilinx, that would be the code name for my competitive response.
You haven't heard from *all* the drop-outs, have you? And many of the people who didn't drop out, but stayed in the system a little too long, are guilty of the converse Kool-Aid.
There have been an increasingly dire series of reports that many (expensive) post-graduate degree mills are steering their studious lemmings over a career cliff.
This as it becomes increasingly unclear why a person needs to pay big money for higher education in a world where it's hard to think up anything you can't find out about in 30 seconds or half an hour.
If I had stuck it out in math class and learned how to do the Laplace transform and other manipulations of the s-domain, it would have saved me a phone call or two to other people who stuck it out in math class. And even without the training, I can fill in the blanks cook-book style, and I have a pretty good idea what the s operator is all about. I'd be hard pressed to improvise, but how many people out there would you trust to improvise on the subject of analog filter design?
I'd also like to figure out the structure of the electromagnetic field in our measurement product, but none of the people I know who stuck it out in math/physics class can do it any better than I can. If we're determined to know the answer, we're going to have to use an electromagnetic field simulator.
But I'm sure Lawrence Pritchard Waterhouse could scribble out the answer free hand on the back of his entrance exam, because it occurred to him while proving that "circles are to each other as the squares of their radii" that he had never constructed a Sierpinski curve that carpets the unit circle, and that lead to other things.
In my initial survey of computational options, I discovered MEEP, under the GPL, from MIT. Scheme/C++/Python front ends. I can do all that. Correctly setting up temperature and frequency dependent complex permitivities in several different bulk materials, and not missing out a crucial factor of 1/2 pi somewhere, I'd really want to have someone "educated" to check my work. On that little DIY proposition, I think just opening the box is a three day exercise. With another six years of formal math education, I could maybe even contribute some patches.
I quote this all the time. And this is old school, already. I'm amazed at the resilience of mass pyramid schemes in the modern workforce. It works this way in pro sports. For every four kids with the talent to "make it big", three drop out due to injury, bad timing, or circumstance with little to show for it, while the kid who makes tenure with the big club reaps huge rewards; not even counting the untold hours invested by kids who dropped out far earlier in the process. The same evolution is taking place in academia these days: $30,000/year as a post-doc shifting test-tubes in some dank over-lit basement. Sign me up.
In the post-Arrow world, the relationship of education to knowledge or common sense is becoming ever more tenuous. I think Temple Grandin has been underemployed in modern curriculum design. On a bad day it feels like the fundamental economic output of the modern labour force is income disparity.
Gone are the days, it seems, that one could get by having the skills and personality to make a positive contribution to the world around us. Yet the opportunity to contribute, as gated by the availability of the core knowledge, has never been greater.
What the world needs is a way for bright kids to drop out of the overpriced educational treadmill without being suspected of having a chip on their shoulder. Or educated voters who give a damn, but the second item seems out of reach. (Is it just myth that back when education was rare, presidents spoke inte
But I still submit that there's no way to know the cause of death on the Aloha 243 case without having the body, which we do not have.
This is ridiculous. I recall this philosophy exercise from long ago where there are three guys in a desert and they're not getting along well. One night one guy poisons the canteen of the principal SOB, but later the other sneaks up and drills a hole in it. Next day, the principal SOB dies of thirst. We have the body. What killed him?
It's like doing forensics on the world domino record when there are many strands of falling dominoes all racing toward the same outcome. I was once told by a volunteer paramedic and amateur diver that something like 30% of people resuscitated from drowning after taking lake or sea water into the lungs later die of pulmonary complications. He also told me that when you're the lifeguard on duty at a (tower) diving accident, two tablespoons of blood on the surface of the swimming pool looks a lot like two litres. He's a bit of a student of the contours of peril (and apparent peril) as well as a movie buff.
He would agree with me that if you need a coroner to determine what kills Aguirre in "Aguirre, the Wrath of God", you're doing it wrong.
Here's an informative statistic: 25% of the people shipped to Siberia died of blood poisoning. But that contradicts the official story that 100% of the fatalities in Siberia were from refusing to work hard enough. I'm sure an autopsy would clear this right up.
One of the biggest secrets of all is when you haven't actually got a secret, but wish to convince some people that you really do.
No one would be sent in to document a secret about not having a secret if you're trying to make it look like a chart topper. Getting people so wigged out that no-one knows who to believe is SOP in these matters. Furthermore, the director of the FBI would potentially receive memos on both sides of the matter: reality, and the ruse regarded as reality. Presumably, he's paid to know which are which. Memo writers themselves are not in on the loop.
The other possibility is that they got a very stiff message over subspace about messing with an intergalactic accident scene, and the entire Milky Way has been cordoned off ever since pending arrival of the investigatory team.
The next big secret will be the direction reversal of the Voyager space probe when it bounces off the intergalactic yellow police tape.
I know exactly what goes on (or went on) at Area 51. The whole place functions just like the two kids in the teletype room in "The Falcon and the Snowman" who mix martinis with the paper shredder. All those kids had to cover their antics was a locked door with an ominous security clearance. Area 51 has rings of Misty Mountains within which to squander a Saudi-like feed of taxpayer dollars. It's a boys with toys tree fort packed to the rafters with things that blow up operating under a regime of oversight through inuendo.
Innovation: one-click shopping and the two-point affine transformation.
If the pinch gesture is the "best thing" about any of Apple's products, Jobs will be answering to Zeus in the afterlife, with Eudoxus pressing the case against.
Zeus will also want to know why Jobs favoured that gaunt, black font named after a frigid hinterland rather than the voluptuous and pleasing Helenica, while in the background the inventor of the Antikythera clucks in disbelief, "All you have to show for immortality is the pinch gesture and a faim font?"
Ringworhlium II is strong enough to make your ring bigger than the EH, and, in fact, hardened RWII is made by dropping a rapidly spinning ring axially across a small EH object to exploit gravitational hardening. Unfortunately, the precision stabilizing jets are never quite the same afterwards.
In another unforeseen consequence, many of the original engineers commit suicide after overhearing the Ringworld sales dept. trying to explain relativistic delivery dates to the Vogon Ministry of Administrative Affairs.
There are a 100 claims like this every week but yet some how it never makes it into an actual production car.
Every season, 30 NHL teams project themselves as legitimate threats to win the Stanley Cup in one to five years. The boast factor is almost 1.0, from which we can conclude that the Stanley Cup is rarely, if ever, actually won.
With (most) entrepreneurs you need to apply the same derating factor as (most) teenage boys. From which we can conclude that the human population is declining.
Entrepreneurs habitually use a cryptic time scale. Here's an interesting question. How large a statistical population of failed entrepreneurs does one need to gather to fit with 95% confidence the cryptic time scale to either:
y' = alpha * beta ^ y --or--
y' = alpha * Ackermann (floor(y), floor(beta*frac(y)))
If you pass this test, welcome to your new career as a science journalist on planet "Actually Cares". You'll also need to pass a quick test on not adding to the confusion by stringing more than one word together.
Your first assignment is to toss off a 500 word piece for Shaker Magazine on the Richter scale and moment magnitudes.
If that goes well, your second assignment is a lively 2000 word in-depth backgrounder for Popular Metrology on the proposed CIPM reformation of the ampere.
He's determined to be remembered as the first black(ish) president, and nothing else.
So sad. Did he fight to preserve anything he believed in?
One of the differences between government and the private sector is that the private sector tends to make decisions on ROI models. You'd think they could trim the budgets to keep these sites alive, and that the ROI on less corruption and duplicity in a government spending a trillion dollars a year could easily achieve a viable ROI. Except that there's no model for the quality of a decision made by government and it's value to the country. Bad government is such a minor concern that even Enron and BP aren't enough to sway half the population from the position that government is best completely abolished.
Unfortunately, a positive ROI for Obama and America is a negative ROI for senator Bedfellow and his bailiwick of regulatory capture by the virtuous private sector.
In addition, the physicists of the University of Innsbruck have found out that the decay rate of the atoms is not linear, as usually expected, but is proportional to the square of the number of the qubits. When several particles are entangled, the sensitivity of the system increases significantly.
I've long said that I wouldn't take quantum computing seriously until I saw an equation depicting a scaling bound. That day finally dawns a decade into the hype cycle. Amazing. Seriously, following the field is like studying optics without knowing the difference between lumens and lux. What kind of physical system has no bounding process?
This is the first such equation I've seen, but they don't indicate the base decay rate, or how many qubits it would take before the decay rate is unmanageable.
Furthermore, they don't indicate the stacking rate: how long it takes to entangle qubits as a function of N. There's got to be some value where the stacking rate and the decay rate interest. I'd like to know what that value is, with present approaches, and viable future approaches.
Now if only the media could keep becquerels, sieverts and coulombs per kilogram straight. The book could be titled "Lumens and lux for people who don't wish to remain dummies" and any colour other than yellow and black.
Second point: the aramid fibres have a very small elongation (strain) at break, and can hold a large amount of stress. Indeed, on a per weight basis, they are "stronger" than steel, by volume, it is not so good.
Try a Nylon semicolon instead of the Kevlar comma. You'd already used a carborundum colon in the preceding sentence, so I know you have it in your bit kit.
Indeed, on a per weight basis, they are "stronger" than steel; by volume, it is not so good.
Every thousand posts or so, I learn something by reading what I've just written.
The problem with many manifest switch-case statements is that the code is shunting code streams on object identity rather that algorithmic requirements and object pre-conditions. Never thought about it precisely that way.
In many problems, the precondition mesh is extremely straightforward, such that if you exhaust everything you're allowed to do, all that remains is to test whether the algorithmic post-condition is satisfied, and you can go home. Sometimes the set of possible operations is potentially unbounded, so you also have to write a predicate to enforce advancing the variant.
In specialized cases, the order in which possible operations are performed is critical to algorithmic performance. The classic case is qsort() where you can recurse into either the short or long sublist without violating qsort() correctness. If you go the wrong way, your stack growth will resemble an AT&T iPhone bill from your European vacation.
I think most programmers regard all predicates as created equal. Not even close. Some predicates protect correctness, some exist only to influence the order in which viable operations are sequenced for efficiency in time, and some are subtle like the qsort() example, which serve to remind the working programmer that ivory tower conceptual elegance lives in a world with friction and mass.
Most imperative programs, even the correct ones, actually over-specify within the set of viable/preferred execution paths. You soon discover this when you try map to the concurrency domain: all your other processes have blocked waiting on a step that didn't need to be the one and only place to begin.
When you serialize your program code into a directional symbol system (English, Arabic, Chinese have everything in common except the compass point) you're forced to put all statements in defined order: A serializes in front of B, or it doesn't.
I once read an illuminating paper by Hilary Putnam (or maybe it was just an anthology he edited) where it discusses artifacts of different ways to formalize the integers in set theory: in either of the two formalisms discussed, integers were represented as sets, so you could legally ask whether 3 was a subset of 7. In one formalization x clean formalization.
This happens all the time writing statement A in front of statement B, when you would be just as happy if B executed first: serialization (of the notation) made me do it.
Even in non-concurrent programs, I always ask my predicates and statement blocks if they are SER or PAR regimes.
I've never had much respect for the tributary of formal CS which is strongly monotheist: prominence of theoretic virtue, ignoring death by underperformance in the real world.
What they don't teach you in school:
One particularly interesting kill [by an F4U Corsair] was scored by a Marine Lieutenant R. R. Klingman of VMF-312 Checkerboards, over Okinawa. Klingman was in pursuit of a Kawasaki Ki-45 Toryu ("Nick") twin engine fighter at extremely high altitude when his guns jammed due to the gun lubrication thickening from the extreme cold. He simply flew up and chopped off the Ki-45's tail with the big propeller of the Corsair. Despite missing five inches (127 mm) off the end of his propeller blades, he managed to land safely after this ramming attack. He was awarded the Navy Cross.
I can't find exactly the quote I'm looking for, but this was the gist of it, again from the bathroom wall of all knowledge:
With the extreme agility of the Zero, the Allied pilots found that the appropriate combat tactic against it was to remain out of range and fight on the dive and climb. By using speed and resisting the fatal error of trying to out-turn the Zero, eventually cannon or heavy machine guns [] could be brought to bear and a single burst of fire was usually enough to down it.... Another important maneuver w
Holy crap. I just spent an hour on that site and I still can't accurately summarize what this guy wants.
Holy crap. I just spent ten minutes on that site without detecting a topic sentence that sets up statement of solution to follow statement of problem. The guy is relocating another fence post in every paragraph—without tending any livestock. All auger, no cattle.
I can do better in an off-the-cuff Slashdot post.
Thesis: there are many programmers out there who are religious about the ODR (and rightly so) but couldn't give a rat's ass about the OPR (one predicate rule).
The OPR has roughly the same importance in grappling with concurrency that the ODR has in grappling with consistency. By OPR violations I mean those sloppy loops where a predicate in the main loop control is spelled out again either before or after the loop to clean up a left-over fence post (of the N+1 kind). Often it's just i < MAX or something as simple and one repetition doesn't seem to do much damage. Often it's complex_guard && test_expression (consumption_side_effect_expression) so it's ugly if more of this is spelled out twice for a second time in a reiterative loop. Often, it's something as simple as i < MAX, but it should have been as ugly as the second case. Honey, contact Charlton Heston on the Ouija board, I'm changing sides.
My bug production rate went from low to exceptionally low on one reading of one chapter of one of Dijkstra's books: if I can't throw a dart at a page of source code, then mentally construct a correct expression for the number of times that execution point is reached (as a function of suitable variables representing the initial condition) then I'm doing it wrong
I also believe in single loop entrance, single loop exit, so to achieve this condition, I have to work for a living. There are few viable solutions under these constraints, and none without clarity, sometimes by means of a profusion of well-named boolean variables (that transcend almost to literacy).
CMU is onto something here. I'd replace everything I know about OOP with one course on how to write a formally provable exception-safe generic container with iterator: OOPS 101.
If only Dijkstra were alive today, he'd write one acidic chapter of one acidic book on the subject, and I'd be enlightened forever.
In my toolkit, OOP is good for exactly one thing: eliminating ugly repetition of manifest switch-case statements (ORR: one roundhouse rule), if it can't be resolved at compile time through genericity.
We donâ(TM)t just want our mobile devices to work, we demand it.
Tell me why the cruel, popular kids were spit-balling the geeks, when this human pocket protector with the swank haircut was roaming free? Sense of priorities in life: off scale low.
Actually, what we really demand are subsidized handsets. After that deal with the devil, we're pretty much powerless to influence any other aspect of how the system works.
Gas taxes have always apportioned the road tax unfairly...
You started off pithy, then spilled a lot of works on nothing much.
I suppose you're taking into account that gasoline has an effective negative tax, and pretty much always has in America. Have you ever noticed that the countries which consume the most petroleum also have the most wealth? The value of a barrel of oil is more than we pay. This is where the excess wealth comes from.
All it takes to maintain this populist subsidy (gas in America equates to beer and bread in Europe) is a trillion dollar war here and there. And gosh knows how equitably those are financed.
But getting back to contact patches and rolling resistance, we should do a study on that.
Because of network effects it makes more sense to regard the highway system as a sunk capital cost, but who is to quibble.
Microsoft 317 Bil Chair Man -100 Bil Apple 168 Bil Turtleneck 150 Bil
There, fixed that for ya.
Love the way the editor counts any kind of spendy gadget as a PC. I think he was counting PKs: personal kiosks. Easy mistake to make when you conduct census by credit card.
Apple has always been the King of Lilliput. I've seen many expensive Apple computers boat-anchored over the years out of Lilliput envy: no room for expansion here. Apple needed weeny and white the same way Schindler needed war and women.
Ultimately for Apple, the walled garden is a growth-limiting move: by definition, the average person can't be cool. In their hermetic design philosophy, they should be careful what they wish for. Please god, make my prayers come true, but not until they finish clang/llvm C++0x.
Why are all of those shitty things true, inquiring minds would like to know. And what about the five whys?
Why do you need a cert to establish privacy (protect against eavesdropping)? Why can't the (one way) authenticity exchange take place *after* basic security is established.
Why is there no mode with encryption, but without the bother of an SSL certificate at all?
Why was it ever possible to send a password in clear text to begin with?
Australopithecus protocol designers, you have a lot of 'splain to do.
There's something about the phrase "bare metal" that triggers an amygdala release in most people, even people who were there and lived through it, and ought to know better though the potato peeler of hindsight.
We all know the story. Right around when really cool things become possible there's an outbreak of mass hysteria, with every hardware vendor and software library scrambling for momentary glimpses of nirvana (and market traction), with swollen trade rags tarting legions of pretenders in pancake drag; the entire industry begins playing the Jonestown edition of "Where's Waldo?"
I recall in particular some of those early 3D video cards awarded hot scores for performance breakthroughs deserving five hot turds for advances in low-pass filtering of the rendered pixel stream. You know, the 4x4 analog mud filter. But the heavy benchmark breathers barely seemed to notice the visual stench.
Sure, no one wants to return to the sketchy birth scene of a technology that's only made it halfway out of the birth canal. Some people hear "bare metal" and can't get past traumatic recollections of delivery forceps.
Eventually that day comes where Joe Radome paystud can afford to sacrifice ultimate performance in order to work twice as fast on top of an API that provides some shelter and refuge from the carnage of innovation. At this juncture, even poser pixels have spiffy RAMDACs. The wild west bifurcates into suburbs and scissorhands. Elite coders stick it out on the cactus mesas. The moon-shot is a harsh mistress, but there's glory in it; a sapho-stained gore-fest crosses the Rubicon into adolescent ground truth.
Less remarked upon is the comfortable third age: when the underlying hardware has become so powerful, that the fat API sheltering you from the gory details hinders what it abets. Every API begins life with the mandate to bring order to chaos. Later we regard the heroic efforts of developers leaping into the line of fire as "legacy cruft". The soul of the machine is steeped in blood sacrifice. There's a thin red line between pragmatism and incompetence. If only that API could talk, what stories it could tell.
Fast forward to Jetsonville, a retro fetish won't shackle you to kilobyte sample-buffer backflips, or optimizing SNR on a 16-bit integer DSP. Radial tires are here to stay, man. All the same, not every advance is a step forward. Floaty-boats from 1950-1970 had the plush suspension to conceal other engineering faults though mock levitation. Those faults are gone and no-one thinks that floaty-boat suspension is the only thing protecting the industry from Mad Max IV. A little agility greases the pavement.
I think in modern video cards the pain is not so much in Grangerford versus Shepardson pipeline architectures, but the extreme variation in resourcing and optimal orchestration. Isn't this one of the problems that Apple is attacking with clang/LLVM? It certainly gives me a slight tingle of bare metal blood lust.
In R, I've started to play with the Rccp and inline packages. Welcome to the bare-metal luxury resort. Barstool PTSD greybeards need not apply. Hey dude, sometimes the bare metal is 18-10 stainless or aircraft aluminum. You don't always get tetanus. You have to stop for a moment when someone hands you the chainsaw of yesteryear to ask which end of the chainsaw is being offered up and reflect on the general era of manufacture.
Make no little plans. They have no magic to stir men's blood.
And gentlemen in England now-a-bed Shall think themselves accurs'd they were not here, And hold their manhoods cheap whiles any speaks That fought with us upon Saint Crispin's day.
There's something to be said for squeezing DirectX out the pinhole.
Hadley Wickham, author of ggplot2, is a prolific contributor of R modules. His documentation is fairly good, yet of the somewhat harried variety. You can get yourself quite lost by the amount of argument inheritance, which in R is entirely unlike tea. The book needs about 50% more material added, by someone who understands generic programming, stating precisely what operators are required for each argument passed into the ggplot hairball.
Hadley also indulged in some proscriptive urges. One was not to provide any form of pie chart, not even in 3D. This one I heartily endorse. The other was to make it difficult to put distinct vertical scales on both sides of the graph. He believes this can be used to create misleading graphics.
Unfortunately, he hasn't done many engineering graphics where you might want to put mA on one side and mW on the other (assuming a fixed supply voltage). There are many, many cases in engineering where you would like your graph to sport two distinct (yet fundamentally equivalent) sets of vertical scales. The root of all evil is premature proscriptivity. The one true simplicity in information technology is compositionality, and Hadley himself is one of the foremost practitioners in the way he architected the ggplot layering system.
I love ggplot, but I had to scribble madly in the margins of the first half of the book before I leveraged the power and ... uh ... convenience. Convenience paid for in blood, but well worth the price.
I also have the Lattice book, but have done less with it. It's a far more traditional approach. ggplot also does lattice graphics, in its own peculiar way.
With ggplot, when you get into faceting, you'll find yourself reading section 9.2 "Converting data from wide to long". This is nearly as fundamental to the ggplot architecture as the equivalence between pointers and arrays to the C language, yet it's buried in chapter nine a la harried documentation.
If you're not going to learn the equivalence in C between arrays and pointers, why bother? I'd say the same is true with ggplot. You had better get a grip on splorping your data frames with plyr, or why bother.
If you love data, the great thing about R (compared to Excel) is that you get to play in Myhrvold's kitchen without having to invest $10m. Even with the heavy machinery at hand, eventually in R, simple things are simple again, if you stick with it.
I should also add that I sometimes exploit the new-fangled ability to write inline C++ code in R. Where I used to do stand-alone applications in C++, these days I almost always use R as my graphing front end.
Another thing: I found on Hadley's website an Amazon wish list which included "The Flavour Bible". I bought this book after finding it there, and I love it. I then recommended it to some other foodies, and some of them report back that it has become their most used cookbook. Other people complain that it's just a list of lists, but not the kind of people in my circles.
Incidentally, ggplot supports both spellings "color" and "colour" for all colour arguments. I have to give Hadley a pass in the greater scheme of things for thwarting my mA/mW dual axis ambitions. But I sure hope he doesn't do it again.
The only FPGA I've used in my own design was a Spartan DSP. Heinlein's magic box isn't going to do you much good implementing 18x18 Wallace trees or adding conventional compute cores.
It's optimized for a very high LUT/pin ratio, in a small, hot package, discounting macro blocks.
I was more enthusiastic about mixed signal ASIC technology from Triad, but on my initial inquiry they haven't lowered the cost of full-custom analog ASICs at the low end. What they seem to offer is a fairly expensive, but far less risky proposition (if theory translates to practice) for medium complexity design.
I would have needed to Scotty our projected volumes to get a second response.
Now back to the original program. Some year fer fools day, /. needs to randomize Preview/Submit.
That's not a bad overview, but you need to apply some intelligence to the power consumption figures.
A|G || B|H
-+- || -+-
C|E || D|F
My first instinct is to set up the eight bit shift register as a pair of four element squares; one clocking on the rising edge, the other on the falling edge. A mux at the bottom selects from the left/right square on alternate cycles.
Your clock is 800MHz instead of 1.6GHz. The time vias probably need at least a full clock cycle (no path from one clock edge to the next edge in the opposite direction).
The four-element circular shift register (you have these by the gallon) is highly optimized. It probably doesn't cost you much to cycle patterns 0000 or 1111. Patterns 0111(x8) and 0011(x4) have two edge changes per cycle on the 800MHz clock. Pattern 0101(x2) has four edge changes per clock. The software might optimize layout and placement for fewer of these patterns.
That will beat an 8-way mux, I think, in total logic transitions.
The design gives you more logic operations per unit of silicon; leakage current for unit of performance should only improve.
On average, you're driving signals less distance, so maybe average capacitive load is partially ameliorated. For some applications, the computational density will permit meeting performance goals with more efficient logic trees.
On the other side of the coin, you're totally at the Merced of the synthesis tools. I think this Meta-trans concept is extremely cool. The main problem is that no one has yet invented a de-stealthing tool that actually works.
Everyone run for cover, we're being attacked by Ro'ula's. If I were Xilinx, that would be the code name for my competitive response.
That's not a bad overview, but you need to apply some intelligence to the power consumption figures.
A|G || B|H
-+- || -+-
C|E || D|F
You haven't heard from *all* the drop-outs, have you? And many of the people who didn't drop out, but stayed in the system a little too long, are guilty of the converse Kool-Aid.
There have been an increasingly dire series of reports that many (expensive) post-graduate degree mills are steering their studious lemmings over a career cliff.
This as it becomes increasingly unclear why a person needs to pay big money for higher education in a world where it's hard to think up anything you can't find out about in 30 seconds or half an hour.
If I had stuck it out in math class and learned how to do the Laplace transform and other manipulations of the s-domain, it would have saved me a phone call or two to other people who stuck it out in math class. And even without the training, I can fill in the blanks cook-book style, and I have a pretty good idea what the s operator is all about. I'd be hard pressed to improvise, but how many people out there would you trust to improvise on the subject of analog filter design?
I'd also like to figure out the structure of the electromagnetic field in our measurement product, but none of the people I know who stuck it out in math/physics class can do it any better than I can. If we're determined to know the answer, we're going to have to use an electromagnetic field simulator.
Here's an example of the knuckle cracking involved just to warm up to the problem:
The Velocity Factor of an Insulated Two-Wire Transmission Line
But I'm sure Lawrence Pritchard Waterhouse could scribble out the answer free hand on the back of his entrance exam, because it occurred to him while proving that "circles are to each other as the squares of their radii" that he had never constructed a Sierpinski curve that carpets the unit circle, and that lead to other things.
In my initial survey of computational options, I discovered MEEP, under the GPL, from MIT. Scheme/C++/Python front ends. I can do all that. Correctly setting up temperature and frequency dependent complex permitivities in several different bulk materials, and not missing out a crucial factor of 1/2 pi somewhere, I'd really want to have someone "educated" to check my work. On that little DIY proposition, I think just opening the box is a three day exercise. With another six years of formal math education, I could maybe even contribute some patches.
Kenneth Arrow
I quote this all the time. And this is old school, already. I'm amazed at the resilience of mass pyramid schemes in the modern workforce. It works this way in pro sports. For every four kids with the talent to "make it big", three drop out due to injury, bad timing, or circumstance with little to show for it, while the kid who makes tenure with the big club reaps huge rewards; not even counting the untold hours invested by kids who dropped out far earlier in the process. The same evolution is taking place in academia these days: $30,000/year as a post-doc shifting test-tubes in some dank over-lit basement. Sign me up.
In the post-Arrow world, the relationship of education to knowledge or common sense is becoming ever more tenuous. I think Temple Grandin has been underemployed in modern curriculum design. On a bad day it feels like the fundamental economic output of the modern labour force is income disparity.
Gone are the days, it seems, that one could get by having the skills and personality to make a positive contribution to the world around us. Yet the opportunity to contribute, as gated by the availability of the core knowledge, has never been greater.
What the world needs is a way for bright kids to drop out of the overpriced educational treadmill without being suspected of having a chip on their shoulder. Or educated voters who give a damn, but the second item seems out of reach. (Is it just myth that back when education was rare, presidents spoke inte
This is ridiculous. I recall this philosophy exercise from long ago where there are three guys in a desert and they're not getting along well. One night one guy poisons the canteen of the principal SOB, but later the other sneaks up and drills a hole in it. Next day, the principal SOB dies of thirst. We have the body. What killed him?
It's like doing forensics on the world domino record when there are many strands of falling dominoes all racing toward the same outcome. I was once told by a volunteer paramedic and amateur diver that something like 30% of people resuscitated from drowning after taking lake or sea water into the lungs later die of pulmonary complications. He also told me that when you're the lifeguard on duty at a (tower) diving accident, two tablespoons of blood on the surface of the swimming pool looks a lot like two litres. He's a bit of a student of the contours of peril (and apparent peril) as well as a movie buff.
He would agree with me that if you need a coroner to determine what kills Aguirre in "Aguirre, the Wrath of God", you're doing it wrong.
Here's an informative statistic: 25% of the people shipped to Siberia died of blood poisoning. But that contradicts the official story that 100% of the fatalities in Siberia were from refusing to work hard enough. I'm sure an autopsy would clear this right up.
One of the biggest secrets of all is when you haven't actually got a secret, but wish to convince some people that you really do.
No one would be sent in to document a secret about not having a secret if you're trying to make it look like a chart topper. Getting people so wigged out that no-one knows who to believe is SOP in these matters. Furthermore, the director of the FBI would potentially receive memos on both sides of the matter: reality, and the ruse regarded as reality. Presumably, he's paid to know which are which. Memo writers themselves are not in on the loop.
The other possibility is that they got a very stiff message over subspace about messing with an intergalactic accident scene, and the entire Milky Way has been cordoned off ever since pending arrival of the investigatory team.
The next big secret will be the direction reversal of the Voyager space probe when it bounces off the intergalactic yellow police tape.
I know exactly what goes on (or went on) at Area 51. The whole place functions just like the two kids in the teletype room in "The Falcon and the Snowman" who mix martinis with the paper shredder. All those kids had to cover their antics was a locked door with an ominous security clearance. Area 51 has rings of Misty Mountains within which to squander a Saudi-like feed of taxpayer dollars. It's a boys with toys tree fort packed to the rafters with things that blow up operating under a regime of oversight through inuendo.
s/Eudoxus/Eudoxus, who won't yield an iota,
The subconscious mind sometimes plays hard to get. It had to be a plant to be that good. Doh!
Innovation: one-click shopping and the two-point affine transformation.
If the pinch gesture is the "best thing" about any of Apple's products, Jobs will be answering to Zeus in the afterlife, with Eudoxus pressing the case against.
Zeus will also want to know why Jobs favoured that gaunt, black font named after a frigid hinterland rather than the voluptuous and pleasing Helenica, while in the background the inventor of the Antikythera clucks in disbelief, "All you have to show for immortality is the pinch gesture and a faim font?"
Ringworhlium II is strong enough to make your ring bigger than the EH, and, in fact, hardened RWII is made by dropping a rapidly spinning ring axially across a small EH object to exploit gravitational hardening. Unfortunately, the precision stabilizing jets are never quite the same afterwards.
In another unforeseen consequence, many of the original engineers commit suicide after overhearing the Ringworld sales dept. trying to explain relativistic delivery dates to the Vogon Ministry of Administrative Affairs.
Every season, 30 NHL teams project themselves as legitimate threats to win the Stanley Cup in one to five years. The boast factor is almost 1.0, from which we can conclude that the Stanley Cup is rarely, if ever, actually won.
With (most) entrepreneurs you need to apply the same derating factor as (most) teenage boys. From which we can conclude that the human population is declining.
Entrepreneurs habitually use a cryptic time scale. Here's an interesting question. How large a statistical population of failed entrepreneurs does one need to gather to fit with 95% confidence the cryptic time scale to either:
y' = alpha * beta ^ y
--or--
y' = alpha * Ackermann (floor(y), floor(beta*frac(y)))
???
dBA
CRI
sieverts
becquerel
If you pass this test, welcome to your new career as a science journalist on planet "Actually Cares". You'll also need to pass a quick test on not adding to the confusion by stringing more than one word together.
Your first assignment is to toss off a 500 word piece for Shaker Magazine on the Richter scale and moment magnitudes.
If that goes well, your second assignment is a lively 2000 word in-depth backgrounder for Popular Metrology on the proposed CIPM reformation of the ampere.
Answer to quiz: science and journalism.
He's determined to be remembered as the first black(ish) president, and nothing else.
So sad. Did he fight to preserve anything he believed in?
One of the differences between government and the private sector is that the private sector tends to make decisions on ROI models. You'd think they could trim the budgets to keep these sites alive, and that the ROI on less corruption and duplicity in a government spending a trillion dollars a year could easily achieve a viable ROI. Except that there's no model for the quality of a decision made by government and it's value to the country. Bad government is such a minor concern that even Enron and BP aren't enough to sway half the population from the position that government is best completely abolished.
Unfortunately, a positive ROI for Obama and America is a negative ROI for senator Bedfellow and his bailiwick of regulatory capture by the virtuous private sector.
I've long said that I wouldn't take quantum computing seriously until I saw an equation depicting a scaling bound. That day finally dawns a decade into the hype cycle. Amazing. Seriously, following the field is like studying optics without knowing the difference between lumens and lux. What kind of physical system has no bounding process?
This is the first such equation I've seen, but they don't indicate the base decay rate, or how many qubits it would take before the decay rate is unmanageable.
Furthermore, they don't indicate the stacking rate: how long it takes to entangle qubits as a function of N. There's got to be some value where the stacking rate and the decay rate interest. I'd like to know what that value is, with present approaches, and viable future approaches.
Now if only the media could keep becquerels, sieverts and coulombs per kilogram straight. The book could be titled "Lumens and lux for people who don't wish to remain dummies" and any colour other than yellow and black.
Try a Nylon semicolon instead of the Kevlar comma. You'd already used a carborundum colon in the preceding sentence, so I know you have it in your bit kit.
Every thousand posts or so, I learn something by reading what I've just written.
The problem with many manifest switch-case statements is that the code is shunting code streams on object identity rather that algorithmic requirements and object pre-conditions. Never thought about it precisely that way.
In many problems, the precondition mesh is extremely straightforward, such that if you exhaust everything you're allowed to do, all that remains is to test whether the algorithmic post-condition is satisfied, and you can go home. Sometimes the set of possible operations is potentially unbounded, so you also have to write a predicate to enforce advancing the variant.
In specialized cases, the order in which possible operations are performed is critical to algorithmic performance. The classic case is qsort() where you can recurse into either the short or long sublist without violating qsort() correctness. If you go the wrong way, your stack growth will resemble an AT&T iPhone bill from your European vacation.
I think most programmers regard all predicates as created equal. Not even close. Some predicates protect correctness, some exist only to influence the order in which viable operations are sequenced for efficiency in time, and some are subtle like the qsort() example, which serve to remind the working programmer that ivory tower conceptual elegance lives in a world with friction and mass.
Most imperative programs, even the correct ones, actually over-specify within the set of viable/preferred execution paths. You soon discover this when you try map to the concurrency domain: all your other processes have blocked waiting on a step that didn't need to be the one and only place to begin.
When you serialize your program code into a directional symbol system (English, Arabic, Chinese have everything in common except the compass point) you're forced to put all statements in defined order: A serializes in front of B, or it doesn't.
I once read an illuminating paper by Hilary Putnam (or maybe it was just an anthology he edited) where it discusses artifacts of different ways to formalize the integers in set theory: in either of the two formalisms discussed, integers were represented as sets, so you could legally ask whether 3 was a subset of 7. In one formalization x clean formalization.
This happens all the time writing statement A in front of statement B, when you would be just as happy if B executed first: serialization (of the notation) made me do it.
Even in non-concurrent programs, I always ask my predicates and statement blocks if they are SER or PAR regimes.
I've never had much respect for the tributary of formal CS which is strongly monotheist: prominence of theoretic virtue, ignoring death by underperformance in the real world.
What they don't teach you in school:
I can't find exactly the quote I'm looking for, but this was the gist of it, again from the bathroom wall of all knowledge:
Holy crap. I just spent ten minutes on that site without detecting a topic sentence that sets up statement of solution to follow statement of problem. The guy is relocating another fence post in every paragraph—without tending any livestock. All auger, no cattle.
I can do better in an off-the-cuff Slashdot post.
Thesis: there are many programmers out there who are religious about the ODR (and rightly so) but couldn't give a rat's ass about the OPR (one predicate rule).
The OPR has roughly the same importance in grappling with concurrency that the ODR has in grappling with consistency. By OPR violations I mean those sloppy loops where a predicate in the main loop control is spelled out again either before or after the loop to clean up a left-over fence post (of the N+1 kind). Often it's just i < MAX or something as simple and one repetition doesn't seem to do much damage. Often it's
complex_guard && test_expression (consumption_side_effect_expression)
so it's ugly if more of this is spelled out twice for a second time in a reiterative loop. Often, it's something as simple as i < MAX, but it should have been as ugly as the second case. Honey, contact Charlton Heston on the Ouija board, I'm changing sides.
My bug production rate went from low to exceptionally low on one reading of one chapter of one of Dijkstra's books: if I can't throw a dart at a page of source code, then mentally construct a correct expression for the number of times that execution point is reached (as a function of suitable variables representing the initial condition) then I'm doing it wrong
I also believe in single loop entrance, single loop exit, so to achieve this condition, I have to work for a living. There are few viable solutions under these constraints, and none without clarity, sometimes by means of a profusion of well-named boolean variables (that transcend almost to literacy).
CMU is onto something here. I'd replace everything I know about OOP with one course on how to write a formally provable exception-safe generic container with iterator: OOPS 101.
If only Dijkstra were alive today, he'd write one acidic chapter of one acidic book on the subject, and I'd be enlightened forever.
In my toolkit, OOP is good for exactly one thing: eliminating ugly repetition of manifest switch-case statements (ORR: one roundhouse rule), if it can't be resolved at compile time through genericity.
We donâ(TM)t just want our mobile devices to work, we demand it.
Tell me why the cruel, popular kids were spit-balling the geeks, when this human pocket protector with the swank haircut was roaming free? Sense of priorities in life: off scale low.
Actually, what we really demand are subsidized handsets. After that deal with the devil, we're pretty much powerless to influence any other aspect of how the system works.
Gas taxes have always apportioned the road tax unfairly ...
You started off pithy, then spilled a lot of works on nothing much.
I suppose you're taking into account that gasoline has an effective negative tax, and pretty much always has in America. Have you ever noticed that the countries which consume the most petroleum also have the most wealth? The value of a barrel of oil is more than we pay. This is where the excess wealth comes from.
All it takes to maintain this populist subsidy (gas in America equates to beer and bread in Europe) is a trillion dollar war here and there. And gosh knows how equitably those are financed.
But getting back to contact patches and rolling resistance, we should do a study on that.
Because of network effects it makes more sense to regard the highway system as a sunk capital cost, but who is to quibble.
Market Cap (as of this post)
Microsoft 317 Bil
Chair Man -100 Bil
Apple 168 Bil
Turtleneck 150 Bil
There, fixed that for ya.
Love the way the editor counts any kind of spendy gadget as a PC. I think he was counting PKs: personal kiosks. Easy mistake to make when you conduct census by credit card.
Apple has always been the King of Lilliput. I've seen many expensive Apple computers boat-anchored over the years out of Lilliput envy: no room for expansion here. Apple needed weeny and white the same way Schindler needed war and women.
Ultimately for Apple, the walled garden is a growth-limiting move: by definition, the average person can't be cool. In their hermetic design philosophy, they should be careful what they wish for. Please god, make my prayers come true, but not until they finish clang/llvm C++0x.
Gulliver is dead. Long live the gullible.
Why are all of those shitty things true, inquiring minds would like to know. And what about the five whys?
Why do you need a cert to establish privacy (protect against eavesdropping)? Why can't the (one way) authenticity exchange take place *after* basic security is established.
Why is there no mode with encryption, but without the bother of an SSL certificate at all?
Why was it ever possible to send a password in clear text to begin with?
Australopithecus protocol designers, you have a lot of 'splain to do.
IE6 doesn't support HTML. It supports HTLM6 and is only used within corporate networks to access HTML6 legacy apps.
For browsing HTML on the public internet, these people need to run an HTML browser. So no problems there.
There's something about the phrase "bare metal" that triggers an amygdala release in most people, even people who were there and lived through it, and ought to know better though the potato peeler of hindsight.
We all know the story. Right around when really cool things become possible there's an outbreak of mass hysteria, with every hardware vendor and software library scrambling for momentary glimpses of nirvana (and market traction), with swollen trade rags tarting legions of pretenders in pancake drag; the entire industry begins playing the Jonestown edition of "Where's Waldo?"
I recall in particular some of those early 3D video cards awarded hot scores for performance breakthroughs deserving five hot turds for advances in low-pass filtering of the rendered pixel stream. You know, the 4x4 analog mud filter. But the heavy benchmark breathers barely seemed to notice the visual stench.
Sure, no one wants to return to the sketchy birth scene of a technology that's only made it halfway out of the birth canal. Some people hear "bare metal" and can't get past traumatic recollections of delivery forceps.
Eventually that day comes where Joe Radome paystud can afford to sacrifice ultimate performance in order to work twice as fast on top of an API that provides some shelter and refuge from the carnage of innovation. At this juncture, even poser pixels have spiffy RAMDACs. The wild west bifurcates into suburbs and scissorhands. Elite coders stick it out on the cactus mesas. The moon-shot is a harsh mistress, but there's glory in it; a sapho-stained gore-fest crosses the Rubicon into adolescent ground truth.
Less remarked upon is the comfortable third age: when the underlying hardware has become so powerful, that the fat API sheltering you from the gory details hinders what it abets. Every API begins life with the mandate to bring order to chaos. Later we regard the heroic efforts of developers leaping into the line of fire as "legacy cruft". The soul of the machine is steeped in blood sacrifice. There's a thin red line between pragmatism and incompetence. If only that API could talk, what stories it could tell.
Fast forward to Jetsonville, a retro fetish won't shackle you to kilobyte sample-buffer backflips, or optimizing SNR on a 16-bit integer DSP. Radial tires are here to stay, man. All the same, not every advance is a step forward. Floaty-boats from 1950-1970 had the plush suspension to conceal other engineering faults though mock levitation. Those faults are gone and no-one thinks that floaty-boat suspension is the only thing protecting the industry from Mad Max IV. A little agility greases the pavement.
I think in modern video cards the pain is not so much in Grangerford versus Shepardson pipeline architectures, but the extreme variation in resourcing and optimal orchestration. Isn't this one of the problems that Apple is attacking with clang/LLVM? It certainly gives me a slight tingle of bare metal blood lust.
In R, I've started to play with the Rccp and inline packages. Welcome to the bare-metal luxury resort. Barstool PTSD greybeards need not apply. Hey dude, sometimes the bare metal is 18-10 stainless or aircraft aluminum. You don't always get tetanus. You have to stop for a moment when someone hands you the chainsaw of yesteryear to ask which end of the chainsaw is being offered up and reflect on the general era of manufacture.
What Doom never taught you.
Make no little plans. They have no magic to stir men's blood.
And gentlemen in England now-a-bed
Shall think themselves accurs'd they were not here,
And hold their manhoods cheap whiles any speaks
That fought with us upon Saint Crispin's day.
There's something to be said for squeezing DirectX out the pinhole.
But, your honour, I was surfing barelylegal.com not barelylegal.xxx .
Surely someone will succeed with such a flea bargain.
P.S. It's amazing how much markup is conveyed by tone of voice.
It's news for nerds when someone discovers a new math theorem and you click on the preprint.
It's news for nerd groupies when the preprint is hard to find or only exists behind a paywall.
No preprint == no story.