<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8891277981056105369</id><updated>2012-02-11T12:22:33.154-05:00</updated><title type='text'>Dr. Codd Was Right</title><subtitle type='html'>Occasional musings on the primacy of the relational model, database, quants and silliness of all things xml.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default?start-index=101&amp;max-results=100'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>221</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4463241874250319567</id><published>2012-02-09T21:19:00.003-05:00</published><updated>2012-02-10T09:37:57.263-05:00</updated><title type='text'>R We to Delphi Yet?</title><content type='html'>Well, thanks to R-bloggers, I found &lt;a href="http://blogs.oracle.com/R/entry/what_is_r"&gt;this Oracle page/blog&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;The money quote:&lt;br /&gt;"Oracle R Enterprise lifts this memory and computational constraint found in R today by executing requested R calculations on data in the database, using the database itself as the computational engine."&lt;br /&gt;&lt;br /&gt;Tres interessant.  Now, that sounds like they're saying this will be PL/R for Oracle.  Not that I'm in the market for Oracle Enterprise, of course.  If they make it available for the free as in beer version of Oracle; that I'd be interested in.  (Miss Morris would be so bent by my ending a sentence a preposition with.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4463241874250319567?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4463241874250319567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/r-we-to-delphi-yet.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4463241874250319567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4463241874250319567'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/r-we-to-delphi-yet.html' title='R We to Delphi Yet?'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3143545494781211415</id><published>2012-02-08T15:51:00.000-05:00</published><updated>2012-02-08T15:51:58.371-05:00</updated><title type='text'>Camel Passes Through Eye of Needle!</title><content type='html'>The Brave New World I've been talking about makes high normal form database centric applications all the more appropriate.  I know of at least two extant applications which implement this way.  That said, the issue remains:  what will the interTubes infrastructure look like in two years and further, and what sort of RDBMS architecture best exploits it?  It's worth noting that there is precedent; Bill Gates got very rich by targeting software to not yet available hardware.  That said, some comments on some comments.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Chris]: [Robert asserts] threads are more efficient, processor-power-wise to spin up than processes, and therefore if you insist on a single-threaded multi-process model, you can't have sufficient performance to make your database system relevant.&lt;br /&gt;&lt;br /&gt;No, that's not exactly what I said.  The issue is lost cycles as one moves down to a single thread.  It's more about the number of clients that can be supported "simultaneously".  At one time I was also enamoured of thread count to execute queries in parallel; not so much now.  For reporting generally, and BI/DW specifically, sure.  But for OLTP, where my interest lies, not so much.  There, client count is what matters.  Clients run relatively discrete transactions on few rows; parallelism isn't much help for that sort of client.  Yes, to some extent I've changed my mind.&lt;br /&gt;&lt;br /&gt;Think of the issue this way:  if it were true that scaling down threads to one per processor/core yielded a scale up in performance equivalently (only one of two threads yields twice the performance on that last thread), then the question gets more difficult.  But threads and cores don't scale that way.  Such reverse scaling could only happen if the core's frequency increased as the inverse of threads active.  That just doesn't happen, you get a bin or two; that nasty frequency brick wall is the reason vendors have turned to multi-core and threads in the first place. &lt;br /&gt;&lt;br /&gt;It's a matter of relative performance, not absolute.  If the PG developers decide to not implement a threaded engine (some or all sub-systems), PG will inevitably be viewed as not worth the cost.  I never said that this would happen tomorrow.  Threading isn't a fad, but a hardware evolution.  As the quote from Intel states, that's where they intend to go.  Countering that is the massively parallel single thread/core machine, such as the Transputer or Thinking Machine or possibly an armada of ARM (which has been reported to be adding threaded cpu to its menu) cores on a chip.  Whether a *nix could better manage such a machine (as opposed to a threaded one) is up in the air; experience from the 1980's when parallel machines were all the rage suggests not (Amdahl's Law put an end to them, and is still in effect).  Some feel that the ARM armada will take down Intel.  Way too early to bet on that.  Couple that with the rapidly evolving web infrastructure, and we have a Brave New World where the interTubes is virtual RS-232 passed on virtual Cat-5; what's on the client end of the wire is just a terminal, prettily pixelated nevertheless only a terminal.  That evolution matters to how a RDBMS (and its applications) is optimally architected.&lt;br /&gt;&lt;br /&gt;Intel needed MicroSoft to bloat up its software in order to create demand for ever higher cycle count chips; it's the Wintel Monopoly for a reason.  Now that frequency is near a brick wall, clients are devolving from PCs to wrist computers and such, the likes of Intel can't count on Office to justify new chips (unless Steve's boys and girls can parallelize Office; I don't see goods odds on that).  Servers are pathologically multi-user, and therefore the logical vein to mine.  That's what's happening and will continue.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Chris}:  Instead things like network connection/teardown, command parsing, and, well, actual work dwarf process/thread startup cycles by several orders of magnitude.&lt;br /&gt;&lt;br /&gt;As I've said before, the main issue isn't process startup cycles versus thread, but all those cycles lost by running single threaded, which could be used for actual work.  All that network stuff gets kicked to the curb in the Brave New World anyway; that's a large measure of the point.  And, as above, the issue isn't just "startup cycles", but total processing cycles doing useful work.  Throw away all but one thread, and you throw away nearly (threads - 1 + (bin bump))/threads of useful work.  See &lt;a href="http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i7-2600k-i5-2500k-core-i3-2100-tested/17"&gt;this testing&lt;/a&gt;.  That's the issue.  They No Such Thing As A Free Lunch, and the cpu is about the most significant example.&lt;br /&gt;&lt;br /&gt;Which is precisely why client multi-plexing is superior; with a threaded engine, you get twice (or more) active clients without the falderal.  The comment on connection pooling reveals the same issue:  auditability and transaction integrity if nothing else.  You end up having to do all that manually, if at all.  While connection pools were initially at the database end, they are now most commonly in the web-server, and motivated by the (un)connectedness of HTTP.  Web server writers face the same issue as database server writers.  When I was building servlet/applet thingees in the late 1990's and early 2000's, we had to build quick and dirty poolers ourselves.  By about 2002, databases and web servers had integrated the support.  Had to happen.  &lt;a href="http://www.itjungle.com/mgo/mgo062602-story01.html"&gt;Here's an example&lt;/a&gt; for Tomcat.  Folks can, and do, argue about which piece of software should own the connection pool; I'll avoid that for now.&lt;br /&gt;&lt;br /&gt;What's missing from the comments is discussion of my main point:  with a threaded engine working on threaded (and likely with higher thread counts in the future) cpu's, high bandwidth connections, and client multi-plexing; one ends up with a RS-232 like environment.  While I haven't explored it, there's an environment named Opa&lt;A href="#one"&gt;&lt;sup&gt;[1]&lt;/sup&gt;&lt;/A&gt; (Wikipedia has a short article), which is said to include web server and database server all in one.  That's just begging for a fully connected infrastructure.  Ideally, and I haven't explored enough to know as I type, there would be a single "connection", from the client's perspective; Opa takes care of managing the database/web server interaction in a way which preserves transaction semantics and client identity.  &lt;br /&gt;&lt;br /&gt;Unless you've been building database applications from before 1995 (or thereabouts), which is to say only webbie thingees, the efficiency and user friendliness of *nix/RDBMS/RS-232/terminal is a foreign concept; just as it still is for mainframe COBOL coders writing to 3270 terminals, same semantics (I'll grant that javascript is more capable than 3270 edit language, and Wikipedia does it again, with &lt;a href="http://en.wikipedia.org/wiki/IBM_3270"&gt;this write up&lt;/a&gt;).  In the web age, AJAX was the first widely known (and possibly absolute first) attempt to get back to that future, then there is Comet.  Now, we have WebSocket, discussed in earlier posts.&lt;br /&gt;&lt;br /&gt;The Achilles heel of those *nix/RDBMS/RS-232/VT-X00 applications was the limit on the number of clients that could be accommodated since the client patch remained while the user kept a session.  The emerging hardware/infrastructure that I'm discussing may/should remove that restriction.  This also means that developers must heed the mantra, "the user doesn't determine transaction scope".  With HTTP (un)connectedness, that isn't much of an issue.&lt;br /&gt;&lt;br /&gt;With ever lighter clients, database centric (as opposed to coder's wet dream of client centric) applications become far more appropriate.  Databases which can support higher client count on a given hardware platform (through threading, that is) will eventually clobber those that can't.  That MySql, kind of OS, has threaded engines will make it difficult for other OS databases that don't.  The question will not be PG versus Oracle/DB2/SS but PG versus MySql.  While that's true today, the performance and configuration differences will only get greater over time.&lt;br /&gt;&lt;br /&gt;While I surely agree that writing a threaded server, of any kind, is far more difficult than letting the O/S take care of the details (by writing a process based server), it's clear that the cpu makers are going to threads for performance.  Think of this as a game of musical chairs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;A name="one"&gt;[1]&lt;/A&gt; There is this internship listed on their website (typos their's):&lt;br /&gt;&lt;br /&gt;Adding support for relational databases in Opa.  The Web developping platform Opa has so far concentrated on its own database engine as well as the connection to existing NoSQL databases.  The goal of this ambitious internship is to create the fundations of a framework for connecting relational databases to Opa (starting with MySQL).  Different levels of integration will be experimented and successively made available (roughly: an untyped low-level API, a dynamically typed API, and a statically typed API generated at compile time).  This internship requires excellent skills in functional programming (Ocaml, F#, Haskell, Scala) and a very good knowledge of the SQL language and its concepts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3143545494781211415?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3143545494781211415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/camel-passes-through-eye-of-needle.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3143545494781211415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3143545494781211415'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/camel-passes-through-eye-of-needle.html' title='Camel Passes Through Eye of Needle!'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5860026539911720448</id><published>2012-02-06T16:53:00.000-05:00</published><updated>2012-02-06T16:53:08.344-05:00</updated><title type='text'>Mr. Sandman, Bring Me a Dream</title><content type='html'>AnandTech has just &lt;a href="http://www.anandtech.com/show/5508/intel-ssd-520-review-cherryville-brings-reliability-to-sandforce/1"&gt;published its review of the Intel 520&lt;/a&gt;, driven by a customized (their firmware) Sandforce 2281.  Lots of useful information.  See, in particular, the very end of the review.  The main point is whether this means the end of Intel SSD controllers.  Busy day in SSD land.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5860026539911720448?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5860026539911720448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/mr-sandman-bring-me-dream.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5860026539911720448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5860026539911720448'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/mr-sandman-bring-me-dream.html' title='Mr. Sandman, Bring Me a Dream'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-6193559209983891722</id><published>2012-02-06T15:04:00.000-05:00</published><updated>2012-02-06T15:04:09.298-05:00</updated><title type='text'>I Do Thee Wed</title><content type='html'>In unity, there is strength; or something like that (some say it's from Aesop, others from The Bible).  Well, Rambus just scarfed up Unity Semiconductor.  This is an interesting development, viewed from at least two angles:  1) Rambus has a history of attempting to proprietarize memory technology, and 2) if CMOx works, NAND vendors are in trouble.&lt;br /&gt;&lt;br /&gt;According to the various write-ups, CMOx has been in development by Unity for nine years.  I found it about five years ago, and the technology was just ready to go.  Guess that part didn't work out.  Yes, this endeavor has mentioned Unity a few times over the years.  With an aggressive new owner, we could see a major course correction in storage.  An interesting point:  the Unity website still has a page devoted to a JV with Micron to manufacture PoC (my inference) devices on Micron fab.  Wonder what's going to happen to that?&lt;br /&gt;&lt;br /&gt;So far as point 1) goes, Rambus has been losing consistently over the last year or so in its attempts to enforce patents.  Taking on the NAND vendors won't be a walk in the park.  Micron, by the way, didn't settle and turn evidence against the other DRAM vendors; Samsung and others did.  Since much of the patents in contention has just been ruled invalid, I wonder how they feel?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-6193559209983891722?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/6193559209983891722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/i-do-thee-wed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/6193559209983891722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/6193559209983891722'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/i-do-thee-wed.html' title='I Do Thee Wed'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3078521742726421381</id><published>2012-02-05T13:33:00.002-05:00</published><updated>2012-02-05T13:33:47.992-05:00</updated><title type='text'>I Hate You, Diana Ross!</title><content type='html'>Newt and Mitty have proved that Triage would be a waste of time and effort.  I really wanted to build that thing, but SuperPAC money makes such an application irrelevant.  SuperPACs are "prohibited" from co-ordinating with campaigns, and vice versa, thus rendering control impossible.  Thanks a lot, Supremes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3078521742726421381?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3078521742726421381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/i-hate-you-diana-ross.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3078521742726421381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3078521742726421381'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/i-hate-you-diana-ross.html' title='I Hate You, Diana Ross!'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3256765224642290485</id><published>2012-02-03T16:24:00.000-05:00</published><updated>2012-02-03T16:24:18.531-05:00</updated><title type='text'>Damn You, Damocles!</title><content type='html'>The earlier thread related post engendered some comments that pooh-poohed the importance of threads going forward.  While the points were rational, in that not all of the engines mentioned are threaded in all subsystems on all platforms (and, I never said they were), the fact remains that threading, in addition to coring (if that's a real word), is the architecture we'll live with so long as cpu's are silicon based.  Lithography can only go so small, and power can only go so high, especially as feature size diminishes.  I really don't think that notion is up for debate.&lt;br /&gt;&lt;br /&gt;What can be debated is whether a single threaded engine, all subsystems that is, can keep up with threaded engines, some or all subsystems.  The answer, in the limit, is no.  Eventually, the fork in the road will split the performance paths just too widely to make even a "free" engine worth the money.  Will that happen next year, or within five?  Five seems more likely, except that we're working, whether it's recognized or not, in a different Moore world.  &lt;br /&gt;&lt;br /&gt;Moore's actual observation was that processors would double in productivity (measured in $$$) about every 24 months.  He didn't predict anything about feature size, per se.  He did take into account that the Law derived from feature shrinkage, but from a financial point of view.  Intel is leading the pack in implementing hardware threading across the board, no question; although not in thread count.  It is equally unquestionable that clients, more and more phone-ish devices, are inherently limited in power, given the physical size limits.  Given Amdahl's Law and inherently limited power, the client isn't a solution to the database power situation.  In other words, success going forward will rest with those who *do* go Back to the Future, but not by ignoring threading.&lt;br /&gt;&lt;br /&gt;With bidirectional "small" clients (AJAX, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/11/07/html5-web-sockets-changes-the-scalability-game.aspx"&gt;WebSockets&lt;/a&gt;, et al) talking to servers a la *nix databases to VT-X00 terminals, it behooves us to look back at how those servers functioned, since they are the paradigm which leverages the current, and evolving, hardware.  As interTubes communication behaves more and more like RS-232, there is a maximally efficient way to use this.  Jamming lots o data on the line (and leaving logic hanging out there, too) isn't it.  The network of tomorrow is much like the client/server in-a-box environment of the first instance.  One might argue, tee hee, that The Cloud is uber-centralized data and that clients are/will be relatively passive devices; very much like a VT-220 I fondly remember.  More to the point, with a client/server in-a-box paradigm (which can now be achieved with WebSockets and such) we have a patch of memory for the server, and another patch for the client, with the screen/terminal/smartphone/whatever on the other end of a wire.  The screen only has responsibility for display and input.  With proper NF and DRI, there's very little active code in this server resident client.  Schweeeet.  But, as the previous experience demonstrates (if you've actually been there), all edits are done, input box by input box, in real-time against the live datastore; the VT-X00 are referred to as "character mode" devices, as opposed to the "block mode" 3270 mainframe terminals and (regular) HTTP clients of today which re-connect to send a screen's worth of input.  Schweeeeet.  All the client does is paint the screen and ship the input back.  Schweeeeeeeet.  Coders??  We don't need no stinkin' (and do they ever) coders!!&lt;br /&gt;&lt;br /&gt;Each of those client patches can run on a thread.  Give up on threads, and you give up on half your capacity (or more); it's not just about how much faster a thread switch is than a context switch.  &lt;a href="http://www.overclockers.com/intel-i7-2600k-sandy-bridge-review"&gt;Here is a schematic&lt;/a&gt; (about half way down the page) of the i7; a core (cpu) is about 10% of the real estate, or the transistor budget.  In other words, while feature size has diminished over the years thus pushing up the transistor budget, not much if any of that largess has gone to instruction set implementation.  Current Intel chips don't even implement X86 instructions in the hardware, at all (appears that X86 native execution began to disappear with the P4; thanks to Andrew Binstock).  So, we get more RISC cores/threads.  Here's an &lt;a href="http://computer.howstuffworks.com/nehalem-microprocessor-microarchitecture4.htm"&gt;Intel thought&lt;/a&gt;:  "[T]he multithreading capability is more efficient than adding more processing cores to a microprocessor."&lt;br /&gt;&lt;br /&gt;When asked in the 1970's why his machines were so much faster, Cray said, "shorter wires".  That remains true; certainly cpu designers are quite aggressive in the pursuit as they jam evermore features on nanometer long wires.  Why software folks continue to think that longer wires are smarter is puzzling.  Even if McNealy had been right that the network is the computer (for a local engineering net, not so much the interTubes), there's still the problem of reconciling all those nodes.&lt;br /&gt;&lt;br /&gt;While Intel cpu's mostly are two threads/core, others have &lt;a href="http://en.wikipedia.org/wiki/Comparison_of_CPU_architectures"&gt;up to eight&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, what margin of advantage is there to "turbo" mode at the thread level?  Turns out, there is a bit of it, with the &lt;a href="http://www.techarp.com/showfreebog.aspx?lang=0&amp;bogno=414"&gt;current Intel chips&lt;/a&gt;:&lt;br /&gt;"When there are only two active threads, the Intel Core i7 will automatically ramp up two of its processing cores by one speed grade or bin (133 MHz). When only one thread is active, the Core i7 will ramp up the sole active processing core, not by one bin, but by two bins (266 MHz). However, if there are three or more active threads though, the Core i7 processor will not overclock any of its processing cores."  Not a lot, compared to turbo at the core level.  So, I still predict that ignoring thread support in the cpu is a losing proposition.&lt;br /&gt;&lt;br /&gt;Here's a &lt;a href="http://sqlblog.com/blogs/linchi_shea/archive/2012/01/22/performance-impact-hyperthreading-on-intel-westmere-ep-processors-x5690.aspx"&gt;new posting testing threading in SQL Server&lt;/a&gt;.  While not a runaway, in virtually all test cases, threading improved performance.  Now, SQL Server in default mode, is a locker based engine, while Postgres is MVCC, so the engine mechanics might have an effect.  Given that MVCC databases promise no conflict between readers and writers, one should expect that those sorts of databases should gain more from a threaded engine than a locker; threads stay active.&lt;br /&gt;&lt;br /&gt;While it doesn't explicitly compare Oracle on a process OS versus a thread OS, &lt;a href="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=8&amp;ved=0CGoQFjAH&amp;url=http%3A%2F%2Ftoadworld.com%2FPortals%2F0%2FGuyH%2FArticles%2FOracle%2520Parallel%2520SQL%2520Part%25201.pdf&amp;ei=XYYlT9TbLeTL0AGBrOjdCA&amp;usg=AFQjCNFvOkHP8O7gVR7DttBUXkdlD3seOg"&gt;this paper&lt;/a&gt; does discuss the advantages, and methods of use, of parallelism and threads.  Oracle and Postgres are both MVCC, although the implementations are different.  And, &lt;a href="http://www.stanford.edu/dept/itss/docs/oracle/10g/win.101/b10113/architec.htm#i1005670"&gt;this is a Stanford&lt;/a&gt; paper discussing the Oracle Windows thread model.  Making comparisons between Windows and linux (or any specific *nix) is difficult, in that what we want to know is whether a "good" thread implementation is better than a "good" process implementation, for an otherwise equivalent OS.  &lt;br /&gt;&lt;br /&gt;Cut to the chase.  Since DB2 switched to a threaded engine from a process engine, there ought to be some evidence on the interTubes as to whether this was a Good Thing.  &lt;a href="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=13&amp;ved=0CEwQFjACOAo&amp;url=http%3A%2F%2Fwww.gsefr.org%2Fgroupe-de-travail-db2-udb%2Fcomptes-rendus-des-reunions-du-groupe-db2-luw%2Fidug.db297perf.ppt&amp;ei=WYklT5qwEar50gGkuKH0CA&amp;usg=AFQjCNGUjWvQituQ9tHNQ5aAPaS8MPJjXw"&gt;This is a presentation by Serge (guru to DB2 weenies)&lt;/a&gt;, see slides 6, 15, 16.  And, &lt;a href="http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.wn.doc%2Fdoc%2Fc0051435.html"&gt;this is the IBM justification&lt;/a&gt;.  Another example:  &lt;a href="http://www.saptechno.com/sap-notes.html?view=sapnote&amp;id=1451361"&gt;this is a paper&lt;/a&gt; by SAP for DB2/LUW on HP-UX (not the most popular *nix), note point 1. under "Operating System".  IBM didn't move to a threaded model for yucks; they've been treating LUW as red-headed stepchild for so long that any significant expense would require significant bang for the buck.  Finally, at long last, &lt;a href="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=8&amp;ved=0CIABEBYwBw&amp;url=http%3A%2F%2Fwww.mwdug.org%2F2009QUARTERLY%2Fmedia%2FMathiasHoffmann_OS%2520Thread%2520Monitoring%2520for%2520DB2%2520Server.pdf&amp;ei=9LElT7bpFqPW0QH6v63mCA&amp;usg=AFQjCNHVx3KJdZeNLNcBqrBP6u6edpiXxA"&gt;a recent presentation&lt;/a&gt; on the new threaded DB2.  Note slide 17.&lt;br /&gt;&lt;br /&gt;We need two additional pieces to get the most out of the system:  multiplexed clients and fast swap to enable the clients to not stall.  &lt;a href="http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%2Fcom.ibm.perf.doc%2Fids_prf_127.htm"&gt;Here's IBM's take&lt;/a&gt; on multiplexing.  Others can do likewise.  The way to keep things running smoothly is Sacrificial Swap&lt;sup&gt;©&lt;/sup&gt;, by that one means using SSD as swap on the database and/or web server machine.  Since SSD have determinate lifetimes, more cliff like End Times than HDD's decay slope, simply replace the swap drive periodically.  Swap on SSD provides vastly better performance.&lt;br /&gt;&lt;br /&gt;On a related note, &lt;a href="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=85&amp;ved=0CGAQFjAEOFA&amp;url=http%3A%2F%2Fwww.comp.nus.edu%2F~vldb2010%2Fproceedings%2Ffiles%2Fpapers%2FI06.pdf&amp;ei=C5IlT4HxB8P30gHbhvHzCA&amp;usg=AFQjCNEnPXqvPHM3zwwPFJkEfEGHHm0Gpg"&gt;this is an IBM (mostly) paper&lt;/a&gt; on bufferpools (what DB2 calls them) and SSD.  Of note, this isn't using SSD as primary datastore, but only in support of bufferpools.&lt;br /&gt;&lt;br /&gt;My conclusion:  threaded models have the lead, and they're not likely to lose it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3256765224642290485?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3256765224642290485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/damn-you-damocles.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3256765224642290485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3256765224642290485'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/damn-you-damocles.html' title='Damn You, Damocles!'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4219898750103530230</id><published>2012-02-03T15:18:00.004-05:00</published><updated>2012-02-04T14:17:35.246-05:00</updated><title type='text'>Lies, Damn Lies, and the BLS [updated]</title><content type='html'>That's Bureau of Labor Statistics.  The headline over the column in my dead trees version of the NY Times reads:  "Stagnant Job Growth is Expected in Report".  Yet, the number this morning was glorious.  How does that happen?  Why did the numbers come in so much better than expected?  Were the numbers figured?  Let's see whether we can find out.&lt;br /&gt;&lt;br /&gt;First:  these numbers are estimates from sample surveys.  The only population number related to employment is the weekly UI filing number.  Everything else is an estimate from some kind of survey.&lt;br /&gt;&lt;br /&gt;Second:  as every fourth grader knows, a percent is just a decimal fraction with the point shoved over two places to the right.  And every fourth grader knows that a percent goes up whenever the numerator goes up or the denominator goes down.  Or both.&lt;br /&gt;&lt;br /&gt;This is real time, in the sense that I haven't looked at the numbers.  I'm going to go out on a limb and say that, at least, the denominator went down.  That number is the estimate of the total labor force.  That number has been declining through 2011 - 2012 (&lt;a href="http://stats.bls.gov/news.release/empsit.t01.htm"&gt;here is the table&lt;/a&gt; and &lt;a href="http://stats.bls.gov/news.release/empsit.t05.htm"&gt;this is the almost raw data&lt;/a&gt;), the difference being seasonal adjustment.  Seasonal adjustment of economic data is still controversial.&lt;br /&gt;&lt;br /&gt;Now, have a look at &lt;a href="http://stats.bls.gov/news.release/empsit.t16.htm"&gt;the next table&lt;/a&gt;.  What we see is that the number not in the labor force is up, as is the number working multiple jobs.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stats.bls.gov/news.release/empsit.t15.htm"&gt;Table A-15&lt;/a&gt; is where the doubters gather.  U-6 is the number cited by both Left Wing and Right Wing sympathizers as justification for either blaming all those lazy poor people who can't seem to stay put in Mitt's safety net, or blaming Mitt and Friends for slicing away at the safety net.  The not seasonally adjusted is the number which matters.  And it's up a tad from December to January.&lt;br /&gt;&lt;br /&gt;I rest my case.&lt;br /&gt;&lt;br /&gt;[update]&lt;br /&gt;Today's Times has a longer piece, complete with interviews, which I don't get to do from my drafty Frost Belt garret.  As well, I see that I wasn't sufficiently explicit about seasonal adjustment.  What I expect happened is that the adjusted numbers (the ones nearly always quoted) overstate the level of employment.  One of the reasons to adjust the numbers is truly seasonal:  weather is lousy here in the Frost Belt in January, and the purpose of adjustment is to make a level playing field, month to month.  Since the Frost Belt last month was more like October (the January "season" was largely absent), the quoted number got a double dose.  I don't expect to see it continue, alas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4219898750103530230?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4219898750103530230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/lies-damn-lies-and-bls_03.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4219898750103530230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4219898750103530230'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/02/lies-damn-lies-and-bls_03.html' title='Lies, Damn Lies, and the BLS [updated]'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-6527518918859058754</id><published>2012-01-25T15:57:00.002-05:00</published><updated>2012-01-25T15:57:57.125-05:00</updated><title type='text'>Don't Thread On Me</title><content type='html'>This &lt;a href="http://postgresql.1045698.n5.nabble.com/Multithread-Query-Planner-td5143643.html"&gt;thread was mentioned&lt;/a&gt; in a performance sub-group posting.  Give it a read.&lt;br /&gt;&lt;br /&gt;Back?  It means, so far as I can see, that PG is toast.  It will fall down to being the cheap and dirty alternative to MySql, which even has, at least two, multi-threaded engines.  DB2 switched it's *nix engine to threads from processes with release 9.5.  Oracle claims it for releases going back to 7 (I haven't tried to determine which parts or applications; Larry has bought so many tchochtkes over the years...).  SQL Server is threaded.&lt;br /&gt;&lt;br /&gt;Given that cpu's are breeding threads faster than cores, PG will fall into irrelevance.  Too bad, it's kind of a nice database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-6527518918859058754?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/6527518918859058754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/dont-thread-on-me.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/6527518918859058754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/6527518918859058754'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/dont-thread-on-me.html' title='Don&apos;t Thread On Me'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-319526602299873843</id><published>2012-01-24T19:44:00.000-05:00</published><updated>2012-01-24T19:44:45.916-05:00</updated><title type='text'>Can't Find My Way Home</title><content type='html'>I have a second fifteen seconds of fame over on Simple Talk, &lt;a href="http://www.simple-talk.com/sql/database-administration/relational-databases-and-solid-state-memory-an-opportunity-squandered/"&gt;here&lt;/a&gt;.  In the course of the commentary, I was asked why Google is a toy application, along with Facebook and Twitter.  What follows is a much longer version of what I posted.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Look closely at Google, and all you've got left is a massive advert agency.  Adverts are important to life?  Advert engines advance civilization?  Of course not.  We Yanks are fascinated with "Mad Men" in a tee-hee sort of way, yet base more of our system building, and one might assert our economy, on selling adverts.  Rather than making things for ourselves, we make insubstantial playthings.  Psychologists call this behaviour cognitive dissonance. &lt;br /&gt;&lt;br /&gt;Decisions, and the actions which follow from them, are manifestations of value judgments.  To the extent that our systems building efforts concentrate on toys rather than meaningful (for some definition of that) systems, we've revealed what it is we value.  Pixelated toys.  I'd love to hear an argument that Facebook and Twitter etc. represent advancement of civilization.  And, no, they're not improvements in communication.   &lt;br /&gt;&lt;br /&gt;The share price just got spanked because they've not kept up the advert machinery, consuming all advertising on the planet.  If they manage that, then what?&lt;br /&gt;&lt;br /&gt;Facebook just arbitrarily skunked its users.&lt;br /&gt;&lt;br /&gt;These are toy applications since their only point is to support play.  They encourage adolescent tribalism, which the planet doesn't need in excess.  The vehicle is fancier than passing notes in class back when your grandfather was a kid, but it's the same behaviour only prettier to do.&lt;br /&gt;&lt;br /&gt;For a more formal, and literate, take on the issue, read up Nick Carr.  He also has an infrequently posted blog.&lt;br /&gt;&lt;br /&gt;From a purely systems point of view, Google is a re-hash of code/file systems from the 1960's.  Size isn't distinguishing.  Read the Wikipedia write up on Map/Reduce.  &lt;br /&gt;&lt;br /&gt;Wikipedia is a more important piece of software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-319526602299873843?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/319526602299873843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/cant-find-my-way-home.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/319526602299873843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/319526602299873843'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/cant-find-my-way-home.html' title='Can&apos;t Find My Way Home'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7504428291629138333</id><published>2012-01-16T11:23:00.003-05:00</published><updated>2012-01-16T16:10:45.076-05:00</updated><title type='text'>What Language Do You Spook?</title><content type='html'>&lt;a href="http://www.drewconway.com"&gt;Drew Conway&lt;/a&gt; is my kind of guy:  a spook.  Now, before any of the uber-PC folk get their backs up, an alternate definition of the word:  colloquial for intelligence operative, origination unknown.  I don't always put it on my resume, but I spent some time in the 1980's in Jack Anderson's shop.  Officially, an intern; I did get paid some money.  That's likely because I brought in a two column story (a story getting more than one was highly unusual) on the CIA running guns from Argentina (if memory serves) to Ghana.  Corky Johnson worked on it with me.  This was the time of Iran-Contra and the like.  The story falls into the "like" category.  We could never figure out why the Post didn't follow-up.  I still have the galleys.&lt;br /&gt;&lt;br /&gt;So, I was surfing through R-bloggers looking for background using R with Powerpoint; I know, yucky mucky.  But I'm supposed to chat up some folks about that today, if they bother to call.  In the search results is a long piece by Mr. Conway on proper &lt;a href="http://www.drewconway.com/zia/?p=1582"&gt;data visualization&lt;/a&gt;.  Comes out against pie charts.  Good for him.  I highly recommend it; he manages a bit of humor, when offering that a graph should have a 140 character footnote.  Such a twit!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7504428291629138333?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7504428291629138333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/what-language-do-you-spook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7504428291629138333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7504428291629138333'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/what-language-do-you-spook.html' title='What Language Do You Spook?'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4731606315907015642</id><published>2012-01-13T11:02:00.000-05:00</published><updated>2012-01-13T11:02:25.458-05:00</updated><title type='text'>Don't Be a Dupe</title><content type='html'>The post on the NoSql dust up from Postgres led to me adding a comment on one of the posts, and now Chris Travers has commented on my post (ring around a rosy?).  You can find his comment &lt;a href="http://drcoddwasright.blogspot.com/2012/01/be-kind-to-idiots.html"&gt;here&lt;/a&gt;(scroll to the bottom).&lt;br /&gt;&lt;br /&gt;Rather than waste the opportunity in a comment, and because I truly believe it's worthwhile on it's own, herewith.&lt;br /&gt;&lt;br /&gt;I do not believe that there is any use case for NoSql, on technical grounds.  That is to say, there are no use cases where NoSql provides a superior solution to the RM/SQL (henceforth, just SQL).  I do believe that NoSql is chosen 99.44% of the time just because it implements Programmers' Perpetual Employment Paradise.  No database, all COBOL forever; well, java or C++/#.&lt;br /&gt;&lt;br /&gt;The reason SQL is always superior is because:&lt;br /&gt;- it implements the smallest real data footprint to logical data footprint&lt;br /&gt;- it enforces logical data integrity&lt;br /&gt;&lt;br /&gt;One of the hot new technologies, over the last few years, has been data deduplication.  Dedupe is just an ad hoc approach to 5NF, with none of the benefits of SQL; get rid of the redundancies.  But there's no structure or control.  One of the objections to dedupe tech is the fragility of it.  How much of a glitch will cause data corruption, and so on.&lt;br /&gt;&lt;br /&gt;Now, for non-transactional datastores with no logical structure, then SQL databases probably don't matter much.  If one considers that a use case, then OK by me.  I wouldn't spend my time with such an application, that's for sure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4731606315907015642?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4731606315907015642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/dont-be-dupe.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4731606315907015642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4731606315907015642'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/dont-be-dupe.html' title='Don&apos;t Be a Dupe'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4953195392620704388</id><published>2012-01-07T17:43:00.000-05:00</published><updated>2012-01-07T17:43:42.235-05:00</updated><title type='text'>Color Me Happy</title><content type='html'>I posted the following comment on Offensive Politics' post on its graphic presentation of Iowa results:&lt;br /&gt;&lt;br /&gt;This post got referenced on Revolutions Analytics, and garnered a comment that the (default) HCL scale used by ggplot is faulty. I commented that the closeness of the vote is perfectly reflected in the color scale; the confusion is correct.&lt;br /&gt;&lt;br /&gt;So, off I went to Wickham's ggplot2 book, chapter 6 on scales. scale_full_gradient2() and library(vcd) provide ways to impose non-linear color scales. At first, a good thing. But I wonder. There's been a good deal of discussion, here and there, with regard to spinning data. It would seem that using a non-linear color scale is just as bad as fiddling with axis scales.&lt;br /&gt;&lt;br /&gt;What do you think?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I mentioned this post earlier, which was then followed by its linking from Revolution Analytics.  One of the prime directives of professional statistics, as distinct from polemic number spewing, is that form shouldn't affect perception.  In other words, don't fiddle the picture to plant an idea not supported by the data.  In this case, the original commenter complained that the color scale made it difficult to distinguish among the counties' vote winners.  My view, so far at least, is that the defaults used by R/ggplot for this implementation rightly reflect the similarity between Romney and Santorum.&lt;br /&gt;&lt;br /&gt;The default color scale is, essentially, linear.  The alternatives mentioned are decidedly non-linear.  Now, the notion of linearity with respect to color scales may be problematic, but the ggplot defaults do implement a notion of linearity, in that two opposite colors are blended along a linear mixing.  &lt;br /&gt;&lt;br /&gt;Here's examples from Wickham's &lt;a href="http://www.scribd.com/doc/67608089/71/Colour"&gt;ggplot2 text&lt;/a&gt;.  I suppose it was uploaded legally.  I hope.&lt;br /&gt;&lt;br /&gt;This is the various color scalings:&lt;br /&gt;&lt;!-- HTML Codes by Quackit.com --&gt;&lt;br /&gt;&lt;div style="border:1px solid black;width:400px;height:300px;overflow-y:hidden;overflow-x:scroll;"&gt;&lt;a href="http://htmlimg1.scribdassets.com/61bq8qbi8160rux/images/115-7f366d2881.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="230" width="684" src="http://htmlimg1.scribdassets.com/61bq8qbi8160rux/images/115-7f366d2881.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;As can be seen, the color gradient in the right two alternatives is far more extreme.  I'm still not convinced that one should do such fiddling.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4953195392620704388?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4953195392620704388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/color-me-happy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4953195392620704388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4953195392620704388'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/color-me-happy.html' title='Color Me Happy'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-6132886337894646351</id><published>2012-01-06T09:24:00.002-05:00</published><updated>2012-01-06T09:24:53.201-05:00</updated><title type='text'>You Rook Mahvelous</title><content type='html'>A couple of other pieces are in the works, but &lt;a href="http://finance.yahoo.com/news/OCZ-Technology-Marvell-Debut-pz-4233980448.html?x=0"&gt;this just announced&lt;/a&gt; from OCZ and Marvell.  I didn't see any mention of exclusivity in the PRs, but &lt;a href="http://www.anandtech.com/show/5306/ocz-marvell-create-native-pcie-ssd-controller-zdrive-r5-to-debut-next-week"&gt;AnandTech says so&lt;/a&gt; and mentions what caught my eye when reading the PR:  it's PCIe on x1 channel.  What's up with that?  There's that line from "The King and I" (film version, at least), that goes "A bee flits from flower to flower...".  OCZ is sure doing that with regard to controller.  &lt;br /&gt;&lt;br /&gt;Last I knew, PCIe SSD were controller-less (in the silicon sense), off-loading control to code run on the cpu.  Depending on who one follows, this is either a good thing or a bad thing.  Said code is written by the SSD vendor (or bought in).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-6132886337894646351?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/6132886337894646351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/you-rook-mahvelous.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/6132886337894646351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/6132886337894646351'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/you-rook-mahvelous.html' title='You Rook Mahvelous'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1451444414274366899</id><published>2012-01-03T15:03:00.002-05:00</published><updated>2012-01-09T14:24:17.722-05:00</updated><title type='text'>Be Kind to Idiots [updated]</title><content type='html'>In the olden days, when I was a child, good parents instilled good values in their children.  One was to not make fun of idiots; being an idiot was not the idiot's fault.  Or, so the thought was.  We know different now.  Many idiots are so because they've chosen the path of ignorance, devolving further into idiocy.  We see this in politics and IT, specifically the nexus with RDBMS.&lt;br /&gt;&lt;br /&gt;I've been following the LedgerSMB postings (those that appear on the &lt;a href="http://www.postgresql.org/"&gt;Postgres site&lt;/a&gt;, anyway), because the structure is similar to that taken by &lt;a href="http://www.xtuple.com/"&gt;xTuple&lt;/a&gt;.  Both, to greater or lesser extent, espouse integrity in the database, as opposed to client application code.  Neither prevents editing in client screens, but both assert that the constraints, of record, are in the database; and can be duplicated in the client.&lt;br /&gt;&lt;br /&gt;One of the fascinating aspects of this approach will be, soon, the picture when the likes of WebSocket is routinely available.  Data centralization is always the future.  When the IBM PC was first released, it was as a low powered programming work station; the "user" would use it to write "non-professional" code to suit his (not many hers at the time) needs.  Scientists and engineers were the market, and IBM estimated 2,500 per year would sell.  Then, along came 1-2-3, and the computer appliance was born; only now have I finally been vindicated in making that description.  Soon, Netware showed up, to connect all those independent PCs to printers and file servers.  The kodder kiddies really are convinced that The Cloud is something new.  Some of them assert that it's really different this time; that this time it's about the cheapest hardware possible appearing like manna from heaven on demand.  Foolishness.  They'll find out, and another few hundred billion dollars will be wasted by the Fortune X00 chasing this as was when they chased J2EE applications.&lt;br /&gt;&lt;br /&gt;From the very beginning, Dr. Codd had to cram the RM down the throats of heel dragging coders, who willfully ignore the fact that logic in code is just data compares made complicated.  Do the logic with data where it lives.  But, NO, that threatens the rice bowl of all them coders.&lt;br /&gt;&lt;br /&gt;So, Chris Travers (of, and perhaps all of, LedgerSMB) has been posting about the application structure.  &lt;br /&gt;&lt;br /&gt;He published &lt;a href="http://ledgersmbdev.blogspot.com/2011/11/case-for-intelligent-databases.html"&gt;this post&lt;/a&gt; recently.&lt;br /&gt;This led to &lt;a href="http://ledgersmbdev.blogspot.com/2012/01/reply-to-tony-marstons-advocacy-of.html"&gt;the following post&lt;/a&gt;.&lt;br /&gt;And that led to a &lt;a href="http://pyrseas.wordpress.com/2012/01/02/business-logic-in-the-database/"&gt;supportive post&lt;/a&gt; from Joe Abbate.&lt;br /&gt;&lt;br /&gt;Chris was too kind.  Just as Ron Paul shouldn't be taken seriously, neither should Tony Marston.  Neither has a clue, only zealotry.  Joe, to his credit, took up this quote:  "The database has always been a dumb data store, with all the business logic held separately within the application."  His response was also too kind.&lt;br /&gt;&lt;br /&gt;Marston has clearly never read, or if he did hasn't a clue what he read, Codd or Date.  His statement is only true of coders back to AutoCoder and COBOL, not databases.  As with the COBOL/VSAM/IMS folks that gave Dr. Codd the finger, Marston is just another guy who wants to keep writing lots of code, no matter how dumb that is.  Prior to Dr. Codd's RM/RDBMS, there was IDMS and IMS; network and hierarchical database respectively.  Both implemented logic in the database structure.  Moreover, in 1968/9, IBM released CICS, likely the longest lived TPM (transaction processing monitor).  A TPM does the read/write control for external code, largely COBOL with the IBM mainframes of the time.  So, Marston is wrong in toto.  Marston embodies the latter day Goths, who wish to take us back to the Dark Ages of their crude ancestors.  A lot like Ron Paul, come to think of it.&lt;br /&gt;&lt;br /&gt;The entire purpose of TPMs, pre-relational databases (IDMS, IMS, PICK), and RBDMS is to put data control with the data where it belongs.  That is a threat to the horde of coders.  Too bad.&lt;br /&gt;&lt;br /&gt;[update]&lt;br /&gt;For the record, I went back to see how the thread had gone, and couldn't keep my mouth shut.  You have been warned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1451444414274366899?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1451444414274366899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/be-kind-to-idiots.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1451444414274366899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1451444414274366899'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/be-kind-to-idiots.html' title='Be Kind to Idiots [updated]'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5470595898114064244</id><published>2012-01-01T15:18:00.002-05:00</published><updated>2012-01-01T15:18:51.686-05:00</updated><title type='text'>Back to the Future</title><content type='html'>As those who've been following this adventure since the beginning must know, one part of the journey down The Yellow Brick Road involves the nature of application execution.  I've been saying for many years, since long before I ever put fingers to blog, that the inevitable result of "progress" in application design is to replicate, albeit with pretty pixels, the world of *nix databases and the VT-100.  The reason is simple:  this paradigm provides the greatest control with the greatest ease of use.&lt;br /&gt;&lt;br /&gt;The continuing problem with actually getting there is the disconnected nature of http.  "Server push", as it's often called, hasn't been functional.  So, imagine my surprise to &lt;a href="http://www.artima.com/forums/flat.jsp?forum=106&amp;thread=339100"&gt;see this Eckel post&lt;/a&gt; on Artima.  &lt;a href="http://en.wikipedia.org/wiki/Websockets"&gt;Here's the Wikipedia entry&lt;/a&gt;, too.  The upshot of WebSocket is a terminal on a long wire to the database.  The winners in this world will be those who recognize that the high normal form database, with small bits of data per UI screen, will be the winners.  This paradigm supports centrally edited data, to any screen.  In other words, client agnostic.&lt;br /&gt;&lt;br /&gt;In due time, perhaps with my consulting advice, organizations will realize what WebSocket means.  There's that old joke:  "Doctor, it hurts when I do this."  "Don't do that."  The easiest approach to dealing with Big Data is to not build stupid flatfile datastores.  *nix databases, of high normal form, on multi-core SSD machines allow data to be sent to clients in whatever form needed.  Smaller is better, of course, but massive joined rows can be sent.  Not that one would want to, of course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5470595898114064244?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5470595898114064244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/back-to-future.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5470595898114064244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5470595898114064244'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2012/01/back-to-future.html' title='Back to the Future'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-304816437212946654</id><published>2011-12-24T14:18:00.000-05:00</published><updated>2011-12-24T14:18:39.619-05:00</updated><title type='text'>Head In The Cloud (or Somewhere)</title><content type='html'>Came across &lt;a href="http://seekingalpha.com/article/315712-the-only-2-ways-microsoft-can-avoid-being-dead-money-for-the-next-decade"&gt;this posting&lt;/a&gt; whilst surfing, with the following:&lt;br /&gt;&lt;br /&gt;"For example, one large package deliverer sees a 400% increase in its network traffic, database needs, and computing power over a single 45 day window. Utilizing a service such as Azure will allow them to pay for that excess capacity only in the 45 days it is needed, not the other 320 days a year when it is not utilized, but must be maintained, upgraded, and licensed."&lt;br /&gt;&lt;br /&gt;Why folks persist in believing that there is a Free Lunch up in The Cloud???  The notion that seasonal/repetitive demand spikes for IT resources are uniformly distributed over a time period (day/week/year) is just silly.  Yes, as a loss leader, a Cloud Vendor may choose to not add a Load Factor Penalty.  In the beginning.  But, that's not sustainable, because demand spikes aren't uniformly distributed.  Cloud vendors will make the clients pay for all that idle storage and cpu (and a nice profit on the idle riches), you betcha.  That package deliverer experienced the same spike as all of the retail chain.  And all of the energy vendors.  And so on.  It's Econ. 101, folks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-304816437212946654?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/304816437212946654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/head-in-cloud-or-somewhere.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/304816437212946654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/304816437212946654'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/head-in-cloud-or-somewhere.html' title='Head In The Cloud (or Somewhere)'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7708038136629245001</id><published>2011-12-21T13:07:00.000-05:00</published><updated>2011-12-21T13:07:01.691-05:00</updated><title type='text'>Icarus</title><content type='html'>The sky is falling.  Oracle reported down, a bit, but, in particular, didn't report above expectations.  Larry has been sly for a long time, in setting guidance low enough that bettering it is a piece of cake.  Not this time.  As I type, it's down 15%, and news is that much of the tech sector is getting the flu.&lt;br /&gt;&lt;br /&gt;The knee jerk reaction:  mortgage the farm and buy Oracle stock.  IIIIIIIIIIII'm not so sure this time.  Here's why.&lt;br /&gt;&lt;br /&gt;Oracle didn't get quite the *new* software sales and *new* hardware sales.  The latter is, by all accounts, due to customers waiting on the new machines during the quarter.  The former is more speculative.  The reports are vague.  My take:  given the aggressive pricing of Oracle RDMBS, ditto for MySql (yes, it's GPL, but Oracle blasted its support prices into the sky in the past year), and putting the screws to java adopters; folks are looking for a safer port.  &lt;br /&gt;&lt;br /&gt;On the RDBMS side, Postgres gets ever closer to Oracle, if you're not a Fortune X00 company (and even if you are, and building apps off the mission critical axis).  Mainstream pundits are crying that "Da Cloud, boss, Da Cloud" is putting Oracle in an untenable position.  It is said that cloud providers use dirt cheap components, soft and hard, and Oracle's RDBMS and Sun-ish machines are just too expensive Up There.  As if being cheap were the best way to make money!?  "Cheap goods sold dear" is an aphorism that's been around forever.  The Cloud is shaping up that way, and if so, I'd avoid Fortune X00 companies that chose to put *my data* Up There.  In this nascent era of Cloud, too many stories of wandering data to suit me.&lt;br /&gt;&lt;br /&gt;What's really stupid about Larry's ploy:  the Oracle RDBMS is built on an engine (the piece that actually does all the inserting and updating) which uses Multiversion Concurrency Control (MVCC, as it is known) which is better suited to the asynchronous nature of the Web/Cloud than the locker paradigm that most other (notably, not Postgres) RDBMS have been using for decades.  They've been backing in, so to speak, MVCC support recently, but none is a true MVCC database.  In other words, Larry has the proper mousetrap for the setting, but has managed to offend his customers.  But, that's Larry's way.&lt;br /&gt;&lt;br /&gt;Reports say that Oracle claims the shortfall is due to last minute non-signings.  If so, then this is an aberrant glitch.  Given that Fortune X00 companies are sitting on, by some accounts, more than $3 trillion, there's no macro reason to not buy new IT.  Unless you're a Fat Man yearning for Famine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7708038136629245001?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7708038136629245001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/icarus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7708038136629245001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7708038136629245001'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/icarus.html' title='Icarus'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2116062010419669867</id><published>2011-12-20T15:07:00.002-05:00</published><updated>2011-12-20T15:07:52.788-05:00</updated><title type='text'>A Warren-ted Search</title><content type='html'>One of the points "for further research" as I used to say when I was an academic, in the Triage exercise was using social media to measure outcomes.  R has a library, twitteR, (yes, R folks tend to capitalize the letter at every opportunity), which retrieves some data.  I was at first disinterested, since I don't have a twitter account.  Thankfully, twits can be gotten without being a twitterer.  Since Elizabeth Warren's campaign is just over the border, and sort of important in the grand scheme of things, I've been exploring.&lt;br /&gt;&lt;br /&gt;Here's the entirety of the R code (as seen in an Rstudio session) needed to return the twits (1,500 is the max, which will prove troublesome when the battle is fully engaged):&lt;br /&gt;&lt;br /&gt;&lt;div style="width: 400px; height: 260px; overflow-x:scroll; overflow-y:hidden; white-space:nowrap"&gt;&gt; library(twitteR)&lt;br /&gt;&gt; warrenTweets  &amp;lt;- searchTwitter('@elizabethwarren', n = 1500)&lt;br /&gt;&amp;gt; length(warrenTweets)&lt;br /&gt;[1] 9&lt;br /&gt;&gt; warren.Text  &amp;lt;- laply(warrenTweets, function(t) t$getText())&lt;br /&gt;&gt; head(warren.Text, 10)&lt;br /&gt;[1] "@elizabethwarren i hope you win agianst sen scott brown. the 99% r with u"                                                                  &lt;br /&gt;[2] "@elizabethwarren More $$$ coming your way!"                                                                                                 &lt;br /&gt;[3] "#HR3505 PAGING: @ElizabethWarren Help us!!!!"                                                                                               &lt;br /&gt;[4] "@elizabethwarren - not to worry, the only job Karl Rove ever got somebody was George W. Bush.  and look how that turned out."               &lt;br /&gt;[5] "RT @SenatorBuono: What an amazing turnout 4 a superstar. @elizabethwarren"                                                                  &lt;br /&gt;[6] "HELLO @ElizabethWarren ! PLEASE RUN as a 3rd party or Ind. FOR POTUS2012. Dems just threwSENIORS underthebus for the working tax cut! EXdem"&lt;br /&gt;[7] "@chucktodd  We hope 2011 will be remembered for something a LOT closer to home. #ows #OccupyWallStreet @ElizabethWarren #WARREN/PELOSI-2016"&lt;br /&gt;[8] "RT @SenatorBuono: What an amazing turnout 4 a superstar. @elizabethwarren"                                                                  &lt;br /&gt;[9] "What an amazing turnout 4 a superstar. @elizabethwarren"               &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The lines starting with  &gt; is the R code.  The lines starting with [x] are the output.  Here we have 9 twits.&lt;br /&gt;&lt;br /&gt;Now, what do we do with the text?  For that, I'll send you off to &lt;a href="http://jeffreybreen.wordpress.com/2011/07/04/twitter-text-mining-r-slides/"&gt;this presentation&lt;/a&gt; which came up in my R/twitter search (and is the source of what you've seen here), conducted in Boston.  Missed it, dang.  With slide 11, is the explanation of how one might parse the twits looking for positive/negative response.  By the way, even if you're not the least bit interested in such nonsense, visit slide 29.&lt;br /&gt;&lt;br /&gt;As I mentioned in Triage and follow-ups, getting the outcomes data is the largest piece of the work.  Simply being able to "guarantee" the accuracy of twitter (or any other uncontrolled source) data, given the restriction on returned twits and such, will require some level of data sophistication; which your average Apparatchik likely doesn't care about.  The goal, I'll mention again, isn't to emulate Chris Farley's Matt Foley and pump up a candidate no matter what the data say, but to find the candidate out of many most likely to win given some help.  Whether Triage would be useful to a single candidate; well, that depends on the inner strength of the candidate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2116062010419669867?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2116062010419669867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/warren-ted-search.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2116062010419669867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2116062010419669867'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/warren-ted-search.html' title='A Warren-ted Search'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3663387432710395640</id><published>2011-12-19T16:38:00.000-05:00</published><updated>2011-12-19T16:38:25.192-05:00</updated><title type='text'>Ya Can't Get Theah From Heah</title><content type='html'>I'm working my way through &lt;a href="http://www.amazon.com/Grammar-Graphics-Statistics-Computing/dp/0387245448/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1324330625&amp;sr=1-1"&gt;Wilkinson's graphics book&lt;/a&gt;, and right there, on page 404 (could there possibly be a better page for this?) is this:&lt;br /&gt;"The price paid for this efficiency is the loss of flexibility.  We cannot examine relations not represented in the hierarchies.  Navigation through OLAPs is quite difficult, which is why so many graphical models for representing them have been proposed."&lt;br /&gt;&lt;br /&gt;Now, this is a graphics coding guy; he created SYSTAT.  He's not, so far as I know, an RM guy.  But he gets it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3663387432710395640?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3663387432710395640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/ya-cant-get-theah-from-heah.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3663387432710395640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3663387432710395640'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/ya-cant-get-theah-from-heah.html' title='Ya Can&apos;t Get Theah From Heah'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3702815644066643042</id><published>2011-12-16T14:55:00.000-05:00</published><updated>2011-12-16T14:55:07.048-05:00</updated><title type='text'>Lies, Damn Lies, and Statistics</title><content type='html'>The Other-R folks have posted a &lt;a href="http://blog.revolutionanalytics.com/2011/12/emc-survey-differentiates-bi-and-data-science.html"&gt;recent entry&lt;/a&gt; which references an EMC paper (&lt;a href="www.emc.com/collateral/about/news/emc-data-science-study-wp.pdf"&gt;here if you follow the breadcrumbs)&lt;/a&gt; on the state of Data Analysis and Business Intelligence, from the point of view of practitioners.  The blog post makes some useful points, but misses some.&lt;br /&gt;&lt;br /&gt;I'm referring to the graph in the original post, which is on page 3 (in my screen) of the EMC paper.&lt;br /&gt;&lt;br /&gt;What this graph tells me, mostly, is that BI folks are still tied to MS, Excel in particular.  Data analysts, not so much; although they'll be tied to corporate policy in such venues.&lt;br /&gt;&lt;br /&gt;A few words about each.&lt;br /&gt;&lt;br /&gt;Data Storage:  SQL Server is tops, which means that most folks, in both camps, are tied to corporate group level machines, not the Big Iron.  It's been that way for decades; the analysts have to extract from the Big Iron, and crunch on their own PCs.  The categories Other SQL, Netzza, and Greenplum leave room for the Triage with PL/R approach, since the latter are explicitly Postgres and Other SQL is likely as much Postgres as MySql (yuck!).  The category is, possibly, misleading if one jumps to the conclusion that companies are MS centric with their data.&lt;br /&gt;&lt;br /&gt;Data Management:  No real surprise here.  Excel is the tool of choice.  Way back when I was teaching PC software courses, 1-2-3 was the spreadsheet of choice and all data went through it, and Excel inherited the mindset that a spreadsheet was sophisticated analysis.  It is a bit unnerving to realize that so much of what corporations decide is supported by such drek.  Note:  the BI folks, in the past executive assistants and "secretaries", still use spreadsheets a lot.  The Data folks, the other way round.  There is small comfort in that.  The presence of BASH (or Korn or ...) and AWK (Python and Perl too, but not quite so much; each has bespoke language I/O in the mix) is interesting, in that it means that a fair amount of data is clear text ASCII files.  Think about that for a second.&lt;br /&gt;&lt;br /&gt;Data Analysis:  Clearly, the Data folks use stat packs while the BI folks mostly don't.  SAS and SPSS and Stata leading says that the EMC client base is largely large corporate, which isn't a surprise.  What is a surprise is the absence of Excel.  On the other hand, in the original paper is this (next by each the graph):  "While most BI professionals do their *analysis* and data processing in Excel, data science professionals are using SQL, advanced statistical packages...", which corresponds to my experience (emphasis mine).&lt;br /&gt;&lt;br /&gt;Data Visualization:  The absence of R is suspect, as any R user would understand.&lt;br /&gt;&lt;br /&gt;And, finally, this has nothing to do with Big Data, in any case.  BD is just another attempt to money-spin by those with an agenda.  Janert, in his book "Data Analysis...", makes clear that BD isn't worth the trouble (my inference).  The point being that population data, which is what BD offers, is just descriptive stats, and smart data folks aren't interested in descriptive stats.  Sports fans, well yeah.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3702815644066643042?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3702815644066643042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/lies-damn-lies-and-statistics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3702815644066643042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3702815644066643042'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/lies-damn-lies-and-statistics.html' title='Lies, Damn Lies, and Statistics'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4962272733524004424</id><published>2011-12-13T10:45:00.001-05:00</published><updated>2011-12-13T15:02:22.651-05:00</updated><title type='text'>Jumpin Jack Flash [UPDATE]</title><content type='html'>In today's &lt;a href="http://www.anandtech.com/show/5160/seagate-2nd-generation-momentus-xt-750gb-hybrid-hdd-review/7"&gt;posting of the Momentus XT&lt;/a&gt; review, Anand (nearly) ends it with this:&lt;br /&gt;"Longer term it's unclear to me whether hybrid drives like the Momentus XT will fill the gap left by SSDs or if software based caching technologies combined with NAND on motherboards will be the preferred route."&lt;br /&gt;&lt;br /&gt;Oddly, I wondered much the same a few years back when Sun (pre-Oracle) announced its flash "appliance".  That, of course, was for near-mainframe level servers, but was an early assault on the flash-as-HDD approach to using flash.  There've been discussions about, particularly in the context of PCIe (Fusion-io, of course) "drives", whether there need be this SSD-as-HDD approach.  More folks are talking about storage now as just flash, pretty much, directly wired to the cpu and/or memory manager.  As Linus said all those years ago, it will change how file systems are built; if we bother with them at all.&lt;br /&gt;&lt;br /&gt;[UPDATE]&lt;br /&gt;Not to mention, this tickled a lower brain stem memory:  winFS.  Go spend some time with the WikiPedia &lt;a href="http://en.wikipedia.org/wiki/WinFS"&gt;article&lt;/a&gt;.  Mayhaps SSD will be the crutch needed?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4962272733524004424?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4962272733524004424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/jumpin-jack-flash.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4962272733524004424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4962272733524004424'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/jumpin-jack-flash.html' title='Jumpin Jack Flash [UPDATE]'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-9099226586323584829</id><published>2011-12-11T14:51:00.000-05:00</published><updated>2011-12-11T14:51:03.077-05:00</updated><title type='text'>Parallax View</title><content type='html'>"The Parallax View" was a fun movie, especially for those with a conspiracy slant on the world.  One might even see it as harbinger of "Robocop".  Well, it turns out that there is &lt;a href="http://sas-and-r.blogspot.com/2011/12/example-917-much-better-pairs-plots.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+SASandR+%28SAS+and+R%29"&gt;at least one other take on scatterplot matrix&lt;/a&gt;.  In the context of the authors' data, it makes some sense.&lt;br /&gt;&lt;br /&gt;I tried it with the Triage database table, but am not so convinced it helps for the discrete data proposed.  Have a look, and see what you think:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;CREATE OR REPLACE FUNCTION "public"."pairs_graph" () RETURNS text AS&lt;br /&gt;$BODY$&lt;br /&gt;library(ggplot2)&lt;br /&gt;library(GGally)&lt;br /&gt;X11(display=':5');&lt;br /&gt;events &lt;- pg.spi.exec ("select period, event, amount, choice, guncontrol, outcome from public.events where candidate = 'Doe' ");&lt;br /&gt;png('ggpairs_graph.png');&lt;br /&gt;events$gcfactor &lt;- as.factor(events$guncontrol)&lt;br /&gt;p &lt;- ggpairs(events, columns=c("period", "amount", "choice", "gcfactor"),&lt;br /&gt;    diag=list(continuous="density",   discrete="bar"), axisLabels="show")&lt;br /&gt;print(p)&lt;br /&gt;dev.off();&lt;br /&gt;print('done');&lt;br /&gt;$BODY$&lt;br /&gt;LANGUAGE 'plr'&lt;br /&gt;&lt;/pre&gt;And here's the graph:&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-fiFR_wh8v5I/TuUIbz5aS_I/AAAAAAAAAD4/K4y2Tlvdi1E/s1600/ggpairs_graph.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="320" src="http://1.bp.blogspot.com/-fiFR_wh8v5I/TuUIbz5aS_I/AAAAAAAAAD4/K4y2Tlvdi1E/s320/ggpairs_graph.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-9099226586323584829?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/9099226586323584829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/parallax-view.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9099226586323584829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9099226586323584829'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/parallax-view.html' title='Parallax View'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-fiFR_wh8v5I/TuUIbz5aS_I/AAAAAAAAAD4/K4y2Tlvdi1E/s72-c/ggpairs_graph.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3181839785348151272</id><published>2011-12-06T09:59:00.002-05:00</published><updated>2011-12-06T09:59:58.025-05:00</updated><title type='text'>Smaller, But Not Worse</title><content type='html'>Just when the future looks most bleak, comes &lt;a href="http://www.dailytech.com/article.aspx?newsid=23351"&gt;this news, today&lt;/a&gt;.  IMFT announces that 20nm flash is in production, and that (look at the pretty picture) 128GB will soon be at your finger tip.  The industry may just turn around and do the faster tape waltz.  On the other hand, with erase cycles *not* deteriorating, 5NF for large systems is in reach.  Perhaps, just may be, The Yellow Brick Road isn't the Road to Perdition (Jude was creepy).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3181839785348151272?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3181839785348151272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/smaller-but-not-worse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3181839785348151272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3181839785348151272'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/12/smaller-but-not-worse.html' title='Smaller, But Not Worse'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4443150941529681671</id><published>2011-11-29T19:03:00.002-05:00</published><updated>2011-11-29T19:03:54.323-05:00</updated><title type='text'>What's The Difference</title><content type='html'>To continue with the Triage project, I've spent a day or two with more graphics texts (about which I'll be musing anon), and getting more familiar with the mapping scenarios.&lt;br /&gt;&lt;br /&gt;Separate from the scatterplot matrix data shown in Triage, which would be used to measure the micro components of a campaign, is the question of displaying national trend, twixt Us-uns and Them-uns.  For that one turns to map graphics, which is a whole other world.  Still in R, mind, but not statistical in nature. &lt;br /&gt;&lt;br /&gt;What I have recently found is &lt;a href="http://www.ai.rug.nl/%7Ehedderik/R/US2004/"&gt;this site&lt;/a&gt;, which replicates a US map with 2004 election results.  Now, our Apparatchiks won't be downloading zip files from outside sources, of course.  On the other hand, the files make for a perfect dive board for the PoC.  Load them into PG, swapping Republican for Bush and Democrat for Kerry and Other for Nader (that's not much of a stretch!).  Just for completeness, I'd found much earlier (but can't find that I'd cited), &lt;a href="http://dsparks.wordpress.com/2011/10/24/isarithmic-maps-of-public-opinion-data/"&gt;this map exercise&lt;/a&gt;, but as of now, the author has been too embarrassed to post the R that does it.  While only some form of income data (not specified), it is a follow-on (linked to) to &lt;a href="http://dsparks.wordpress.com/2010/11/15/isarithmic-history-of-the-two-party-vote/"&gt;an election stream&lt;/a&gt; map set, also not supplied with the R that made it.  Nevertheless, one can conclude that with enough time, this is a task suited to R.  As mentioned in an earlier post, the animation bits are likely via googleVis.&lt;br /&gt;&lt;br /&gt;I'll be using his data, since it provides a basis and I don't have to concoct some, though not the R he used (still using the stock R from Wickham).  It's not clear how the numbers were derived.&lt;br /&gt;&lt;br /&gt;What is really useful about the 2004 map posting is the data source:  a county level count.  Get these into a PG table, and we have a surrogate for data which our Apparatchiks would have, and which we can further expand with relatively simple SQL; just to see how a map would change.  The notion for this part of the Triage effort is to measure the effect of national campaign spending, post some event/ad/debate/foo, at the POTUS/party level; a RNC/DNC (or 501/527/foo group) view of the country.&lt;br /&gt;&lt;br /&gt;Here's the new PG table where we load:&lt;br /&gt;&lt;br /&gt;CREATE TABLE public.election  ( &lt;br /&gt;state                varchar(25) NULL,&lt;br /&gt;county               varchar(25) NULL,&lt;br /&gt;tot_precincts        int4 NULL,&lt;br /&gt;precincts_reporting  int4 NULL,&lt;br /&gt;republican           int4 NULL,&lt;br /&gt;democrat             int4 NULL,&lt;br /&gt;other                int4 NULL,&lt;br /&gt;constraint pk_election unique(state, county) &lt;br /&gt;)&lt;br /&gt;WITHOUT OIDS &lt;br /&gt;TABLESPACE pg_default&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And we get it loaded thus (concated from the state/county files in the zip):&lt;br /&gt;&lt;br /&gt;copy public.election from '/databases/rawdata/2004election/output.txt' using delimiters ';' csv header&lt;br /&gt;&lt;br /&gt;Note that column names are underscored, rather than camelCase, since PG forces quoting to use anything in the database if there are Caps in names.  Yuck.&lt;br /&gt;&lt;br /&gt;And here's the PG + PL/R (I've left it as is; comment/uncomment to generate each of the maps, this is the difference map, shown last.  The first set are for the two event maps, while the other is for the diff map):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid black; height: 400px; overflow-x: scroll; overflow-y: scroll; width: 400px;"&gt;&lt;div style="width: 500%;"&gt;&lt;br /&gt;CREATE OR REPLACE FUNCTION "public"."us_graph" () RETURNS text AS&lt;br /&gt;$BODY$&lt;br /&gt;X11(display=':5');&lt;br /&gt;pdf('US_graph_diff.pdf');&lt;br /&gt;library(maps)&lt;br /&gt;library(plyr)&lt;br /&gt;library(proto)&lt;br /&gt;library(reshape)&lt;br /&gt;library(grid)&lt;br /&gt;library(ggplot2)  &lt;br /&gt;library(mapproj)  &lt;br /&gt;states &amp;lt;- map_data("state") &lt;br /&gt;#elections &amp;lt;- pg.spi.exec ('select state, sum(republican) as "Republican", sum(democrat) as "Democrat" from election where event_number = 2 group by state order by state'); &lt;br /&gt;elections &amp;lt;- pg.spi.exec ('SELECT a.state, sum(a.republican - (SELECT b.republican FROM election b WHERE b.event_number = a.event_number - 1 and a.state = b.state and a.county = b.county)) as Republican FROM election a where a.event_number = 2 group by a.state ORDER BY a.state ') &lt;br /&gt;elections$state &amp;lt;- tolower(elections$state) &lt;br /&gt;elections$republican &amp;lt;- elections$republican/10000 &lt;br /&gt;choro &amp;lt;- merge(states, elections, sort = FALSE, by.x = "region", by.y = "state") &lt;br /&gt;choro &amp;lt;- choro[order(choro$order), ] &lt;br /&gt;#p &amp;lt;- qplot(long, lat, data = choro, group = group, fill = Republican / Democrat, geom="polygon", asp=.6) &lt;br /&gt;p &amp;lt;- qplot(long, lat, data = choro, group = group, fill = republican, geom="polygon", asp=.6, main = "Poll Shift", xlab = "", ylab = "") &lt;br /&gt;p + labs(y = "", x = "")  &lt;br /&gt;p + opts(panel.grid.major=theme_blank(), panel.grid.minor=theme_blank(), panel.background=theme_blank(), axis.ticks=theme_blank())  &lt;br /&gt;p + scale_x_continuous("") &lt;br /&gt;p + scale_y_continuous("") + coord_map() &lt;br /&gt;p + opts(axis.text.x = theme_blank(),axis.text.y = theme_blank(), axis.title.x = theme_blank(), axis.title.y = theme_blank(), axis.tick.length = unit(0, "cm"), axis.ticks.margin = unit(0, "cm"))  &lt;br /&gt;p + scale_fill_gradient(limits = c(0, 90)) &lt;br /&gt;print(p) &lt;br /&gt;dev.off(); &lt;br /&gt;print('done'); &lt;br /&gt;$BODY$ &lt;br /&gt;LANGUAGE 'plr' &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;All that spinach for the library calls got eliminated by making an .Rprofile in postgres user's home with the following line:&lt;br /&gt;&lt;br /&gt;.libPaths("/home/postgres/R/x86_64-unknown-linux-gnu-library/2.14/")&lt;br /&gt;&lt;br /&gt;You could also call out the libraries explicitly; both ways work.  The additional spinach is various directions to eliminate the lat/long grid on the maps.  None work!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here's the Event 1 map:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FsVQRh3FDP4/TtVsl2mEIuI/AAAAAAAAADU/UpaVNd784SM/s1600/US_graph.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-FsVQRh3FDP4/TtVsl2mEIuI/AAAAAAAAADU/UpaVNd784SM/s320/US_graph.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Now, let's update the table to include an event_number (easier than using a date, anyway) and an event_type.  That way, we can generate maps in sequence, but also note what sort of event just/last happened.  We could also generate maps sequences for only certain sorts of events (they'd be in a check constraint).&lt;br /&gt;&lt;br /&gt;So, let's make some new data:&lt;br /&gt;&lt;br /&gt;insert into election (select state, county, tot_precincts, precincts_reporting, republican * .8, democrat * 1.2, other, 2, 'foo' from election where event_number = 1);&lt;br /&gt;&lt;br /&gt;We wouldn't get such dramatic shifts (modulo Swift Boats) in the real world, but this is PoC territory.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This yields a new Event 2 map:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-2hpA35WADKo/TtVswgcMoFI/AAAAAAAAADg/wnkb9jyuDqw/s1600/US_graph_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-2hpA35WADKo/TtVswgcMoFI/AAAAAAAAADg/wnkb9jyuDqw/s320/US_graph_2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I'm still grappling with my main wish list item:  showing the changes in the colors.  As it stands, each map takes the full gamut, leaving the legend to display the shifts; doesn't do that all that well.  Viewed another way, why not show the delta of polling strength (vote displays are a bit late, after all)?  We can do that with a single map.  How to get the data out of the election table?  For that a correlated subquery is sufficient.  It's that big SQL statement.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here's what the delta map looks like:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-a9Ad0l_cyog/TtVs4238wlI/AAAAAAAAADs/PTNggrz-k88/s1600/US_graph_diff.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-a9Ad0l_cyog/TtVs4238wlI/AAAAAAAAADs/PTNggrz-k88/s320/US_graph_diff.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;What we see is the shift, in absolute, not relative, numbers.  So Texas looks to be more Democrat from Event 1 to Event 2 just because it started with more votes; same with California.&lt;br /&gt;&lt;br /&gt;Getting rid of the lat/long grid is still a problem, but then, this is a free PoC.  Cheap at half the price.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4443150941529681671?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4443150941529681671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/11/whats-difference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4443150941529681671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4443150941529681671'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/11/whats-difference.html' title='What&apos;s The Difference'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-FsVQRh3FDP4/TtVsl2mEIuI/AAAAAAAAADU/UpaVNd784SM/s72-c/US_graph.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-9188684615445463373</id><published>2011-11-15T15:43:00.001-05:00</published><updated>2011-11-15T15:44:45.794-05:00</updated><title type='text'>The Red and the Blue</title><content type='html'>I was going to build a US map (using R facilities) showing net federal funds at the state level, but found there are a colossal number of these already.  No need to demonstrate that yet again.  The point would be to demonstrate doing so within the RDBMS, following in the Triage piece's footsteps.  I'll just show the code to generate a US map, as shown by &lt;a href="http://www.amazon.com/ggplot2-Elegant-Graphics-Data-Analysis/dp/0387981403/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1321325398&amp;amp;sr=1-1"&gt;Wickham's book&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font: 10px/16px Georgia, Garamond, Serif; height: 220px; overflow-x: scroll; width: 400px;"&gt;&lt;div style="width: 250%;"&gt;CREATE OR REPLACE FUNCTION "public"."test_graph" () RETURNS text AS&lt;br /&gt;$BODY$&lt;br /&gt;X11(display=':5');&lt;br /&gt;pdf('test_graph.pdf');&lt;br /&gt;library(maps, lib.loc="/home/postgres/R/x86_64-unknown-linux-gnu-library/2.14/")&lt;br /&gt;library(plyr, lib.loc="/home/postgres/R/x86_64-unknown-linux-gnu-library/2.14/")&lt;br /&gt;library(proto, lib.loc="/home/postgres/R/x86_64-unknown-linux-gnu-library/2.14/")&lt;br /&gt;library(reshape, lib.loc="/home/postgres/R/x86_64-unknown-linux-gnu-library/2.14/")&lt;br /&gt;library(grid, lib.loc="/home/postgres/R/x86_64-unknown-linux-gnu-library/2.13/")&lt;br /&gt;library(ggplot2, lib.loc="/home/postgres/R/x86_64-unknown-linux-gnu-library/2.14/")&lt;br /&gt;states  &amp;lt;- map_data("state") arrests  &amp;lt;- USArrests&amp;nbsp;&lt;/div&gt;&lt;div style="width: 250%;"&gt;names(arrests) &amp;lt;- tolower(names(arrests))&amp;nbsp;&lt;/div&gt;&lt;div style="width: 250%;"&gt;arrests$region &amp;lt;- tolower(rownames(USArrests))&amp;nbsp;&lt;/div&gt;&lt;div style="width: 250%;"&gt;choro &amp;lt;- merge(states, arrests, by = "region")&lt;/div&gt;&lt;div style="width: 250%;"&gt;choro &amp;lt;- choro[order(choro$order), ]&amp;nbsp;&lt;/div&gt;&lt;div style="width: 250%;"&gt;print(qplot(long, lat, data = choro, group = group, fill = assault, geom = "polygon", asp = .6) + borders("state", size = .5))&amp;nbsp;&lt;/div&gt;&lt;div style="width: 250%;"&gt;dev.off();&amp;nbsp;&lt;/div&gt;&lt;div style="width: 250%;"&gt;print('done');&amp;nbsp;&lt;/div&gt;&lt;div style="width: 250%;"&gt;$BODY$&amp;nbsp;&lt;/div&gt;&lt;div style="width: 250%;"&gt;LANGUAGE 'plr' &lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Rather more text than the Triage demonstration.  R is built on a multi-user model, but is normally used as a standalone application on a PC.  And then, there's the *nix issue.  The upshot is that nothing need be done to use "base" modules, and those include the scatterplot matrix in the Triage piece.  As mentioned in the piece, R supports (at least) two other graphics engines:  lattice and ggplot2.  Lattice is an extension of base graphics, while ggplot2 is an implementation of a grammar based graphics engine.  This Grammar of Graphics is documented (but not a code base) in &lt;a href="http://www.amazon.com/Grammar-Graphics-Statistics-Computing/dp/0387245448/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1321326055&amp;amp;sr=1-1"&gt;Wilkinson's book&lt;/a&gt;, at 712 pages and no code, we'll see (just Amazoned it)!  &lt;br /&gt;&lt;br /&gt;This map was created with ggplot2 functions, although no database data is used.  It is necessary to call out each package/library explicitly, as well; PL/R doesn't know to load dependent packages, alas.  In the context of the Triage piece, the application would show the net position of the party's candidates by state, along a Blue/Red vector.  Just so happens that the R installation includes some state level data, which Wickham uses illustratively.  One might extrapolate that Red States are more violent than Blue States, on the whole.  Not that I'm making such an extrapolation, of course.&lt;br /&gt;&lt;br /&gt;Loading of non-base libraries can be done in one of two ways:  if the R engine library directory has global write permission (not normally so under *nix) then any package (which is then called a library in use, yeah, I know) loaded by any user goes to the directory and can be referred to directly by PL/R; on the other hand in usual installs, each user has packages installed to a local directory.  Since postgres (the engine) runs as postgres the user, the packages need to be installed by postgres (the user) from an R session.  In a corporate (and political campaigns are very much so) environment, standards and conventions would need to be established.&lt;br /&gt;&lt;br /&gt;Ideally, what I'd want, following on the thesis of the Triage piece, is a clickable map (states), but that gets into non-rectangular html buttons (Google maps, I'd wager); not a topic I'm conversant with, yet.  Whether it would make sense to generate the map in R with the cruft needed to implement the button logic is another puzzle.  I think not, but not sure; R doesn't impress me as a strong string manipulation language.  Ideally, then, the map would not only be generated by R, but each state would be a button, which would call a second R function in postgres to show the county/municipal/zip map.  Could be a bit of work, but your candidates are worth it.&lt;br /&gt;&lt;br /&gt;Here's the picture (this is a png, since Blogger won't chew pdf):&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-k0WjKXd_XYo/TsLI6U4HRuI/AAAAAAAAADI/N-A-vPFn0XY/s1600/USData.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="http://1.bp.blogspot.com/-k0WjKXd_XYo/TsLI6U4HRuI/AAAAAAAAADI/N-A-vPFn0XY/s320/USData.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-9188684615445463373?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/9188684615445463373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/11/red-and-blue.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9188684615445463373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9188684615445463373'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/11/red-and-blue.html' title='The Red and the Blue'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-k0WjKXd_XYo/TsLI6U4HRuI/AAAAAAAAADI/N-A-vPFn0XY/s72-c/USData.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8809574871513620858</id><published>2011-11-09T10:27:00.001-05:00</published><updated>2011-11-09T11:10:53.673-05:00</updated><title type='text'>Honesty in Government</title><content type='html'>[UPDATE] --  copied Sales the first time, same issue.  &lt;br /&gt;&lt;br /&gt;As I transition into data scientist, which means re-adding my stats mojo to my RDBMS mojo (not replacing the latter with the former, by the way), I've come across more than a few postings and writings in the statosphere about truth in data.  The writing is always by data professionals (not lobbyists and the like, near as I can tell), and the point is always that the data is truth.  By truth one means the most accurate picture of the real world, unadorned by propaganda.&lt;br /&gt;&lt;br /&gt;Today's Federal data dump includes September wholesale inventories.  They were down .1%.  Here's the quote:  "..were $462.0 billion at the end of September, down 0.1 percent (+/-0.2%)* from the revised August level."  What's the starry thingee, one might ask?  Well, it's the link to a footnote.&lt;br /&gt;&lt;br /&gt;Here's the footnote: &lt;br /&gt;"* The 90 percent confidence interval includes zero.  The Census Bureau does not have sufficient statistical evidence to conclude that the actual change is different from zero."&lt;br /&gt;&lt;br /&gt;Two points to note about the footnote:  1) the CI is 90% level, which is very generous and 2) it spans 0, which means what the note says.  I wonder how many of the reports about the report will bother to tell us about that.&lt;br /&gt;&lt;br /&gt;Here's the &lt;a href="http://www.census.gov/wholesale/index.html"&gt;link to the original&lt;/a&gt;; click the link for Excel or PDF.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8809574871513620858?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8809574871513620858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/11/honesty-in-government.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8809574871513620858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8809574871513620858'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/11/honesty-in-government.html' title='Honesty in Government'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2721292555973822978</id><published>2011-11-07T12:52:00.000-05:00</published><updated>2011-11-07T12:52:04.741-05:00</updated><title type='text'>Write Me a Song So Lovely</title><content type='html'>It's mostly considered declasse' to simply refer to somebody else's post on some subject.  And I don't do so very often, but &lt;a href="http://thombrown.blogspot.com/2011/11/writeable-common-table-expressions.html"&gt;this post on writeable CTEs&lt;/a&gt; is too much to pass up, not least because I've yet to move to 9.1, and won't likely until it hits 9.1.3 (currently at 9.1.1).  What makes the post of interest:  Brown states that PG is alone with wCTE, and some quality time with searching supports that.  My interest rests on the motivation for this endeavor:  put, and keep, the logic in the datastore and let the client pretty-pretty the screens as it wishes.  Writeable CTEs take this notion yet another step forward.&lt;br /&gt;&lt;br /&gt;Not that I'd choose a joined table with a calculated, by code, column.  But that's another story.  I'd be more inclined to implement an inventory/order line update, since that fits with the canonical example of join.  For example, if your customers are mixed with regard to price changes, some will get updated prices on unfilled order lines, the rest not.  In that circumstance, you'd want to update some order lines when the inventory (or price break) table is updated.  That sort of thing.  9.1.3 shouldn't be too far away.&lt;br /&gt;&lt;br /&gt;Good on 'ya, as Texans say.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2721292555973822978?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2721292555973822978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/11/write-me-song-so-lovely.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2721292555973822978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2721292555973822978'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/11/write-me-song-so-lovely.html' title='Write Me a Song So Lovely'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4421313358534919320</id><published>2011-10-25T12:03:00.001-04:00</published><updated>2011-10-25T12:03:52.468-04:00</updated><title type='text'>From Sea to Shining Sea</title><content type='html'>As follow up, or update, to the Triage piece, I offer up &lt;a href="http://dsparks.wordpress.com/2011/10/24/isarithmic-maps-of-public-opinion-data/"&gt;this post&lt;/a&gt; from an R-blogger.  As it stands, there's no code (the author claims ugliness), but does applaud ggplot2.  The latter I expected, in that &lt;a href="http://www.amazon.com/ggplot2-Elegant-Graphics-Data-Analysis/dp/0387981403/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1319558213&amp;sr=1-1"&gt;Wickham's book&lt;/a&gt; has a section (5.7) on using maps, but not much detail.&lt;br /&gt;&lt;br /&gt;Of more interest, is the data source, shown as CCES on the plots.  Turns out that &lt;a href="http://projects.iq.harvard.edu/cces/"&gt;this is CCES&lt;/a&gt;.  While not real time data, as Sparks demonstrates, R and ggplot2 can show both categorical and discrete variable impact over a map.  For the Triage project, one would need internal real-time (or close) for the effort to be worthwhile, but I'd wager that it is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4421313358534919320?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4421313358534919320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/from-sea-to-shining-sea.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4421313358534919320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4421313358534919320'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/from-sea-to-shining-sea.html' title='From Sea to Shining Sea'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3809971742209808743</id><published>2011-10-11T14:19:00.000-04:00</published><updated>2011-10-11T14:19:48.369-04:00</updated><title type='text'>A Model Citizen</title><content type='html'>While it is gratifying to &lt;a href="http://www.simple-talk.com/sql/learn-sql-server/going-beyond-the-relational-model-with-data/"&gt;be published by Simple Talk&lt;/a&gt;, so many more eyes that way, it isn't a platform where I can continue to prattle on at will.  Each piece they publish, most of the time, is a stand alone effort.  Since the piece was already rather long, there was one tangent I elected not to include, since it is a separate issue from the task being discussed.&lt;br /&gt;&lt;br /&gt;"That subject:  cleavages."  Well, I only wish (and if you know from whence that quote came, bravo).  No, alas, the topic is what to do with regard to fully understanding "bang for the buck".  I elided that in the piece, since the point was to show that a useful stat graphic could be generated from the database.  But how to discover the "true" independent variables of electoral primacy, and their magnitude?  Could it be that with all the data we might have, both for free on the intertubes and costly which we generate, our best model is only 30% predictive?  To reiterate, the exercise isn't to predict who'll win (&lt;a href="http://en.wikipedia.org/wiki/FiveThirtyEight"&gt;FiveThirtyEight&lt;/a&gt; has been spectacular), but rather which knobs and switches a given organizations can manipulate to *change* a losing situation.&lt;br /&gt;&lt;br /&gt;If you'll recall, most of the explanatory variables weren't of a continuous nature, that is, real numbers.  The fitted lines in the scatterplots used a variation on simple linear regression to fit.  The variation dealt with the differing best slopes over ranges.  The technique doesn't account for the fact that most of the explanatory variables are either categorical (yes/no) or discrete (strongly disagree to strongly agree).  &lt;br /&gt;&lt;br /&gt;For this kind of mixed data regression, one typically uses analysis of covariance (aka, ancova).  R, as one would expect, provides this.  The &lt;a href="http://www.amazon.com/R-Book-Michael-J-Crawley/dp/0470510242/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1318343345&amp;sr=1-1"&gt;Crawley book&lt;/a&gt; devotes a full chapter to ancova.  I'll direct you there.  Some say that discrete independent variables can be used directly in simple linear regression.  Others would run to ANOVA immediately.  Some distinguish categorical variables (gender) from discrete scaled variables (the 5 point agree scale on gun control).  It is, suffice to say, not a slam dunk any way you go.&lt;br /&gt;&lt;br /&gt;Exploratory data analysis, what R is particularly good at, is where the apparatchiks should be spending much of their effort (not worrying about the entrails of Rails!).  Assuming that money is the driver of winning is an assumption, frequently wrong in the real world.  Since their organization is large, national in scope, and full of dollars to spend; spelunking through all available data is the directive.  That assumes, of course, that winning elections, without regard to policy positions, is the goal.  Think of selling nappies.&lt;br /&gt;&lt;br /&gt;While the goal of the piece was to display something simple to the Suits, determining a more accurate predictive model, which will be implemented with traditional text output, is the real goal.  Same is true of selling nappies.  The analogy is not so far fetched, as &lt;a href="http://www.amazon.com/Selling-President-1968-Joe-mcginnis/dp/0671270435/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1318348316&amp;sr=1-2"&gt;this book demonstrates&lt;/a&gt;; there have been similar treatises in the years since.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3809971742209808743?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3809971742209808743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/model-citizen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3809971742209808743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3809971742209808743'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/model-citizen.html' title='A Model Citizen'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5039999889162592479</id><published>2011-10-10T11:02:00.001-04:00</published><updated>2011-10-10T11:09:59.782-04:00</updated><title type='text'>By The Numbers</title><content type='html'>There's that famous quote from The Bard, "The fault, dear Brutus, lies not in our stars, but in ourselves if we are underlings."  As my fork in the Yellow Brick Road tracks more towards (what's now called) Data Science, various notions bubble to the surface.  One lies in an age old (within my age, anyway) dispute between traditional (often called frequentist) math stats and those who follow the Bayesian path.  From my point of view, not necessarily agreed to exist by those on the other side, Bayesian methods are merely a way to inject bias into the results.  Bayesians refer to this "data" as prior knowledge, but, of course, the arithmetic can't distinguish between objective prior knowledge and fudging the numbers.&lt;br /&gt;&lt;br /&gt;So, I set out this morning, being Columbus Day (a day honoring Discovery for some, invasion for others), to see whether there're any papers floating about the intertubes discussing the proposition that our Wall Street Quants (those who fudged the numbers) bent Bayesian methods in their work.  As I began my spelunking, I had no prior knowledge about the degree to which Bayesian had taken over the quants, or not.  Quants could still be frequentists.  On the other hand, it is quite clear that Bayesian is far more mainstream than when I was in grad school.  Could Bayes have taken significant mindshare?  Could the quants (and their overseer suits) abused the Bayesian method to, at least, exacerbated, at most, driven The Great Recession.  It seemed to me likely, any crook uses any available tool, but I had no proof.&lt;br /&gt;&lt;br /&gt;Right off the bat, search gave me this &lt;a href="http://www.information-management.com/blogs/risk_management_business_intelligence_Bayes_MIT-10019287-1.html"&gt;paper&lt;/a&gt; which references one (at a pay site) from the Sloan Management Review.  The paper puts the blame on risk management that wasn't Bayesian.  You should read this; while the post does discuss the SMR paper on its merits (which I couldn't read, of course), it also discusses the flaw in Bayes (bias by the name of judgment) as it applies to risk management.&lt;br /&gt;&lt;br /&gt;Continuing.  While I was a grad student, the field of academic economics was in the throes of change.  The verbal/evidence/ideas approach to scholarship was being replaced by a math-y sort of study.  I say math-y because many of the young Ph.D.s were those who flunked out of doctoral programs in math-y subjects.  Forward thinking departments recruited them to take Samuelson many steps further.  These guys (almost all, then) knew little if anything about economic principles, but department heads didn't care.  These guys could sling derivatives (initially the math kind, but eventually the Wall Street kind) on the whiteboard like Einstein.  I noted the problem then, the 1970's.  &lt;a href="http://www.sciamdigital.com/index.cfm?fa=Products.ViewIssuePreview&amp;ARTICLEID_CHAR=94363273-3048-8A5E-1048E08E62ACE20D"&gt;This paper&lt;/a&gt; touches on this issue (linked from &lt;a href="http://economistsview.typepad.com/economistsview/2008/11/quants-did-it.html"&gt;here&lt;/a&gt;). "These lapsed physicists and mathematical virtuosos were the ones who both invented these oblique securities and created software models that supposedly measured the risk a firm would incur by holding them in its portfolio."  Nice to know it only took 40 years for the mainstream pundits to catch up.&lt;br /&gt;&lt;br /&gt;And, while not specifically about Bayesian culpability, &lt;a href="http://knowledge.wharton.upenn.edu/article.cfm?articleid=2234"&gt;this paper&lt;/a&gt; makes my thesis, which I realized about 2003 and have written about earlier: "Among the most damning examples of the blind spot this created, Winter says, was the failure by many economists and business people to acknowledge the common-sense fact that home prices could not continue rising faster than household incomes."  One of those, D'oh! moments.  McElhone, the Texas math stat, introduced me to the term 'blit', which is 5 pounds of shit in a 4 pound sack.  By 2003, and certainly following, the US housing market had become rather blit-y.  The article is well worth the reading.  There are links to many other papers, and it does raise the question of the models used by the rating agencies.  Were these models Bayesian?  Were the rating agencies injecting optimism?  &lt;br /&gt;&lt;br /&gt;Which leads to &lt;a href="http://www.nakedcapitalism.com/2007/06/more-on-rating-agencies-and-risk-in.html"&gt;this paper&lt;/a&gt;, which I'll end with, as it holds (so far as I am concerned) the smoking gun (which I found to be blindingly obvious back in 2003):  "Even in the existing data fields that the agency has used since 2002 as 'primary' inputs into their models they do not include important loan information such as a borrower's debt-to-income (DTI)..."&lt;br /&gt;&lt;br /&gt;This few minutes trek through the intertubes hasn't found a direct link between Bayes and the Great Recession.  I know it's out there.  I need only posit such as initial condition to my MCMC (look it up).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5039999889162592479?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5039999889162592479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/by-numbers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5039999889162592479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5039999889162592479'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/by-numbers.html' title='By The Numbers'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5710041627662758010</id><published>2011-10-07T17:51:00.000-04:00</published><updated>2011-10-07T17:51:19.104-04:00</updated><title type='text'>Book 'Em, Danno</title><content type='html'>For those of us of a certain age, the notion of physical books is important.  I recommend any and all of Nick Carr's books, which deal, in significant manner, with ... books.&lt;br /&gt;&lt;br /&gt;After finally figuring out where the house is, UPS dropped off my copy of "Visualizing Data" by Cleveland a day late (the widely regarded as incompetent Post Office and FedEx and the Pizza Guys all manage to find it).  It's published by Bell Labs/AT&amp;T (back when it still sort of was, 1993) and Hobart Press which is kind of down the street from Bell Labs.  Their only listed books are Cleveland's.&lt;br /&gt;&lt;br /&gt;What makes me giddy is what's printed as the end of the Colophon (few books even have such any longer).  This is it:&lt;br /&gt;Edwards Brothers, Inc. of Ann Arbor, Michigan, U.S.A., printed the book.  The paper is 70 pound Sterling Satin, the pages are Smythe sewn, and the book is covered with Arrestox linen.&lt;br /&gt;&lt;br /&gt;This is a real book.  See you in a bit.  Time to do some reading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5710041627662758010?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5710041627662758010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/book-em-danno.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5710041627662758010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5710041627662758010'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/book-em-danno.html' title='Book &apos;Em, Danno'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7835391305841595155</id><published>2011-10-04T10:26:00.000-04:00</published><updated>2011-10-04T10:26:11.939-04:00</updated><title type='text'>King Kong, Enter Stage Right</title><content type='html'>Well, the Gorilla just sat on the couch.  Oracle OpenWorld has &lt;a href="http://www.oracle.com/us/corporate/press/512001"&gt;this announcement&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Buried kind of deep is this:&lt;br /&gt;Oracle R Enterprise: Oracle R Enterprise integrates the open-source statistical environment R with Oracle Database 11g. Analysts and statisticians can run existing R applications and use the R client directly against data stored in Oracle Database 11g, vastly increasing scalability, performance and security. The combination of Oracle Database 11g and R delivers an enterprise-ready deeply-integrated environment for advanced analytics.&lt;br /&gt;&lt;br /&gt;OK, so now the King Kong has adopted R.  Do you see a trend?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7835391305841595155?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7835391305841595155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/king-kong-enter-stage-right.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7835391305841595155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7835391305841595155'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/king-kong-enter-stage-right.html' title='King Kong, Enter Stage Right'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-9126447628769588037</id><published>2011-10-03T15:15:00.000-04:00</published><updated>2011-10-03T15:15:37.051-04:00</updated><title type='text'>Don't Pay the Piper</title><content type='html'>Big news day, today.  &lt;a href="http://www.theregister.co.uk/2011/09/30/dont_bother_with_it_degree/"&gt;And yet more of interest&lt;/a&gt;.  We don't need no education.&lt;br /&gt;&lt;br /&gt;This is specific to Britain, of course.  Note that tuition is £9,000 (at today's rate, that's about $15,000), which is a piddling amount here in the USofA.  Community college might be cheaper, in state and all that.  More reactionary, back to the dark ages, assertions.  Education isn't just vocational.  That's why the business has VocEd and real college.  And sure, if you want to be an Excel whiz, then learning all that mathy and logicy stuff is boring and a waste of time.  I mean, how much do ya need to know to slap together a PHP web site?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-9126447628769588037?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/9126447628769588037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/dont-pay-piper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9126447628769588037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9126447628769588037'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/dont-pay-piper.html' title='Don&apos;t Pay the Piper'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-9204547157124496288</id><published>2011-10-03T14:45:00.000-04:00</published><updated>2011-10-03T14:45:19.298-04:00</updated><title type='text'>Deja Vu, Yet Again</title><content type='html'>My (single?) long time reader may recall that I concluded that the Oracle buy of Sun wasn't about java or Solaris or any software.  It was about stealing the one segment of computing Larry didn't own:  the mainframe, the IBM mainframe.  I was initially alone, so far as I could see, although in the months following, I would read an occasional story tending toward the hardware motivation.  If memory serves, some Mainstream Pundits explicitly stated that hardware was dead in the new Oracle.&lt;br /&gt;&lt;br /&gt;Time to feast on some baked bird, crow specifically.  &lt;a href="http://www.bloomberg.com/news/2011-10-03/oracle-s-ellison-introduces-faster-data-system-in-challenge-to-sap-ibm.html?cmpid=yhoo"&gt;Here's the latest&lt;/a&gt; from Oracle.&lt;br /&gt;&lt;br /&gt;"'We want to take IBM on in their strongest suit, which is the microprocessor,' said Ellison."&lt;br /&gt;&lt;br /&gt;Oracle may, or may not, be able to pull it off.  Given that IBM's DB2, off mainframe at least, is adopting (well, it depends on who's defining that word) MVCC semantics, one could conclude that Oracle has gotten the mindshare part of the problem solved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-9204547157124496288?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/9204547157124496288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/deja-vu-yet-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9204547157124496288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9204547157124496288'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/deja-vu-yet-again.html' title='Deja Vu, Yet Again'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4061625933693748773</id><published>2011-10-03T08:04:00.002-04:00</published><updated>2011-10-03T08:04:50.740-04:00</updated><title type='text'>Political Science</title><content type='html'>A while back, &lt;a href="http://www.simple-talk.com/"&gt;simple talk&lt;/a&gt; offered me an article, suggesting that something controversial would be appropriate.  I pondered for a bit, and decided not to throw Molotov cocktails as I usually do here.  Instead, based on some abortive conversations with apparatchiks in Washington, I set out to demonstrate how one can generate dashboard style graphs using stat output from R all within the database.  In this case, the database is Postgres.  &lt;a href="http://www.simple-talk.com/sql/learn-sql-server/going-beyond-the-relational-model-with-data/"&gt;Here's the piece&lt;/a&gt;.  Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4061625933693748773?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4061625933693748773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/political-science.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4061625933693748773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4061625933693748773'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/political-science.html' title='Political Science'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5804690434411301025</id><published>2011-10-01T16:46:00.000-04:00</published><updated>2011-10-01T16:46:57.225-04:00</updated><title type='text'>Are We There Yet?</title><content type='html'>An update on the world of (semi) serious SSD is in order.  The Intel 710 is the successor, sort of, to the X25-E.  AnandTech has &lt;a href="http://www.anandtech.com/show/4902/intel-ssd-710-200gb-review"&gt;a review and status update&lt;/a&gt;.  Worth the read for the industry background alone.&lt;br /&gt;&lt;br /&gt;The clearest description, and the one that was most logical:  "Fundamentally, Intel's MLC-HET is just binned MLC NAND."&lt;br /&gt;&lt;br /&gt;I'll mention in passing that AnandTech is dipping a toe into "Enterprise SSD" review with &lt;a href="http://www.anandtech.com/show/4879/ocz-zdrive-r4-cm88-16tb-pcie-ssd-review"&gt;a piece on OCZ&lt;/a&gt;.  Not that OCZ is really serious, of course; the Sandforce controllers depend on clear text data streams, which are getting yet more scarce in the Enterprise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5804690434411301025?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5804690434411301025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/are-we-there-yet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5804690434411301025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5804690434411301025'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/10/are-we-there-yet.html' title='Are We There Yet?'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8081542998177654816</id><published>2011-09-29T10:38:00.000-04:00</published><updated>2011-09-29T10:38:15.897-04:00</updated><title type='text'>Pretty as a Picture</title><content type='html'>Along with an interest in stats and graphs comes a level of responsibility.  Kind of, guns don't kill people, people kill people.  The canonical text is &lt;a href="http://www.amazon.com/How-Lie-Statistics-Darrell-Huff/dp/0393310728/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1317304216&amp;sr=1-1"&gt;"How to Lie With Statistics"&lt;/a&gt;, which was first published in 1954.  Legend has it, it's never been out of print.  Likely so.&lt;br /&gt;&lt;br /&gt;It so happens that I've found a couple of blogs/sites which both deal with graphing stat data in non-disinterested ways.  I'll note once again that a stat/quant/analyst/foobar is supposed to be disinterested.  S/he's just an impartial judge of the data, trying to scope out the real relationships in the data; if there are any, there may not be.  Data associated with politics is particularly susceptible to bias.  But others face the same pressure.  Worker stat bees (having been there) are often encouraged to slant the presentation in a way to make the nappie marketing Suits look like geniuses.  It's a problem everywhere; all worker bees are expected to behave as attorneys; staunch defenders of whatever the Suits have done. &lt;br /&gt;&lt;br /&gt;Watching the response to drug clinical trials is particularly amusing.  Rather often, the sponsor will be shocked (shocked, I say) that its new FooBar Resolver didn't blast the .05 requirement out of the water.  There'll be "unexpected placebo levels" or "unbalanced randomization" or "the FooBar Resolver patients were sicker than placebo".  And so on.&lt;br /&gt;&lt;br /&gt;Be that as it may, here are a couple of sites worth grazing:&lt;br /&gt;&lt;a href="http://addictedtor.free.fr/graphiques/"&gt;The R Graph Gallery&lt;/a&gt;, from Romain François&lt;br /&gt;&lt;a href="http://www.datavis.ca/gallery/index.php"&gt;The Gallery of Data Visualization&lt;/a&gt;, from Michael Friendly&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8081542998177654816?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8081542998177654816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/09/pretty-as-picture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8081542998177654816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8081542998177654816'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/09/pretty-as-picture.html' title='Pretty as a Picture'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4883455141850544541</id><published>2011-09-27T15:43:00.001-04:00</published><updated>2011-09-27T15:43:02.459-04:00</updated><title type='text'>Figures Don't Lie, But Liars Figure</title><content type='html'>I just found this &lt;a href="http://blip.tv/ignitedc/alex-lundry-chart-wars-the-political-power-of-data-visualization-3021845"&gt;link&lt;/a&gt;, which says it all (well, most all) about lying, stats, and graphs.  It's only a bit beyond 5 minutes.  Time well spent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4883455141850544541?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4883455141850544541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/09/figures-dont-lie-but-liars-figure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4883455141850544541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4883455141850544541'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/09/figures-dont-lie-but-liars-figure.html' title='Figures Don&apos;t Lie, But Liars Figure'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1587376858741572821</id><published>2011-09-25T20:38:00.000-04:00</published><updated>2011-09-25T20:38:46.886-04:00</updated><title type='text'>It Ain't The Meat</title><content type='html'>Back in the 70's a married lady (but not to me) of my acquaintance had a preternatural affinity for the Maria Muldaur song, "It Ain't The Meat It's The Motion".  Nothing to do with me, I'll warrant.  It was the 70's, of course, and it means what you think it does.  Still true today, but the context relevant to this endeavor is a bit different.  Welllll, may be a whole lot different.&lt;br /&gt;&lt;br /&gt;One of the neat aspects of R is the ability to talk to most any other application, and vice-versa.  R is, justly, known for the support for graphical display of statistical data.  googleVis is an R package which links R to the Google Visualization API, empowering "moving" data in an html page.  I've not played with it yet, but &lt;a href="http://jeffreybreen.wordpress.com/2011/07/14/r-one-liners-googlevis/"&gt;here's a sample&lt;/a&gt; from a blogger who has.  Yet another case where the R community builds spectacularly useful widgets for the rest of us to exploit.  Who said open source is anti-American communism?  For the record, &lt;a href="http://www.economist.com/node/2020889"&gt;at least little Darl&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A few years back, I was involved with Business Objects, building dashboards.  But using BO requires building a shadow schema of the RDBMS it talks to, and runs as its own application; generally a pain in the butt.  With R, and PL/R with Postgres, one can drive the data and statistical analysis applications through the database.  With googleVis, one can create animated graphs into the browser.  Very cool.  And his talk was on my birthday.  Damn, I missed it.&lt;br /&gt;&lt;br /&gt;The advantage of moving graphics is that this is a way to display higher dimension data; using bubble charts and animation, we get four dimensions, the bubble size and the motion axis (classically, time).  &lt;br /&gt;&lt;br /&gt;There are other plotting packages, beyond the base plot() functions, but I'd be willing to say that googleVis is the least difficult of the bunch.  It does mean that it's for browser applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1587376858741572821?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1587376858741572821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/09/it-aint-meat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1587376858741572821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1587376858741572821'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/09/it-aint-meat.html' title='It Ain&apos;t The Meat'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2134276148042909556</id><published>2011-09-19T15:26:00.002-04:00</published><updated>2011-09-19T15:26:16.926-04:00</updated><title type='text'>Newest Meme:  NoClient Database</title><content type='html'>What's that line from "Network"?  "I'm as mad as hell, and I'm not going to take this anymore."  Such is my view of NoSql nonsense.  I'm not quite as mad at client coders who want to rule over the database, but close.  &lt;br /&gt;&lt;br /&gt;So, it was heartening to &lt;a href="http://people.planetpostgresql.org/andrew/index.php?/archives/214-And-then-there-was-silence.html"&gt;read Dunstan's latest post&lt;/a&gt;, in which he describes the end result of banning the client from the system.  Save for rendering pretty, pretty screens I gather.&lt;br /&gt;&lt;br /&gt;Good on him.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2134276148042909556?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2134276148042909556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/09/newest-meme-noclient-database.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2134276148042909556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2134276148042909556'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/09/newest-meme-noclient-database.html' title='Newest Meme:  NoClient Database'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3185486861039378569</id><published>2011-08-27T16:57:00.000-04:00</published><updated>2011-08-27T16:57:14.081-04:00</updated><title type='text'>Don't Mess With Texas</title><content type='html'>When I was somewhat younger, I worked for a math stat who was born in Rhode Island, grew up in Las Vegas, and did his graduate work in Austin.  This was when I first heard the phrase "Don't mess with Texas".  Context is everything, and today the context is data storage.  &lt;a href="http://www.infoworld.com/d/storage/tms-challenges-high-end-hard-drives-new-flash-storage-array-170585"&gt;Here's one version&lt;/a&gt; of the news.  Which wouldn't be all that interesting, given that Texas Memory has been doing SSD for decades.&lt;br /&gt;&lt;br /&gt;No, what makes this of interest is the following quote:&lt;br /&gt;"TMS is targeting relational databases with its new storage device, just as Fibre Channel drives would be used as the primary storage."&lt;br /&gt;&lt;br /&gt;Rad.  BCNF support in the flesh.  YeeHa.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3185486861039378569?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3185486861039378569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/dont-mess-with-texas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3185486861039378569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3185486861039378569'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/dont-mess-with-texas.html' title='Don&apos;t Mess With Texas'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7225990268730267703</id><published>2011-08-24T14:33:00.003-04:00</published><updated>2011-08-24T14:35:03.224-04:00</updated><title type='text'>Epiphany</title><content type='html'>Whilst bloviating on the OCZ message board, I had an epiphany.  It follows, including the snippet upon which I was commenting.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- Maybe the strategy is to sell more consumer products at a low GM so they can increase the brand awareness of OCZ which will help sell more enterprise products that have huge GM's. &lt;br /&gt;&lt;br /&gt;Not likely.  The Enterprise SSD vendors, modulo Fusion (may be), build parts which are lots more expensive, and generally have bespoke controllers and SLC NAND (eMLC, whatever that might really mean, too).&lt;br /&gt;&lt;br /&gt;To the extent that Enterprise SSD goes the route of Enterprise HDD (buy 'em cheap and swap 'em when they crap out), OCZ could best the likes of STEC, Violin and Texas Memory.  We're not there yet; whoever figures out how to make a cheap SSD which dies gracefully wins.  That may not be possible, given the physics, of course.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7225990268730267703?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7225990268730267703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/epiphany.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7225990268730267703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7225990268730267703'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/epiphany.html' title='Epiphany'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5300154299789333281</id><published>2011-08-19T19:49:00.003-04:00</published><updated>2011-10-26T23:38:33.107-04:00</updated><title type='text'>Viagra At Home</title><content type='html'>A bit of R.  I've mentioned a few times that I "knew" we were headed into the ditch around 2003.  I don't recall that I'd read Shiller at that point (or even that I was aware of him), it was just obvious that house prices were outstripping median income.  The raw data is available (at Shiller's blog, http://www.econ.yale.edu/~shiller/data.htm no idea how long it has been), so here's a picture worth a few words.  The data run from 1890 to 2009.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VKAA9A9mxIM/Tk_W7nOP6iI/AAAAAAAAAC8/gRK9p8zONUE/s1600/house.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="320" src="http://3.bp.blogspot.com/-VKAA9A9mxIM/Tk_W7nOP6iI/AAAAAAAAAC8/gRK9p8zONUE/s320/house.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Where's my little blue pill???&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5300154299789333281?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5300154299789333281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/viagra-at-home.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5300154299789333281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5300154299789333281'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/viagra-at-home.html' title='Viagra At Home'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-VKAA9A9mxIM/Tk_W7nOP6iI/AAAAAAAAAC8/gRK9p8zONUE/s72-c/house.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3745436085009872105</id><published>2011-08-18T21:38:00.002-04:00</published><updated>2011-08-19T07:22:06.735-04:00</updated><title type='text'>Old Frankenstein</title><content type='html'>In "Young Frankenstein", The Doctor asks Eye-gor (Igor) whose brain he *really* retrieved.  Igor replies, "Abby Normal?"  I've spent the last hour or so wandering amongst some web sites, blogs, and whitepapers which seek to explain Normal Forms to normal folks; no math, just words.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fastanimals.com/melissa/WhitePapers/NormalizationDenormalizationWhitePaper.pdf"&gt;This one&lt;/a&gt; says this:  "'Normalization' just means making something more normal, which usually means bringing it closer to conformity with a given standard."  Alas, not even close.&lt;br /&gt;&lt;br /&gt;Which, since I've been re-reading my probability, stats, and stat pack books and docs, this flipped a switch.  Which switch leads to a clearer, albeit slightly mathematical, definition.&lt;br /&gt;&lt;br /&gt;I've done a quick search, and can't confirm that he explicitly said so, but given that Dr. Codd was trained as a mathematician, I'll surmise that he used the word in the following sense.  In math, two terms are used as synonyms, orthogonal and normal.  Remember from geometry class that a 90 degree line is the normal line?  It's also orthogonal.  Orthogonal as a concept means independence of influence (just as the X axis is independent of the Y axis; there some math), and Codd uses that term liberally in his paper.&lt;br /&gt;&lt;br /&gt;So, the normal forms have nothing to do with not insane or seeking standards, but with data independence.  Which is normal.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3745436085009872105?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3745436085009872105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/old-frankenstein.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3745436085009872105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3745436085009872105'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/old-frankenstein.html' title='Old Frankenstein'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3092076290976388246</id><published>2011-08-16T16:39:00.000-04:00</published><updated>2011-08-16T16:39:23.566-04:00</updated><title type='text'>How To Mistreat Life</title><content type='html'>It is amazing, but so far as I can remember, web apps have gotten more than half-way through 2011 before an article which takes client side code &lt;a href="http://www.javaworld.com/javaworld/jw-08-2011/110815-hard-truths-about-html5.html?source=nww_rss"&gt;to task for being silly&lt;/a&gt;.  Hard truth #1 is the worst.  And the only way to avoid it:  database enforced integrity.  There, I said it again.  NO DATA GETS WRITTEN WITHOUT THE ENGINE'S SAY SO.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3092076290976388246?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3092076290976388246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/how-to-mistreat-life.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3092076290976388246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3092076290976388246'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/how-to-mistreat-life.html' title='How To Mistreat Life'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8856574588183957339</id><published>2011-08-08T15:04:00.000-04:00</published><updated>2011-08-08T15:04:05.844-04:00</updated><title type='text'>The Know Nothing Party</title><content type='html'>I came upon &lt;a href="http://zedshaw.com/essays/programmer_stats.html"&gt;this rant/essay&lt;/a&gt; via R-bloggers.  Beyond the fact that Zed (love that name) has a background fairly close to mine, is an R afficionado, and is willing to call the Emperor naked, one could substitute "RDBMS" for "statistics" in his piece.  It would then read like a few of those which have appeared in this endeavor.&lt;br /&gt;&lt;br /&gt;I really should send the link along to some of those folks in Washington I've chatted with over the last few weeks.  Nah.  They wouldn't get the joke.&lt;br /&gt;&lt;br /&gt;Of particular relevance:&lt;br /&gt;"It's pretty simple: If you want to measure something, then don't measure other shit. Wow, what a revelation."&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8856574588183957339?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8856574588183957339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/know-nothing-party.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8856574588183957339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8856574588183957339'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/know-nothing-party.html' title='The Know Nothing Party'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4805982746322663858</id><published>2011-08-04T13:43:00.003-04:00</published><updated>2011-08-04T13:43:34.633-04:00</updated><title type='text'>And The Survey Says...</title><content type='html'>As my dive into stats, and possible departure from RDBMS as the site at the end of the Yellow Brick Road, continues, I came across a ruby library called fechell.  My inital thought:  "shouldn't that be fechall, as in Fetch All, Fetch Ell.  What does that mean?  Well, D'oh!  The normal name for the code is FECHell.  Ah, much more to the point.&lt;br /&gt;&lt;br /&gt;I found two posts, by way of R-bloggers by the person who developed the library.  &lt;a href="http://www.r-bloggers.com/open-source-campaign-finance-analysis-with-r-and-mysql/"&gt;Here's the post&lt;/a&gt; where he develops the use of the data and the library.  He references a Part 1 post with the background.&lt;br /&gt;&lt;br /&gt;This intrigues me not a little bit.  Suppose, just for grins, that you're the campaign manager for a state wide (or larger) candidate.  That is, one where monies are allocated to distinct locations.  Further, suppose that you have this data in close to real-time, and you also have data measuring "outcome" for the use of these monies, say polling data.  And let's say that the two maps, monies and outcomes, are congruent.&lt;br /&gt;&lt;br /&gt;Could one make predictive decisions about monies allocations?  Well, it depends.  The naive' answer is: abso-freakin-lutely!!!!  The real answer:  not so much.  The naive' notion is that money well spent is indicated by winning the election (which is kind of too late for allocation decisions) or some upward movement in polling data.  Ah.  Let's spend where the spending works.  Superficially, makes a lot of sense.&lt;br /&gt;&lt;br /&gt;The only problem:  stat studies invariably show little correlation between money and winning.  I know, Liberals in particular are worried about the Citizens United effect, where corporations have gobs more loot than anybody else.  They'll just buy the elections.  And they well might.  This would not make me smile.  But, the studies of the data show that the effectiveness of campaign ads is less grounded in their expense, rather their content.  Sometimes, may be often, attack ads work.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.121.792&amp;rep=rep1&amp;type=pdf"&gt;Here's an academic&lt;/a&gt; attempt to find out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://psychologyinaction.org/2011/05/27/how-effective-are-political-campaign-advertisements/"&gt;And yet another&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A quote from the second story (not, that I know yet, cited from the study):&lt;br /&gt;"While we see an influence of the campaign ad in the short-run, in the long run the ad loses its effectiveness. This finding begs the question: how cost effective is it for politicians to spend millions of dollars on campaign ads which have little long-term effect on voter opinion?"&lt;br /&gt;&lt;br /&gt;StatMan to the rescue!!!  The problem is that it's now August, 2011, and any application being written as I write (assuming that folks have started) need to be up and running by January.  In order to be worth the time and money expended, the application has to have *predictive* value.  FECHell data passed through some software is only retrospective.  Political ops should know enough about their candidates and opponents to design ads that work.  Making a simplistic leap from $$$ to polling/winning is a waste of that time and money.  The retrospective data needs to be run through some multi-variate hoops (either multiple regression or ANOVA, most likely; PCA and MDS are less applicable here) to identify the attributes, besides money, which move the bar toward higher polling or winning.  &lt;br /&gt;&lt;br /&gt;The problem with the simplistic model is that the knee jerk reaction to positive feedback in some campaign is to toss yet more money to that campaign.  But that's likely a waste of money.  The goal is to use the data to identify those trailing candidates today who'll win tomorrow if they get more $$$ and *spend it on what works*.  Pouring money into a winner is a loser.  Pouring money down a rat hole is, too.  The latter case is more obvious, but the former is just as wasteful.&lt;br /&gt;&lt;br /&gt;Economists refer to "opportunity costs"; I can spend $1 on toothpaste or candy.  I can't have both.  In the short run, candy is dandy.  In the long run, toothpaste wins.  Campaigns don't, generally, last as long as the toothpaste's long run, but you get the point.  Money is finite, and should be spent on those activities/goods/services which gain advantage to the goal.  In the case of FECHell data, the goal is winning elections.  Looking retrospectively only at $$$ and winners is just the wrong goal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4805982746322663858?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4805982746322663858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/and-survey-says.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4805982746322663858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4805982746322663858'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/08/and-survey-says.html' title='And The Survey Says...'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3048153255086385261</id><published>2011-07-29T10:08:00.000-04:00</published><updated>2011-07-29T10:08:50.805-04:00</updated><title type='text'>STEC Crashes</title><content type='html'>What's it all mean?  Beyond losing a bunch o' cash for those holding (not I)?&lt;br /&gt;&lt;br /&gt;It might be a bad thing for BCNF on SSD, but may be not.  It kind of depends.  According to reports from the conference call, STEC parts are being replaced by its clients (who are mostly storage vendors, not the user enterprises) with cheaper SATA drives and protocol morphing dongles.  If true, then STEC's fall, while not good for them, is not relevant to the SSD Revolution.&lt;br /&gt;&lt;br /&gt;On the other hand, if this means that SSD is being shifted aside from primary datastore to cache/Tier0/foo, then it bodes ill for my version of the Revolution.  In Enterprise, at least.  I could live with that.  Enterprise has an absolute reactionary tilt; they keep 40 year old COBOL systems alive.  Why isn't there a Do Not Resuscitate for dying code?  &lt;br /&gt;&lt;br /&gt;New systems, from smaller builders, are where the "innovation" will come from.  I can live with that.  If I never see the inside of a Fortune 500 (as an employee, that is) building, that is perfectly OK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3048153255086385261?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3048153255086385261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/stec-crashes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3048153255086385261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3048153255086385261'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/stec-crashes.html' title='STEC Crashes'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7287343087543994112</id><published>2011-07-28T08:11:00.000-04:00</published><updated>2011-07-28T08:11:07.688-04:00</updated><title type='text'>Mongo Loves Candy</title><content type='html'>I recently chatted with some folks about real databases, in RoR, to solve real problems.  Not so sure they're interested in real databases, but they're interested in Rails.  Along the way, they mentioned that they'd been using Fusion-io SSDs.  Be still my heart!  Turns out that they've a separate datastore, in MongoDB, which had become as slow as molasses uphill in winter.  So they bought a 1T Fusion-io card, in hopes of speeding things up.  Didn't work out.&lt;br /&gt;&lt;br /&gt;What's not widely understood about PCIe SSDs is that they're, more or less, heavily dependent on the cpu to get the work done. Or, &lt;a href="http://www.storagesearch.com/"&gt;as Zsolt puts it&lt;/a&gt; (on today's front page):  "how much of the host CPU power is needed to make the SSDs work? - this is important if you're trying to fix an already overloaded production server - because you can't afford to lose performance while you tune the hot spots (even if the theoretical end point of the tuning process is faster)".  I suspect they might decide MongoDB is the problem (document datastores make my teeth hurt).  SSD with BCNF databases will generate real performance improvements.  PCIe cards are not indicated if the problem is cpu bound.&lt;br /&gt;&lt;br /&gt;One can find out, well enough anyway, whether the process is cpu or I/O bound with iostat and vmstat on *nix systems.  That's the place to start.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7287343087543994112?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7287343087543994112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/mongo-loves-candy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7287343087543994112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7287343087543994112'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/mongo-loves-candy.html' title='Mongo Loves Candy'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4511162797527330136</id><published>2011-07-27T10:05:00.000-04:00</published><updated>2011-07-27T10:05:39.963-04:00</updated><title type='text'>Ohm's Law</title><content type='html'>I've gotten to enjoy Christophe Pettus' postings linked from the PostgreSQL site.  He does a neat presentation.  &lt;a href="http://thebuild.com/presentations/unbreaking-django.pdf"&gt;This is his latest&lt;/a&gt;.  Note especially pages 50 and following.  While he's a Python/Postgres kind of person, and I'm currently exploring RoR again (long story), he does say things the way I do.  Not quite as famous as he is, of course.  In the database is truth.  Note in particular his observations with regard to "cloud" I/O; it's what I've always suspected.  It's your data, don't treat it like a red haired step-child.  The SSD is the future of normalized, i.e. fast, data.  The "data explosion" is largely the result of bad (non-existent?) data modeling.  Cloud is all about minimalist/commodity parts which are easily re-assignable.  If anything kills off the RM, it will be public clouds.  Coders get infinite employment, and the profession relives the 1960s.  Sniff.&lt;br /&gt;&lt;br /&gt;So far as that goes, what he's saying about coders abusing the database from Django is about what I've seen with coders abusing the database from RoR; may be more so, given David's attitude toward data.  The problem with ORMs is that they seek to solve a problem created by OO coders, but which doesn't exist in the Real World.  Such coders refer to the problem as Impedance Mismatch, which is merely an assumption that objects can't be populated with data from the RM.  But it's just an assumption.  What they steadfastly (shades of Tea Baggers, what?) refuse to acknowledge is that BCNF databases allow for construction of arbitrarily complex data structures, unlike the hierarchic/IMS/xml approach, which is locked in to a parent/child structure.  Change that, and all the application code which manages it has to change.  Well, unless you've written a bare bones RM engine into your application.  Don't laugh; I've lived through folks doing just that.&lt;br /&gt;&lt;br /&gt;The world isn't hierarchic, no matter what OO/xml folks want to assert.  I've worked lots of places, small to huge, and the archetype for the hierarchic structure doesn't actually exist.  That structure is the Org Chart.  In the hypothetical world, each worker bee has one, and only one, supervisor.  The real world is run on Matrix Management, one has supervisor du jour, never the same one each day, varies by project/location/assignment/foobar.  The real world is relational, connections come and go, in vivid multiplicity.  The relational model stores such natively.  From this structure can be built any set of connections which arise.  By *not predefining* the connections, only the absolute identities of each type/rule, one can create new relationships simply by naming new foreign keys (cross-reference tables, by various names, for many-to-many relations).&lt;br /&gt;&lt;br /&gt;One can also add new data without (if one has been moderately smart with the DDL/SQL) clobbering any existing SQL (or, heaven help us all) application code which directly queries the DB.  Existing queries can ignore, if desired, new columns and new tables; so long as one avoids 'Select * from ...', of course.  You would never do that, right?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4511162797527330136?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4511162797527330136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/ohms-law.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4511162797527330136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4511162797527330136'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/ohms-law.html' title='Ohm&apos;s Law'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7872443215706786600</id><published>2011-07-13T13:59:00.002-04:00</published><updated>2011-07-13T13:59:53.135-04:00</updated><title type='text'>M'mmm, Kool Aid</title><content type='html'>I'll include some of the text, since the way &lt;a href="http://www.storagesearch.com/"&gt;Zsolt's site&lt;/a&gt; is structured, entries tend to disappear down a rabbit hole.  Today, this is still front page.  Go there to finish it up:  he's got quite a lot to chew on, and he does the site for a living.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Editor:- July 11, 2011 - I recently had a conversation with a very knowledgeable strategist at a leading enterprise storage software company. I won't say who the company is - but if I did - most of you would know the name.&lt;br /&gt;&lt;br /&gt;The interesting thing for me was that he'd recognized that if the hardware architecture of the datacenter is going to change due to the widespread adoption of solid state storage - that will create new markets for traditional software companies too.&lt;br /&gt;&lt;br /&gt;And I'm not talking here about new software which simply helps SSDs to work or interoperate with hard drives - but software which does useful things with your data - and which can take advantage of different assumptions about how quickly it can get to that data - and how much intensive manipulation it can do with it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;While he doesn't say BCNF-RDBMS in his text, he's saying it.  I've been bugging him for some time to drink the Kool-Aid.  Sounds quite like both he and the unnamed "strategist" (no, not I, alas) have quaffed deeply.  Face it, if all you do is keep appending flatfile "fields and records" to some file, not only do you never get ahead of the bull, but you get gored sooner or later.  BCNF is the *only* hope.  Yes, this requires designers/developers to actually *think* about the data.  But, isn't that why we get paid the *big bucks*?&lt;br /&gt;&lt;br /&gt;(OK, I went a bit asterisk nuts with this one.  Finding validation does do that.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7872443215706786600?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7872443215706786600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/mmmm-kool-aid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7872443215706786600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7872443215706786600'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/mmmm-kool-aid.html' title='M&apos;mmm, Kool Aid'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5791749489662963362</id><published>2011-07-12T10:51:00.002-04:00</published><updated>2011-07-12T10:51:54.726-04:00</updated><title type='text'>What's Up Doc??</title><content type='html'>Another in the occasional post from elsewhere.  This time, simple-talk (no surprise there) with &lt;a href="http://www.simple-talk.com/community/blogs/tony_davis/archive/2011/07/08/102214.aspx"&gt;thread on bugs&lt;/a&gt;.  Herewith my contribution, because the issue of buggy software can't be divorced from the application architecture and data language.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ultimately there are two categories of bugs:&lt;br /&gt;A) those caused by stupidity, inattention, carelessness, etc.&lt;br /&gt;B) those that are the result of extending the developer's/team's experience&lt;br /&gt;&lt;br /&gt;The entire ecosystem around each is necessarily different, and there are multiple approachess.&lt;br /&gt;&lt;br /&gt;The A variety will be dealt with as the ethos of the organization dictates; anywhere from fired on first mistake to employed forever out of harm's way.  Detecting such bugs should be possible with known testing harnesses/practices.&lt;br /&gt;&lt;br /&gt;The B variety is more interesting.  &lt;br /&gt;&lt;br /&gt;For those in the BCNF realm, much of what passes for "new technology" in data stores and processing is VSAM redux, which brings with it the COBOL RBAR mentality, irregardless of the source language.  This POV is wrapped in whatever jargon is native: NoSql, Hadoop, Map/Reduce/BigData/foobar.  But the fact remains that coders are implementing ACID (if they care at all about their data) in some (high-level) language outside the storage engine.&lt;br /&gt;&lt;br /&gt;Whether the organization realizes its mistake, and implements engine side processing, a la Phil's current article, or undertakes to use the FOTM client side framework, the coders are left in unexplored territory.&lt;br /&gt;&lt;br /&gt;Left unexplored, generally, is an analysis of what architecture (engine side vs. client side vs. application language vs. database engine [not all do all things well]) is the least prone to both type A and type B errors for the application in hand.  &lt;br /&gt;&lt;br /&gt;Declarative languages (SQL, Prolog) just tend toward fewer errors.  SQL is dependent on schema quality, and coders tend to view schema specification as a low value, unimportant task.  Certainly not one for which specific expertise and experience is required; any coder can do it.&lt;br /&gt;&lt;br /&gt;The bugs that matter, which mess up the datastore, are just less likely if processing stays in the engine.  Bugs which consist of ugly fonts, not so much.&lt;br /&gt;&lt;br /&gt;As to IT managers, again, two categories:  those that were and are technically superior, and those who never were.  The former, albeit rarely do they exist, generally get more done.  The latter do awesome Power Points.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5791749489662963362?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5791749489662963362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/whats-up-doc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5791749489662963362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5791749489662963362'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/whats-up-doc.html' title='What&apos;s Up Doc??'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4537857479689256925</id><published>2011-07-09T15:56:00.003-04:00</published><updated>2011-07-09T15:58:37.348-04:00</updated><title type='text'>Workin' on the Chain Gang</title><content type='html'>LinkedIn, LinkedIn whatever are we to do with you?  I've not had anything to say, given how silly the whole mess is, but today's NY Times &lt;a href="http://www.nytimes.com/2011/07/09/business/gauging-if-linkedin-signals-a-social-networking-bubble.html"&gt;has an almost true article&lt;/a&gt;.  I don't have meaningful disagreement with the problems raised in the article, but it avoids the underlying issue.  (That it makes my thesis that advertising based business is inherently unstable, is another atta boy for me.)&lt;br /&gt;&lt;br /&gt;No, the problem with LinkedIn is that the business model is foolish.  The business model is based on the assertion that people without employment and income will rush out to buy stuff.  How stupid is that?  One can slather on all sorts of finery, but that's the business model.  At least Google attaches ads to activities utilized by everybody.&lt;br /&gt;&lt;br /&gt;There's a reason that employment agencies charge money for their services; they actually do some work.  Most of it is negative, removing for essentially arbitrary reasons otherwise qualified folks.  LinkedIn presumes that if an unemployed is known to the employed, that this will embolden hiring agents to consider an unemployed for a position.  Factually false.  Been there, done that.  Employers, though it be illegal, are more than willing to admit not interviewing an unemployed.&lt;br /&gt;&lt;br /&gt;What, then, about those on LinkedIn who are currently employed?  Will they be buying stuff?  May be.  May be not.  The folks from my last employer that LinkedIn offers up each week or so, for instance.  Are they looking?  I don't know.  I do know that 99.44% of them have never worked anywhere else (both young and old) or on any other software.  In many cases only the decades old COBOL that constitutes the application.  On a mainframe.  Will such folks be buying stuff?  Probably not.&lt;br /&gt;&lt;br /&gt;Near as I can tell, LinkedIn, whether its progenitors say so or not, is attempting to implement what the high end (or low end, depending on your point of view) agencies promote:  access to the hidden job market.  Whether such actually exists has been a matter of controversy at least since the 1970's, lawsuits and all.  For companies large enough to have an HR department, ain't nobody gettin' through without they go through them.  It's job preservation, after all.  For the SMB crowd, it might work.  For startups (where the really interesting, and vastly stupid, activity is), even less so.&lt;br /&gt;&lt;br /&gt;LinkedIn is a bottle rocket, soon enough to come crashing down.  Google needn't worry that it is the advert server to fear.  There will be such an advert server, as I have written.  LinkedIn isn't it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4537857479689256925?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4537857479689256925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/workin-on-chain-gang.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4537857479689256925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4537857479689256925'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/07/workin-on-chain-gang.html' title='Workin&apos; on the Chain Gang'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8701899289139202587</id><published>2011-06-30T21:09:00.002-04:00</published><updated>2011-06-30T21:09:40.582-04:00</updated><title type='text'>I'm Just Going Through a Bad Phase</title><content type='html'>"Phasers on stun", said Captain Kirk.  Well he said that just about every episode.  Today &lt;a href="http://www.computerworld.com/s/article/9218031/IBM_announces_computer_memory_breakthrough?taxonomyId=19&amp;pageNumber=1"&gt;ComputerWorld reported on IBM's PCM&lt;/a&gt; flash replacement.  For background on PCM, see &lt;a href="http://en.wikipedia.org/wiki/Phase-change_memory"&gt;WikiPedia&lt;/a&gt;, and the article has a link to a much earlier one on PCM.&lt;br /&gt;&lt;br /&gt;From the WikiPedia piece:&lt;br /&gt;"PRAM devices also degrade with use, for different reasons than Flash, but degrade much more slowly. A PRAM device may endure around 100 million write cycles."&lt;br /&gt;&lt;br /&gt;In the past, I've written about &lt;a href="http://www.unitysemi.com/"&gt;Unity Semiconductor&lt;/a&gt;, which has had a flash replacement in development for some years; I found them when I first began looking into SSDs.  One way or another, we'll soon have a solid state datastore that is effectively infinite in write capability, just like HDD.&lt;br /&gt;&lt;br /&gt;Once again, Oz looks larger and brighter.  Be still my heart.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8701899289139202587?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8701899289139202587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/im-just-going-through-bad-phase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8701899289139202587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8701899289139202587'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/im-just-going-through-bad-phase.html' title='I&apos;m Just Going Through a Bad Phase'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-801837868040851673</id><published>2011-06-28T15:33:00.000-04:00</published><updated>2011-06-28T15:33:06.883-04:00</updated><title type='text'>A Bump in the Yellow Brick Road</title><content type='html'>No, I'm not renouncing.  Events of the last year or so caused me to ruminate on this journey down the Yellow Brick Road.  Some of the events:&lt;br /&gt;&lt;br /&gt;Consumer/prosumer SSDs persist in not being built with data caps.  The industry is, perhaps, more divided now than at any earlier time.  Consumer devices use barely tractable MLC flash (~3,000 cycles), and SandForce continues to gain traction in the consumer side.  Given the finite nature of flash, an SSD will die in the near future.  An HDD, on the other hand, might well continue to function for the better part of a decade.  In any event, the HDD doesn't have defined drop dead time.&lt;br /&gt;&lt;br /&gt;Capacity remains under a TByte for the vast majority of parts.  This is important because:&lt;br /&gt;most folk continue to view SSD as just a faster HDD; which isn't important outside of the RDBMS arena, but critical to getting the most bang for the buck there.  For RDBMS installs, where (re)normalizing is ignored, the cost of moving from HDD to SSD is expensive, so is often attempted with consumer level drives.  In the HDD world, that's not unusual; most drives are both over there.&lt;br /&gt;&lt;br /&gt;Small scale (web and SMB verticals, for instance) databases, often on MySql or Postgres, just won't be safe enough on consumer drives.  The various threads on postgresql-performance make the case, much as I'd wish the truth be otherwise.  What's particularly odd is that both vendors and most consumers appear to be OK with catastrophic loss of data in normal life.  Very odd.  &lt;br /&gt;&lt;br /&gt;Given the physics of writing, SSD vs. HDD that is, is just way cool different.  SSD controllers spew the bits all over the flash, and the erase process can hardly be considered atomic.  The majority of SSD controllers use RAM caching to reduce write amplification, and this is an additional fault point.  HDD based engines, industrial strength ones like DB2, can guarantee that only the open transaction(s) will be hosed on a failure.  SSD based storage just can't if there isn't persistent power available.  &lt;br /&gt;&lt;br /&gt;The failure of developers, at least those who publish, to lobby for (re)normalization as part and parcel of transition from HDD to SSD is regrettable.&lt;br /&gt;&lt;br /&gt;Is there still a Yellow Brick Road leading to Oz?  I still believe so, but Oz looks to be more a Potemkin village than a New World.  Only shops with the fortitude to make a full transition using enterprise quality SSDs will actually get there.  One can eliminate 99.44% of web sites and SMB verticals; they're just content to be penny wise and pound foolish.  Oh well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-801837868040851673?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/801837868040851673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/bump-in-yellow-brick-road.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/801837868040851673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/801837868040851673'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/bump-in-yellow-brick-road.html' title='A Bump in the Yellow Brick Road'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8523668599314719101</id><published>2011-06-14T10:47:00.000-04:00</published><updated>2011-06-14T10:47:24.161-04:00</updated><title type='text'>Sprechen sie Deutsch?  Habla Espanol?</title><content type='html'>Artima has been quiet of late, not many new articles or comments.  Could be that coders are satiated?  Then I went over today, and &lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=328540"&gt;Bruce Eckel has praise for Scala&lt;/a&gt;.  Last I read, he and Bruce Tate (not related, so far as I know) had gotten Python fever.  Well, Eckel has been infected for some time.  Which is why I never expected to get a Scala piece from him.&lt;br /&gt;&lt;br /&gt;Smitten, I ordered "Programming in Scala"; finally bit the bullet.  It's one of the few languages, not on a database engine, that still intrigues me.  Yes, I've done Prolog, Erlang, and Haskell, to name some.  And, yes, Prolog is the closest to a RM language out there.  But it's just not used enough.  That, and the syntax is just plain wacky (not as extreme as Lisp, but that's to be expected).  2.8 is the current version, and is covered in this second edition.&lt;br /&gt;&lt;br /&gt;But, back to Eckel's article.  What struck me, yet again, is the emphasis on iteration in his discussion.  Yet another language creating yet another syntax to loop.  Why are we still doing this in high level languages, not-assemblers?  For some code, that which doesn't deal with real data in databases, it could be argued that application code needs to loop.  But, even then, I don't quite buy it.  I spent/wasted some years with Progress/4GL, a database engine + application language.  It had flippant support of SQL in the engine, but 99.44% of coders used the bundled 4GL.  And how did this language deal with table data?  You guessed it,  --For Each-- .  Now, this was promoted as a *4GL*, not COBOL.  Fact was, it was effectively COBOL.  We've been saying to each other for at least three decades that the future is now, and the future is declarative coding, yet we keep focusing on application level iteration.  The datastore should do that.  It's written in the lowest level language, typically naked C (with, I suspect, performance bottlenecks in each support OS assembler).  &lt;br /&gt;&lt;br /&gt;Let the datastore be the datastore!!  (Yes, that does remind you of some political hackery from the 1980's.)&lt;br /&gt;&lt;br /&gt;Declarative development is exemplified by the RM and RDBMS.  Why the refusal?  &lt;br /&gt;&lt;br /&gt;We continue to see web/client app code which, even on database support/discussion sites, we're concerned about sending whole result sets to the client.  Why?  If you're intent is to make changes to multiple rows in a specific fashion, that's a stored procedure.  Do it all on the engine.  That's what it's good at.  Don't ship data off the server, just so you can iterate (using the very special syntax of your fave language) over thousands or millions of rows.  This is folly.  Such discussions always then devolve into arguments about transactions locking rows; and so forth.  Yikes!&lt;br /&gt;&lt;br /&gt;While it isn't quite what one might expect, given its title, everybody should read Celko's "Thinking in Sets".  It's not a treatise on set theory in the datastore, but still useful in providing examples where table data makes more sense (even in a performance metric) over code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8523668599314719101?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8523668599314719101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/sprechen-sie-deutsch-habla-espanol.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8523668599314719101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8523668599314719101'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/sprechen-sie-deutsch-habla-espanol.html' title='Sprechen sie Deutsch?  Habla Espanol?'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1847834942167170518</id><published>2011-06-09T12:03:00.000-04:00</published><updated>2011-06-09T12:03:20.001-04:00</updated><title type='text'>My Security Blanket</title><content type='html'>Regular readers may note that Linus Torvalds has pride of place in the quotation section of this endeavor.  He's recently been &lt;a href="http://www.wallstreetandtech.com/articles/230200057?pgno=1"&gt;interviewed by some e-zine&lt;/a&gt; I've not heard of.&lt;br /&gt;&lt;br /&gt;Here's a quote:&lt;br /&gt;I'm also a huge fan of SSDs, and the huge reduction in latency of storage technologies has some big impacts on OS performance. A lot of people end up spending a lot of time waiting for that traditional rotational media. &lt;br /&gt;&lt;br /&gt;Pretty much what he said back in 2007.  Let's get a move on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1847834942167170518?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1847834942167170518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/my-security-blanket.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1847834942167170518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1847834942167170518'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/my-security-blanket.html' title='My Security Blanket'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7030205316294661803</id><published>2011-06-07T09:33:00.002-04:00</published><updated>2011-06-07T09:33:53.049-04:00</updated><title type='text'>Fiddlers Three</title><content type='html'>In the event that you haven't been following the news, Fusion-io is in the midst of an IPO.  It turns out, that &lt;a href="http://finance.fortune.cnn.com/2011/06/07/violin-memory-plays-at-400-million-valuation/?source=yahoo_quote"&gt;Violin Memory&lt;/a&gt; is closing in on doing so, too.  Since I began digging into the SSD story some years ago, Violin has been kind of (but not quite) stealthy.  In part, because it is still private, so doesn't end up in various "investor" discussion forums, and in part because it focuses on the True Enterprise SSD; Fusion-io and OCZ in particular are public and consumer focused.&lt;br /&gt;&lt;br /&gt;The article mentions Oracle, which fits with my vision of where SSD databases are going.  Eventually even Larry will figure out that the bang for the buck (his, not necessarily his customers) lies in Being Normal.  For Larry, that's saying a bit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7030205316294661803?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7030205316294661803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/fiddlers-three.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7030205316294661803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7030205316294661803'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/06/fiddlers-three.html' title='Fiddlers Three'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3401021306241444224</id><published>2011-05-31T07:46:00.000-04:00</published><updated>2011-05-31T07:46:05.637-04:00</updated><title type='text'>You're Solid, Man</title><content type='html'>If you're of a certain age, "solid, man", has a certain meaning (if you go &lt;a href="http://dictionary.reference.com/browse/solid"&gt;here&lt;/a&gt;, and open up the list and then go to the bottom.  &lt;a href="http://solidfire.com/company/"&gt;SolidFire is a company&lt;/a&gt; which claims to be building SSD in the cloud; somehow or other I got on the early announcement list.  &lt;br /&gt;&lt;br /&gt;According to their press section, they've been in business since January of this year.  It'll be interesting to see whether they make the connection between the value of SSD and the value of the RM/SQL/RDBMS.  Minimize footprint, wear SSD galoshes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3401021306241444224?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3401021306241444224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/youre-solid-man.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3401021306241444224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3401021306241444224'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/youre-solid-man.html' title='You&apos;re Solid, Man'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7711023999407484149</id><published>2011-05-24T09:27:00.002-04:00</published><updated>2011-05-24T09:27:38.959-04:00</updated><title type='text'>Do the Limbo Rock</title><content type='html'>There's been some whoopla recently about OCZ's latest drives, and the SandForce controller used.  Today, &lt;a href="http://www.anandtech.com/show/4346/ocz-agility-3-240gb-review"&gt;AnandTech looks at the latest&lt;/a&gt; of the latest, the Agility 3.  Of most interest to this endeavor is the background on NAND architecture.  &lt;br /&gt;&lt;br /&gt;What's it all mean, Mr. Natural?  Well, with respect to Enterprise (or even SMB) systems, not much I expect.  OCZ and SandForce remain, so far as I can determine, firmly in the consumer/prosumer territory.  Until SF drives start showing up from a major vendor, of course (there's not been an announcement from SF, yet).  I don't see that happening, what with the implementation of encrypted/compressed data in industrial strength databases.  Workgroup/internal document storage, may be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7711023999407484149?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7711023999407484149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/do-limbo-rock.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7711023999407484149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7711023999407484149'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/do-limbo-rock.html' title='Do the Limbo Rock'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5841161604240187681</id><published>2011-05-05T14:53:00.002-04:00</published><updated>2011-05-05T14:53:41.156-04:00</updated><title type='text'>Mr. Wonka's Factory</title><content type='html'>&lt;a href="http://www.simple-talk.com/opinion/opinion-pieces/a-developers-guide-to-refactoring-databases/"&gt;Here's a post&lt;/a&gt; on simple-talk which was dormant for most of a month (it's down to the last place on the front page today), then got really popular the last few days.&lt;br /&gt;&lt;br /&gt;The subject:  cleavages; well no, but I've liked that line since Lou Gottlieb used it to introduce a song lo those many years ago.  Well, may be, actually, in a manner of speaking.&lt;br /&gt;&lt;br /&gt;The subject is database refactoring.  The post and discussion started out blandly, but then opened up (cleaved, see?) that long festering wound of front-end vs. back-end design/development.  Simple-talk subjects and discussions tend toward a coder perspective, I suppose because T/SQL is often germane to topics, so a certain amount of self-selection exists both for authors and readers.  &lt;br /&gt;&lt;br /&gt;The idea of refactoring a database, especially given the tripe espoused by the likes of Ambler (&lt;a href="http://www.amazon.com/gp/search/ref=sr_adv_b/?search-alias=stripbooks&amp;unfiltered=1&amp;field-keywords=&amp;field-author=scott+w.+ambler&amp;field-title=&amp;field-isbn=&amp;field-publisher=&amp;node=&amp;field-p_n_condition-type=&amp;field-feature_browse-bin=&amp;field-binding_browse-bin=&amp;field-subject=&amp;field-language=&amp;field-dateop=&amp;field-datemod=&amp;field-dateyear=&amp;sort=relevanceexprank&amp;Adv-Srch-Books-Submit.x=27&amp;Adv-Srch-Books-Submit.y=15"&gt;some of his stuff)&lt;/a&gt;, has been hijacked by the kiddie koders.  Refactoring, for a RDBMS means getting more normal.  It doesn't mean twisting the schema to fit some single access path, a la IMS or xml (hierarchies).  That's not why Dr. Codd made the effort.  He made the effort because he saw the mess that IMS was making; he'd been there when IMS was released and devised the RM a couple years later.  In other words, it didn't take a math guy very long to identify both the problem and the solution.&lt;br /&gt;&lt;br /&gt;Now that we have high-core machines with SSD as primary datastore, we can implement BCNF (at least) schemas/catalogs with no worries about "let's denormalize for speed".  Those days are truly history.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5841161604240187681?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5841161604240187681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/mr-wonkas-factory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5841161604240187681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5841161604240187681'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/mr-wonkas-factory.html' title='Mr. Wonka&apos;s Factory'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5627732068470598943</id><published>2011-05-03T18:26:00.000-04:00</published><updated>2011-05-03T18:26:15.631-04:00</updated><title type='text'>Get Offa That Cloud</title><content type='html'>On more than one occasion, I've criticized all things cloud, since I see cloud as a lowest common denominator storage approach.&amp;nbsp; But then, this is based only on my experience with cloud-like provisioners over the last couple of decades.&amp;nbsp; Well, turns out I'm not the only one, and &lt;a href="http://archives.postgresql.org/pgsql-performance/2011-05/msg00027.php"&gt;some of these folks&lt;/a&gt; have as much fun with the silliness as I have.&amp;nbsp; The thread is new, so keep track for further hilarity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5627732068470598943?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5627732068470598943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/get-offa-that-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5627732068470598943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5627732068470598943'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/get-offa-that-cloud.html' title='Get Offa That Cloud'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-93421446339469314</id><published>2011-05-01T23:22:00.002-04:00</published><updated>2011-05-04T12:56:34.000-04:00</updated><title type='text'>Ruler of All I Survey</title><content type='html'>There's that old phrase, "master of my own domain", and it is particularly useful in relational databases.  While working in the COBOL oriented DB2 world of Fortune X00, I was continually rebuffed whenever I suggested the use of check constraints.  I had to sneak them into some of my lesser databases, but that was cool.&lt;br /&gt;&lt;br /&gt;In addition to regular check constraints, there is the notion of domains.  They're sometimes referred to as user defined types.  &lt;a href="http://www.postgresonline.com/journal/archives/205-Using-Domains-to-Enforce-Business-Rules.html"&gt;Here's a Postgres&lt;/a&gt; based treatment.  Interestingly, Postgres has better support than DB2; PG allows check constraints while DB2 doesn't.  Once again, the author's make my point (admittedly, the point made by anyone who takes RDBMS seriously) that control of the data in the database, rather than relying on each application code.  Bulk loads, with most engines, enforce constraints so batch data transfers are a breeze.  Not to mention that client code can be in any convenient language.  And that a smart generator can use domain/UDT definitions whilst doing its thing.  I've said that before, I believe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-93421446339469314?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/93421446339469314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/ruler-of-all-i-survey.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/93421446339469314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/93421446339469314'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/05/ruler-of-all-i-survey.html' title='Ruler of All I Survey'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-615061223887727064</id><published>2011-04-25T11:05:00.003-04:00</published><updated>2011-04-25T11:47:02.495-04:00</updated><title type='text'>He Ain't Superman</title><content type='html'>Back in the early days of java and the time of the dotcom bust, George Reese was a minor pundit/author (O'Reilly division) in the database part of the world.&amp;nbsp; You can look up his stuff at O'Reilly or Amazon.&amp;nbsp; Not much heard from since then.&amp;nbsp; He would occasionally show up on the O'Reilly site.&amp;nbsp; And he has again.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://broadcast.oreilly.com/2011/04/the-aws-outage-the-clouds-shining-moment.html"&gt;Here's his take on the Amazon fiasco.&lt;/a&gt;&amp;nbsp; What's so intriguing about this missive is the Up is Down meme involved here.&amp;nbsp; The Cloud meme has been promoted as a less: expensive, time, resource, attention answer to the Data Processing Problem, particularly for web sites.&amp;nbsp; Reese spends his few thousand words telling us that the SLA is *our* responsibility, not Amazon's.&amp;nbsp; Ditto for infrastructure design.&amp;nbsp; Ditto for physical design.&amp;nbsp; Ditto for just about everything.&amp;nbsp; Well, you're not allowed RDBMS, but you didn't want that anyway, did you?&lt;br /&gt;&lt;br /&gt;He spends all that ink telling us that we have to work around the fragility of Cloud provision, in order to utilize Cloud.&amp;nbsp; And we can't do databases, because, well, Cloud just isn't quite up to that.&amp;nbsp; Where, exactly, is the win for clients who care about their data?&amp;nbsp; He admits that such services won't provision such that there is sufficient excess capacity to support the loss of significant resources.&amp;nbsp; Kind of like what might happen if you ran your own datacenter, only worse.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;What's most annoying about his missive is that he makes, nearly explicitly, the assertion that the storage method, Cloud, determines the nature of the datastore.&amp;nbsp; Not only can you not have SSDs as primary store for a BCNF databases, you can't even have *any* sort of RDBMS if you use Cloud.&amp;nbsp; Last time I checked, that's the tail wagging the dog.&amp;nbsp; But knuckleheads who admire the Emperor's New Clothes typically ignore such conflicts.&lt;br /&gt;&lt;br /&gt;Oh, and you really should go read the piece.&amp;nbsp; The commenters have a field day with his silliness.&amp;nbsp; Yum.&lt;br /&gt;&lt;br /&gt;[UPDATE]&lt;br /&gt;In my haste to get this in words, I neglected to explicitly state the objection to Cloud I (and others) hold:&amp;nbsp; the value proposition for Cloud is that it enables organizations (even just the IT group on its own) to out source an unwanted responsibility at lower cost; don't do it yourself and save money.&amp;nbsp; Reese's treatise, and the failure, deny the existence of that proposition.&amp;nbsp; This, while I gather he doesn't get it, is kind of a Big Deal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-615061223887727064?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/615061223887727064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/04/he-aint-superman.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/615061223887727064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/615061223887727064'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/04/he-aint-superman.html' title='He Ain&apos;t Superman'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8781243971010902991</id><published>2011-04-24T22:45:00.002-04:00</published><updated>2011-04-24T22:48:21.147-04:00</updated><title type='text'>Was A Cloudy Day</title><content type='html'>As regular readers know, I've not been a fanboy of anything Cloud.&amp;nbsp; My reasons are less to do with security, reliability, and other mundane considerations; rather that Cloud represents lowest common denominator (race to the bottom) disk storage.&amp;nbsp; As a means for storing family vacation photos, well, OK.&amp;nbsp; I'd prefer to keep those on my own storage, but each to his own.&amp;nbsp; But Cloud for serious storage, I've never been a fan.&amp;nbsp; My Yellow Brick Road is paved with SSD running BCNF databases.&amp;nbsp; Unless, and until, Cloud provisioners recognize that it ain't "about just bytes", I'll pass.&amp;nbsp; Some times, if it's too good to be true, it ain't true.&lt;br /&gt;&lt;br /&gt;Then Amazon jumped the shark.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://joyeur.com/2011/04/24/magical-block-store-when-abstractions-fail-us/"&gt;Here's another&lt;/a&gt; take on the situation.&amp;nbsp; This is from an experienced Cloud provider, of a sort.&amp;nbsp; As he says, the Fortune X0 have been trying to provide a central storage solution for rather a long time, with little obvious superiority.&amp;nbsp; It's worth noting that the IBM Service Bureau service goes back to, at least, the early 1960's.&amp;nbsp; Cloud is neither new nor a walk in the park.&amp;nbsp; I guess Amazon and its clients now know that. &lt;br /&gt;&lt;br /&gt;The Service Bureau (and similar) were able to provide some semblance of service over leased lines.&amp;nbsp; The notion that TCP/IP, with HTTP tossed in, over normal phone lines is sufficient is, well, immature.&amp;nbsp; What was that you said?&amp;nbsp; The Emperor has one fine set of threads.&amp;nbsp; Yes, yes he does.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8781243971010902991?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8781243971010902991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/04/was-cloudy-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8781243971010902991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8781243971010902991'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/04/was-cloudy-day.html' title='Was A Cloudy Day'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2044748264588939428</id><published>2011-04-20T19:05:00.003-04:00</published><updated>2011-04-20T19:12:18.048-04:00</updated><title type='text'>Not A Cloud Was in the Sky</title><content type='html'>On more than one occasion, I've made the point that "cloud computing" is really very old hat.&amp;nbsp; Or, old wine in new bottles.&amp;nbsp; I came across &lt;a href="http://www.infoworld.com/t/cloud-computing/what-ibm-really-thinks-about-the-cloud-309?source=footer"&gt;this interview with IBM honch&lt;/a&gt; Steve Mills.&lt;br /&gt;&lt;br /&gt;Here is a clip:&lt;br /&gt;&lt;br /&gt;Mills: I think that's the number one reason why this is appealing to CIOs. The interesting part about "cloud speak" is that many people want to isolate their discussion of cloud to only certain classes of companies. And my view is that's too narrow. Service bureaus emerged in the 1960s. I mean, ADP is one of the industry's biggest and most successful cloud companies.&lt;br /&gt;&lt;br /&gt;Knorr: And earliest, right?&lt;br /&gt;&lt;br /&gt;Mills: Yeah. If I'm in the accounting department and I use ADP, ADP is my cloud company. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The "service bureau" is actually older than ADP, and was an IBM invention.&amp;nbsp; &lt;a href="http://www.google.com/search?client=ubuntu&amp;amp;channel=fs&amp;amp;q=%22service+bureau%22+history+ibm&amp;amp;ie=utf-8&amp;amp;oe=utf-8#q=%22service+bureau%22+history+ibm&amp;amp;hl=en&amp;amp;client=ubuntu&amp;amp;hs=RUM&amp;amp;channel=fs&amp;amp;prmd=ivnsb&amp;amp;tbs=tl:1&amp;amp;tbo=u&amp;amp;ei=-GOvTc7aH8Lx0gHi_KX4Ag&amp;amp;sa=X&amp;amp;oi=timeline_result&amp;amp;ct=title&amp;amp;resnum=11&amp;amp;ved=0CGYQ5wIwCg&amp;amp;bav=on.2,or.r_gc.r_pw.&amp;amp;fp=eaa70d61e92b583"&gt;See this search result.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2044748264588939428?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2044748264588939428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/04/not-cloud-was-in-sky.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2044748264588939428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2044748264588939428'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/04/not-cloud-was-in-sky.html' title='Not A Cloud Was in the Sky'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7114079208454573188</id><published>2011-04-06T23:09:00.000-04:00</published><updated>2011-04-06T23:09:44.802-04:00</updated><title type='text'>Your Diagnosis, Herr Freud?</title><content type='html'>Just a short note about the new Intel 510/320.&amp;nbsp; In a nutshell, Intel claims the Marvell powered, sequential biased, 510 is the Prosumer part while the Intel powered, random biased, cap protected 320 is the Consumer part.&lt;br /&gt;&lt;br /&gt;This makes no sense at all.&amp;nbsp; The early reviews, both systematic and informal, say that the 320 is a righteous part.&amp;nbsp; I'm going to order the 160 gig in a few weeks (or so), depending on whether there're reports of funny business.&amp;nbsp; Amazon shows two part suffixes: B5 and K5; the &lt;a href="http://www.anandtech.com/show/4244/intel-ssd-320-review"&gt;AnandTech review&lt;/a&gt; is a K5 part, so that'll be the one.&amp;nbsp; Now I can, finally, get around to running some data (leave the other stuff to the side for a week...) through HDD, G2, and G3 (as the 320 is being called).&amp;nbsp; Fingers dirty.&amp;nbsp; Yum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7114079208454573188?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7114079208454573188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/04/your-diagnosis-herr-freud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7114079208454573188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7114079208454573188'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/04/your-diagnosis-herr-freud.html' title='Your Diagnosis, Herr Freud?'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1547367081698102945</id><published>2011-03-29T15:39:00.000-04:00</published><updated>2011-03-29T15:39:08.688-04:00</updated><title type='text'>What's Your Preferred Position?</title><content type='html'>Regular readers know that I've been talking up the synergy between iPad type tablets and the normalized relational database.&amp;nbsp; And that such synergy must recognize the nature of input on a tablet.&amp;nbsp; Little bits of pickable data.&amp;nbsp; Hors d'oevres, so to speak; not a four course meal. &lt;br /&gt;&lt;br /&gt;A few minutes ago &lt;a href="http://www.anandtech.com/show/4250/tablets-how-would-you-solve-the-input-problem-"&gt;Anand posted a quiz&lt;/a&gt;.&amp;nbsp; I guess the question has reached the mainstream pundit class, although it's not quite the right question.&amp;nbsp; The right question is:&amp;nbsp; what kinds of data can a keyboard-less device support, and therefore what kinds of applications are best suited to such devices?&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1547367081698102945?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1547367081698102945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/whats-your-preferred-position.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1547367081698102945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1547367081698102945'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/whats-your-preferred-position.html' title='What&apos;s Your Preferred Position?'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4125957679386595215</id><published>2011-03-28T23:10:00.000-04:00</published><updated>2011-03-28T23:10:50.898-04:00</updated><title type='text'>Mr. Natural Answers Your Questions</title><content type='html'>A posting on the PostgreSQL/Performance group (having to do with the Intel 320 announcement, which I'll save for a different posting after the dust settles a bit) got me to looking again for published tests of SSD vs. HDD and databases.&amp;nbsp; As you can see, Dennis Forbes is listed in the links block.&amp;nbsp; I don't recall whether I've mentioned &lt;a href="http://www.yafla.com/dforbes/The_Impact_of_SSDs_on_Database_Performance_and_the_Performance_Paradox_of_Data_Explodification/"&gt;this post of his&lt;/a&gt; before; may haps I have.&lt;br /&gt;&lt;br /&gt;But, in some sense related to the Intel 510/320 situation, he makes the salient point (my point since I discovered SSDs years ago) thusly:&lt;br /&gt;&lt;br /&gt;Of course NoSQL yields the same massive seek gain of SSDs, but that's where you encounter the competing optimizations: By massively exploding data to optimize seek patterns, SSD solutions become that much more expensive. Digg mentioned that they turned their friend data, which I would estimate to be about 30GB of data (or a single X25-E 64GB with room to spare per "shard") with the denormalizing they did, into 1.5TB, which in the same case blows up to 24 X25-Es per shard.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Of course, his insight is rare, even among those I've read who've been positive about RDBMS/SSD synergy.&amp;nbsp; It's always been obvious:&amp;nbsp; normalized datastores are orders of magnitude smaller than their flatfile antecedents.&amp;nbsp; This smaller footprint comes with all the integrity benefits that Dr. Codd (and Chris Date, et al since) defined.&amp;nbsp; There are a whole lot of ostriches out in the wild, insisting that massive datastores are needed by their code.&amp;nbsp; What does it all mean Mr. Natural?&amp;nbsp; Don't mean shit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4125957679386595215?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4125957679386595215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/mr-natural-answers-your-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4125957679386595215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4125957679386595215'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/mr-natural-answers-your-questions.html' title='Mr. Natural Answers Your Questions'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2314437341370322883</id><published>2011-03-25T09:55:00.002-04:00</published><updated>2011-03-25T09:55:27.717-04:00</updated><title type='text'>Shape Shifting</title><content type='html'>One thing that I really like about O'Reilly books is the Rep-Kover binding; the original better than the current, however.&amp;nbsp; I find that most computer texts are near interchangeable with respect to content.&amp;nbsp; It's nearly always marginal, so what matters is ease of use.&amp;nbsp; For that, Rep-Kover is better than current "hardcover" bindings.&amp;nbsp; What I tend to dislike about O'Reilly is their (his?) incessant need to create "new" memes in the computing world.&amp;nbsp; Web 2.0 is, I think, the first; certainly the most infamous so far.&lt;br /&gt;&lt;br /&gt;The last few months have seen the aborning of another: Data Science.&amp;nbsp; This one is even worse, in that it seeks to dumb down a perfectly legitimate pair of professions; statistician and operations researcher.&amp;nbsp; Long ago, I got involved in ISO-9000 certification, which was another early attempt to dumb down those professions (these days it's Six Sigma, which I had the pleasure to mentor at CSC).&amp;nbsp; It irritated me then, too.&amp;nbsp; It's of a piece with DIY neurosurgery, although not as directly deadly.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.forbes.com/quentinhardy/2011/03/24/emc-loves-stat-geeks-oracle-has-the-most-to-lose/?partner=yahootix"&gt;Yesterday's Forbes on-line version&lt;/a&gt; published a story about this newfangled profession, in the context of EMC.&amp;nbsp; Regular readers may remember that STEC, gorilla of the Enterprise SSD jungle, first touted, then crashed, on its relationship to EMC.&amp;nbsp; The article whispers that STEC, or whoever is currently supplying, is and will do well.&lt;br /&gt;&lt;br /&gt;What's most bothersome about this meme is, as many others have remarked, both math stats and ORs do inferential stats, and inferential stats is based on the math of sampling and inference.&amp;nbsp; The fact is, one needn't have much training to calculate the parameters of populations.&amp;nbsp; Fact is, math stats and ORs don't even refer to these numbers as statistics, because they aren't.&amp;nbsp; It is exactly the same as baseball stats; they aren't stats, just numbers.&amp;nbsp; But, of course, the meme-sters once again wish to wrap themselves in the blanky of higher math.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;On the other hand, stats as a profession and work product is more interesting than computers.&amp;nbsp; Even databases, by golly.&amp;nbsp; May be I'll try to parlay both; the article says that such folks (humble self qualifies) are in demand.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2314437341370322883?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2314437341370322883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/shape-shifting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2314437341370322883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2314437341370322883'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/shape-shifting.html' title='Shape Shifting'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-9108204049929282718</id><published>2011-03-11T16:12:00.002-05:00</published><updated>2011-03-11T16:12:59.069-05:00</updated><title type='text'>You Rook Mahvelous</title><content type='html'>Just when you've figured it out, the world has a habit of slapping you upside the head.&amp;nbsp; By now, you've likely heard that Intel has announced its next SSD, the 510.&amp;nbsp; It's not, explicitly, the X-25/G3.&amp;nbsp; From the various sources I read, a G3 will be coming along in due time, but is intended to be the "consumer" version, while the newly announced 510 is the "pro" part.&lt;br /&gt;&lt;br /&gt;Here's what's puzzling:&amp;nbsp; as you can &lt;a href="http://www.anandtech.com/show/4202/the-intel-ssd-510-review"&gt;see from this AnandTech article&lt;/a&gt;, the 510 is biased toward *sequential* processing!&amp;nbsp; Boy howdy, I never saw that coming.&amp;nbsp; That, and the fact that the controller isn't home grown, but bought in from Marvell.&amp;nbsp; The G3 is said to be driven by Intel's controller, but not yet confirmed.&lt;br /&gt;&lt;br /&gt;The world has been turned upside down.&amp;nbsp; Either that, or Intel has completely misread both the technical and buyer worlds.&amp;nbsp; A sequentially biased SSD makes sense for consumers:&amp;nbsp; gamers, video processing, and such.&amp;nbsp; I'm truly puzzled.&amp;nbsp; The parts aren't big enough in capacity to store anything like the massive files that a file based coder would use.&amp;nbsp; For the prosumer world that the X25 parts targeted, the 510 just won't be useful, it's barely on par with the X25-G2.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;We'll see.&amp;nbsp; The 510 still has an advantage over the SandForce drives for compressed/encrypted data, but that's usually things like my beloved relational databases and random processing, not the 510's strength.&amp;nbsp; Weird.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-9108204049929282718?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/9108204049929282718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/you-rook-mahvelous.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9108204049929282718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9108204049929282718'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/you-rook-mahvelous.html' title='You Rook Mahvelous'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1630204349054795627</id><published>2011-03-04T14:18:00.000-05:00</published><updated>2011-03-04T14:18:13.316-05:00</updated><title type='text'>32 Heads Are Better Than One</title><content type='html'>Simple-talk is one of my favorite sites, and now they have what will be a series on &lt;a href="http://www.simple-talk.com/sql/learn-sql-server/understanding-and-using-parallelism-in-sql-server/"&gt;parallelism in SQL Server&lt;/a&gt;.&amp;nbsp; This first installment is light and airy.&lt;br /&gt;&lt;br /&gt;A few months ago, I got into a bit of a tiff on a Postgres email group when I had the temerity to suggest that query level parallelism is not only a Good Thing, but the only way to maintain performance as we segue from ever faster clocks on single thread/core cpu's to multi-thread/core/processor machines.&amp;nbsp; That group assembled (I don't recall anyone joining in my defense) asserted that engine level parallelism (doling out queries to threads) was enough.&lt;br /&gt;&lt;br /&gt;I've been arguing for years that RDBMSs (not just SQL Server) will be better applications if they're designed to the multi-core/processor/SSD machine.&amp;nbsp; After all, at least the multi-core part is now fait accompli, so why not?&amp;nbsp; The beneficial side-effect is that BCNF schemas, with SSD as *primary* storage, are fully feasible.&amp;nbsp; They are the minimal data (bytes, that is) needed to fulfill demand, and since they are "fully" normalized, DRI implements most if not all of the constraints on the data.&amp;nbsp; That's been written about here, a bit.&lt;br /&gt;&lt;br /&gt;For all the heat that MicroSoft gets, even from me on occasion, they do get databases.&amp;nbsp; Good on them.&lt;br /&gt;&lt;br /&gt;For completeness, &lt;a href="http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/c0004557.htm"&gt;here's DB2 docs&lt;/a&gt;, rather dry, but then...&lt;br /&gt;&lt;br /&gt;And &lt;a href="http://www.orafaq.com/wiki/Parallel_Query_FAQ"&gt;here's Oracle&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Neither is as seamless, at first blush, as SQL Server.&amp;nbsp; There, I said something nice about a MicroSoft product.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1630204349054795627?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1630204349054795627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/32-heads-are-better-than-one.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1630204349054795627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1630204349054795627'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/32-heads-are-better-than-one.html' title='32 Heads Are Better Than One'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1750374925294956761</id><published>2011-03-03T10:40:00.002-05:00</published><updated>2011-03-03T10:40:51.432-05:00</updated><title type='text'>Something Blue</title><content type='html'>There's that old saying, "Like father, like son".&amp;nbsp; The iPad 2 (or is it iPad2??) is out, and &lt;a href="http://www.anandtech.com/show/4203/the-ipad-2-and-ios-4-announcement/1"&gt;AndandTech has a preliminary review&lt;/a&gt; up.&amp;nbsp; In the Conclusion section, there is this:&lt;br /&gt;&lt;br /&gt;However, the new iPad does attempt to further blur the line between full computers and tablets, a line that is only going to get blurrier as more Honeycomb tablets invade the market. The iPad still lacks a dedicated keyboard, which will probably always hamper its utility as a content creation device for me, but iMovie and GarageBand join the already existing iWork apps as decent tablet versions of desktop programs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is, I guess, slowly dawning on the Pundit Class is that pickable interfaces are necessary for tablet devices.&amp;nbsp; Such devices can be used as input devices, IFF the data can be displayed in an easily pickable way.&amp;nbsp; I've always asserted that this simple fact means that a new (set of) widget(s) is needed, along with the recognition that data (as opposed to content) should be normalized at the datastore, i.e. BCNF.&amp;nbsp; I know that most of the Pundit Class hasn't figured it out yet, but you can't fool Mother Nature.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1750374925294956761?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1750374925294956761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/something-blue.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1750374925294956761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1750374925294956761'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/03/something-blue.html' title='Something Blue'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1025226329109798377</id><published>2011-02-28T08:34:00.003-05:00</published><updated>2011-02-28T08:37:11.792-05:00</updated><title type='text'>Shorter Wires</title><content type='html'>One of the themes/memes of this endeavor is that we are inevitably headed back to the 1970's, in more ways than one.&amp;nbsp; An oil embargo looks to be an added carrot to the stew, but I digress.&amp;nbsp; The 1970's from a macro-architectural point of view:&amp;nbsp; centralized data and dumb-ish screens connected to same.&amp;nbsp; I was the first of the pundit class, that I can find, to tell this story.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Others are beginning to see it, too.&amp;nbsp; I keep track of Mr. Market through, among others, the Seeking Alpha site (a stock pumping outfit, that also sometimes publishes technically "interesting" stuff).&amp;nbsp; In &lt;a href="http://seekingalpha.com/article/254862-intel-s-thunderbolt-it-s-all-about-fewer-wires"&gt;today's episode&lt;/a&gt; is a piece on Intel's Thunderbolt tech; worth reading.&amp;nbsp; What caught my eye, and inspired this post however, was a comment from one who signs as ryanclarke:&lt;br /&gt;&lt;br /&gt;By having an office full of 'data screens' with Gigabit or Thunderbolt fiber connectors ... all could be using the same processor sitting in a storage rack in the coffee room. Back to the 'thin client' and mainframe days of the 1960s-1970s. That's the technological push underway right now. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I was a Fed, back in the days of yore, we four (not horsemen of the Apocalypse) were OR/stat guys in the midst of HR managers.&amp;nbsp; There was a bit of friction.&amp;nbsp; One of my colleagues, Frank the Elder (as opposed to Frank the Younger; last names omitted to avoid legal action, one never quite knows about these things), was a psychometrician who was fond of the term "subvision".&amp;nbsp; This is not to be confused with Subversion, the recent bit of VCS.&amp;nbsp; No, subvision was the counter to supervision, whereby the worker bees led the queen bees (most of whom, obviously, were male; I've always wondered how staff got tagged as worker bees, given that the apian world is female dominant yet the human male) forward.&amp;nbsp; This evident shift, and a tectonic one it is too, looks more and more to be understood by the troops on the ground, but ignored by general staff.&amp;nbsp; (Shift in metaphor.)&lt;br /&gt;&lt;br /&gt;The main issue is whether we also take advantage of RDBMS/SSD datastores, or go all the way back to Neanderthal times to COBOL/VSAM.&amp;nbsp; I pray not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1025226329109798377?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1025226329109798377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/02/shorter-wires.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1025226329109798377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1025226329109798377'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/02/shorter-wires.html' title='Shorter Wires'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7905621458659967645</id><published>2011-02-12T14:32:00.002-05:00</published><updated>2011-02-12T14:32:38.318-05:00</updated><title type='text'>Hit the Ground Running</title><content type='html'>One of my pet peeves with the current generation is their apparent lack of understanding of physics.&amp;nbsp; The iStuff folks, both producers and consumers, act as if there is infinite bandwidth for each unit in the wild.&amp;nbsp; And, of course, there isn't.&amp;nbsp; Turns out, not everybody in the industry is quite so lunkheaded.&amp;nbsp; It turns out, &lt;a href="http://news.yahoo.com/s/ap/20110212/ap_on_hi_te/us_tec_wireless_everywhere"&gt;if you increase the density&lt;/a&gt; of receivers, lots of good things happen.&lt;br /&gt;&lt;br /&gt;Implicit in the story:&amp;nbsp; wireless is rapidly going wired; just as it has to and should have been from the beginning.&amp;nbsp; All these mini-cells are like the spines of a jelly fish, tethered back to the mothership.&amp;nbsp; Far more signal can be carried on optic, even copper, than on the ether.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Now, if only we can get Mr. Fusion up and running.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7905621458659967645?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7905621458659967645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/02/hit-ground-running.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7905621458659967645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7905621458659967645'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/02/hit-ground-running.html' title='Hit the Ground Running'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5781806010178084051</id><published>2011-02-10T08:36:00.000-05:00</published><updated>2011-02-10T08:36:10.832-05:00</updated><title type='text'>Talkin' 'Bout My Generation</title><content type='html'>Another &lt;a href="http://www.sqlservercentral.com/articles/T-SQL/72103/"&gt;candidate for CUD (doesn't attempt to do Read)&lt;/a&gt; from our friends at SQL Server Central.&amp;nbsp; Nice to know that some people are connecting the dots.&lt;br /&gt;&lt;br /&gt;Along similar lines, &lt;a href="http://www.cringely.com/2011/02/ken-olsen-and-post-industrial-computing/"&gt;Cringely has a recent post&lt;/a&gt; dealing with the Ken Olsen's, alleged, misreading of the PC movement.&amp;nbsp; The point being, of course, that Olsen was right (by now; not so much at the time).&amp;nbsp; We've long since past the point that owners/users of PC's actually write programs for the blighters.&amp;nbsp; And, no, I don't count Excel or Word macros as programs.&amp;nbsp; With the rise of iStuff (and competitors), we'll just be using pixelated terminals connected to the Big Host in the Sky.&amp;nbsp; For those that might be interested, that notion was &lt;a href="http://en.wikipedia.org/wiki/Multics"&gt;made manifest in the 1960's&lt;/a&gt;.&amp;nbsp; A &lt;a href="http://www.multicians.org/history.html"&gt;more complete history is here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This really is back to the future.&amp;nbsp; If only these people knew, they'd save us all a bunch of ulcers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5781806010178084051?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5781806010178084051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/02/talkin-bout-my-generation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5781806010178084051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5781806010178084051'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/02/talkin-bout-my-generation.html' title='Talkin&apos; &apos;Bout My Generation'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8523498811430607917</id><published>2011-01-31T23:53:00.000-05:00</published><updated>2011-01-31T23:53:40.292-05:00</updated><title type='text'>(Not So Simple) Simon Met a Pieman</title><content type='html'>Oh my. &lt;a href="http://www.oreillygmt.eu/open-sourcefree-software/all-about-postgresql-%E2%80%93-the-world%E2%80%99s-most-advanced-open-source-database/"&gt;Another emperor's new clothes apostate&lt;/a&gt;.&amp;nbsp; Another O'Reilly cite; they're coming in waves lately.&amp;nbsp; Who knew?&amp;nbsp; Anyway, they've just published an interview with Simon Riggs, who heads up 2ndQuadrant, a PostgreSQL consultancy.&amp;nbsp; I run hot and cold on PG, mostly because I still believe in the locker paradigm, on balance, and that means DB2.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Here's the quote:&lt;br /&gt;&lt;br /&gt;How come CouchDB, FluidDB, MongoDB etc. are so much in the news at the moment?&lt;br /&gt;&lt;br /&gt;New things are sexy. Nobody wants to hear that the way your Dad used to manage data is still the right way, in most cases. Especially when it turns out that what you just suggested isn't new at all, and that your Granddad used to manage data that way too before he gave it up.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ouch!!&amp;nbsp; I swear I haven't done a Vulcan mind meld with the guy; never met him.&amp;nbsp; But he's got that sharp tongue I do appreciate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8523498811430607917?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8523498811430607917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/not-so-simple-simon-met-pieman.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8523498811430607917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8523498811430607917'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/not-so-simple-simon-met-pieman.html' title='(Not So Simple) Simon Met a Pieman'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1825570814202481083</id><published>2011-01-31T21:19:00.000-05:00</published><updated>2011-01-31T21:19:34.444-05:00</updated><title type='text'>Game, Set, Match (not the other thread)</title><content type='html'>Big Data is among the juvenile memes (both in terms of the meme's age, and the maturity of its proponents) out there.&amp;nbsp; I've been reading Janert's book off and on for the last couple of months, motivated by a scan in my local B&amp;amp;N.&amp;nbsp; That he has a, shall we say guarded, view of what good Big Data is, led me on.&amp;nbsp; My interest in math stats goes back to before my dive into RDBMS, and, given the absolute choice to do it all over again, I'd have stayed with stats; if for no other reason than the fact that experience is far more respected there than in databases (hissssss).&lt;br /&gt;&lt;br /&gt;Imagine my surprise then to find &lt;a href="http://answers.oreilly.com/topic/2427-how-to-speed-up-machine-learning-using-a-set-oriented-approach/"&gt;an article which promotes set-oriented semantics&lt;/a&gt; at the O'Reilly site.&amp;nbsp; There was a time when I worshiped O'Reilly books.&amp;nbsp; Not so much since he/they went on the meme pimping road; web 2.0 being the most obvious.&amp;nbsp; Perhaps because web 2.0 has faded, they/he have invented another, data science.&amp;nbsp; And, as usual, it's code/language oriented for the most part; the irony of this approach appears utterly lost on the group assembled.&amp;nbsp; Except for this article.&amp;nbsp; There are two, the one on the site page references the one in the link here, which goes the full monty.&amp;nbsp; The site page article is a tad more than an executive summary.&lt;br /&gt;&lt;br /&gt;I'm not going to sprinkle quotes, since I'd end up reprinting pretty much the whole thing.&amp;nbsp; Suffice to say, just go read it.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1825570814202481083?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1825570814202481083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/game-set-match-not-other-thread.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1825570814202481083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1825570814202481083'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/game-set-match-not-other-thread.html' title='Game, Set, Match (not the other thread)'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8104275659020269121</id><published>2011-01-24T11:40:00.000-05:00</published><updated>2011-01-24T11:40:13.518-05:00</updated><title type='text'>Passion Fruit</title><content type='html'>As I've mentioned a number of times, while I've spent the last decade mostly in DB2/LUW, I've done some work with SQL Server, and hang out at &lt;a href="http://www.simple-talk.com/community/blogs/drsql/archive/2011/01/20/98987.aspx"&gt;the Simple-Talk site&lt;/a&gt;.&amp;nbsp; They have an editorial every now and again, which generates comments on RDBMS generally (usually) rather than SQL Server specific bells and whistles.&amp;nbsp; The current one is "Passion" (yeah, that's right), and I was moved to comment.&amp;nbsp; Shown here for your amusement.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I've been hanging around here for a few years, and I sure do view databases (even SQL Server) as a "calling" which is sorta, kinda like a "passion".&amp;nbsp; All of the places I've managed to find employment have been in spite of this calling, alas.&amp;nbsp; Perhaps it's different on the other side of the Pond, or with SQL Server centric venues (my main database has been DB2/LUW for some while), but "passion" isn't what's rewarded.&lt;br /&gt;&lt;br /&gt;Certainly, the advent of multi-core/processor SSD machines will have a profound impact on how RDBMS applications are built.&amp;nbsp; The transition just isn't happening fast enough to suit me.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The corporate bent of DB2 does seem to make it more hidebound than other databases; which is such a shame, in that the LUW version is so much better than any of the other databases that run on those platforms.&amp;nbsp; IBM is truly squandering a major opportunity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8104275659020269121?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8104275659020269121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/passion-fruit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8104275659020269121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8104275659020269121'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/passion-fruit.html' title='Passion Fruit'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8576808677885321748</id><published>2011-01-14T09:10:00.000-05:00</published><updated>2011-01-14T09:10:34.244-05:00</updated><title type='text'>Trains, and Planes, and Automobiles</title><content type='html'>Well, Bob and Oracle and IBM. &lt;a href="http://www.cringely.com/2011/01/dr-jekyll-mr-watson/"&gt;Cringely is at it again&lt;/a&gt;, and he provoked me into a reply to his drivel.&amp;nbsp; It was interesting enough, to me at least, to warrant repetition here.&amp;nbsp; You're welcome.&amp;nbsp; (I've cleaned up a couple of typos here; rather early for my eyes to focus.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@Bob:&lt;br /&gt;IBM's competitive advantage over HP and Sun was IBM had a services business.&lt;br /&gt;&lt;br /&gt;Well, no, not exactly. As I have predicted since Oracle bought Sun (and Bob decided not to include in his 2011 list), the advantage IBM has are all those z/Series (or whatever it's called today) Fortune X00 clients. Lose the z/Series box, and services disappear.&lt;br /&gt;&lt;br /&gt;Larry has lusted for those clients for a long time. There's a reason Relational Software (not even its first name) had the first "commercial" RDBMS, stealing a march on Armonk. Armonk hated Codd, since he stuck a fork in IMS shortly after its birth. Larry wanted an alternative to the mainframe app world. He had only software, but did OK.&lt;br /&gt;&lt;br /&gt;But the only way to get all those big, juicy Fortune X00 z/Series clients away from IBM is to have a full stack. He has to find a way to convert 20, and 30, and 40 year old COBOL code to something modern. With the Sun hardware and Oracle he now has a shot at it. It won't happen tomorrow; I'm wagering a prediction that there'll be concrete progress this year.&lt;br /&gt;&lt;br /&gt;As to overplaying his hand with the *nix client base? It wouldn't be the first time he's done that, too. I don't see one strategy precluding the other tactic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8576808677885321748?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8576808677885321748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/trains-and-planes-and-automobiles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8576808677885321748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8576808677885321748'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/trains-and-planes-and-automobiles.html' title='Trains, and Planes, and Automobiles'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7164653605788938577</id><published>2011-01-07T08:53:00.002-05:00</published><updated>2011-01-07T08:53:48.228-05:00</updated><title type='text'>Cringely Hates Me, He Really Hates Me</title><content type='html'>Bob didn't include either of my predictions in his list.&amp;nbsp; I feel so violated.&amp;nbsp; But, if you look at the 10 in toto (&lt;a href="http://www.cringely.com/"&gt;here they be&lt;/a&gt;, if you don't tarry), the pattern I've been predicting emerges.&amp;nbsp; A world of centralized data, and pretty pixelated clients.&amp;nbsp; And, may be, not browser driven.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Could it be Bob that doesn't really hate me?&amp;nbsp; I suspect his mission was to wrap it all up in Apple; he's been fixated on Steve for some time now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7164653605788938577?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7164653605788938577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/cringely-hates-me-he-really-hates-me.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7164653605788938577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7164653605788938577'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/cringely-hates-me-he-really-hates-me.html' title='Cringely Hates Me, He Really Hates Me'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-101012802303715404</id><published>2011-01-06T12:19:00.000-05:00</published><updated>2011-01-06T12:19:56.504-05:00</updated><title type='text'>Pundit For a Second Day</title><content type='html'>Regular readers know that I submitted to the Real Cringely a prediction.&amp;nbsp; He's only up to 6 so far, thus, I don't know whether he's deigned to accept it.&amp;nbsp; When he made the announcement, he only said that any outside predictions would be credited, not that the author(s) would get advance notification of "winning".&amp;nbsp; &lt;br /&gt;&lt;br /&gt;While we wait, and given the recent spate of SSD and processor news, a new idea has been worming around my cerebrum.&amp;nbsp; This post is just to establish originality, not the full blown patent.&amp;nbsp; I could well abandon the idea.&amp;nbsp; It's just one of those thought experiments.&lt;br /&gt;&lt;br /&gt;My submitted prediction was that Oracle would leap frog the other RDBMS vendors by pushing the BCNF approach in order to win over the IBM/COBOL mainframe application crowd to the Oracle/SSD machines.&amp;nbsp; The magic bullet approach.&lt;br /&gt;&lt;br /&gt;But what if a vendor, may be Oracle may be not, took the vision a step further?&amp;nbsp; What direction would such a step take?&amp;nbsp; How about writing the *engine itself* to multi-core/processor + SSD machines?&amp;nbsp; How would such an engine differ from today's versions?&amp;nbsp; Well, at minimum it would have an optimizer and execution unit which are parallelized.&amp;nbsp; Some (most?) engines are parallel only to the extent of being able to execute multiple queries at once, one per thread (generally).&amp;nbsp; What is not common is parallel execution of a query into the datastore.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;With rising processor/core/thread counts, blasting a query through many threads begins to make sense, if the datastore can respond fast enough.&amp;nbsp; The existing model of concurrency, whether the locker model or MVCC, seeks to minimize the time that a given row is locked.&amp;nbsp; Row level locking developed to make this possible, and MVCC developed to make it "irrelevant".&amp;nbsp; Both approaches are based on the concept of a conflict serializable schedule (Weikum &amp;amp; Vossen, pg. 92 et seq).&amp;nbsp; In practice, the engine does what the COBOL/VSAM coder used to do:&amp;nbsp; iterate over a bunch of "records" doing stuff one at a time.&amp;nbsp; The RDBMS presents to the client an "all at once" facade, as Dr. Codd demanded, but there's just a really fast squirrel spinning the cage.&lt;br /&gt;&lt;br /&gt;But matrix operations are what Dr. Codd really meant; one can view the relational algebra as essentially linear algebra for a limited domain.&amp;nbsp; What if a RDMBS vendor looked at current, and near future, machines rather than past machines?&amp;nbsp; Current databases are still based on uniprocessor slow disk technology.&amp;nbsp; The emerging machines have been obvious for five years, anyway.&amp;nbsp; How far along could, Oracle for example, be toward an engine that *demands* X number of cores and Y amount of SSD primary storage?&amp;nbsp; Could you build a database engine from scratch in five years?&amp;nbsp; Abso-freaking-lutely.&amp;nbsp; OS/360 was written in less time, and in assembler.&amp;nbsp; So, yes, this could be the year.&amp;nbsp; My guess:&amp;nbsp; Microsoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-101012802303715404?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/101012802303715404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/pundit-for-second-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/101012802303715404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/101012802303715404'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/pundit-for-second-day.html' title='Pundit For a Second Day'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4730396211240420960</id><published>2011-01-06T10:42:00.000-05:00</published><updated>2011-01-06T10:42:02.972-05:00</updated><title type='text'>Losing My Religion</title><content type='html'>I don't know what OCZ is supposed to be an acronym for (don't end sentences preposition with), but 'Oly Crap Zoroaster will do.&amp;nbsp; They're at CES, and here's some info from our &lt;a href="http://www.anandtech.com/show/4100/ocz-vertex-pro-3-demo-worlds-first-sandforce-sf2000"&gt;friends at AnandTech&lt;/a&gt;.&amp;nbsp; Note that the thing screams even with compressed data.&amp;nbsp; Hmmm.&lt;br /&gt;&lt;br /&gt;Later in the article is the toss-away:&lt;br /&gt;"On the other end of the spectrum, OCZ presented an even bigger (physically) drive: the IBIS XL. Now this isn't going to be productized, but it's simply something to test the waters with. The IBIS XL fits into a standard 5.25" drive by and starts at 4TB."&lt;br /&gt;&lt;br /&gt;As I've mentioned a few times, Zsolt at storagesearch makes the case that sooner, not later, SSD will even take over the petabyte world of storage.&amp;nbsp; I've always thought that a bit daft.&amp;nbsp; Now, I'm not so sure it's daft.&lt;br /&gt;&lt;br /&gt;Gimme a B! Gimme a C! Gimme an N! Gimme an F!&amp;nbsp; What's it spell???&amp;nbsp; The future.&amp;nbsp; (This is where I toss the cute blonde cheerleader over my shoulder.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4730396211240420960?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4730396211240420960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/losing-my-religion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4730396211240420960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4730396211240420960'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/losing-my-religion.html' title='Losing My Religion'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2063632861673160877</id><published>2011-01-05T21:40:00.000-05:00</published><updated>2011-01-05T21:40:25.586-05:00</updated><title type='text'>Is That Oz Up Ahead?</title><content type='html'>Is that an Emerald City over the horizon?&amp;nbsp; Are we almost to Oz?&amp;nbsp; Yes, yes we are.&lt;br /&gt;&lt;br /&gt;The last week has brought a host of news, which taken together, indicate that the near future is nearly here.&amp;nbsp; If I keep stepping half-way to the wall, do I ever get to the wall?&amp;nbsp; Yes, yes you do, to within any delta you wish to name.&lt;br /&gt;&lt;br /&gt;First, there was the Windows on ARM announcement.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Next, we have two reports from CES, courtesy AnandTech:&amp;nbsp; &lt;a href="http://www.anandtech.com/show/4098/nvidias-tegra-2-take-two-more-architectural-details-and-design-wins"&gt;the next Tegra&lt;/a&gt;, and &lt;a href="http://www.anandtech.com/show/4099/nvidias-project-denver-nv-designed-high-performance-arm-core"&gt;its successor&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The future is clearer:&amp;nbsp; it will be a pixelated VT-220 connected to a wireless network and thence to a relational database stored in BCNF on SSD.&amp;nbsp; Such applications (not ported, in the common way, from COBOL) will run rings around all that legacy file based stuff.&amp;nbsp; With sufficient bandwidth, and a persistent connection (your phone is, right?), it's back to the future.&amp;nbsp; No, I don't believe that the phone/web (or web/phone if you prefer) paradigm is the winner.&amp;nbsp; The flexibility and accuracy of the persistent connection paradigm will win.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;For those who think that the web is really great progress over what came before, you need to know the simple history.&amp;nbsp; I'll start with the consolidated mainframe world of the late-60's.&amp;nbsp; There were mainframes and terminals (3270 is the archetype), over a disconnected connection.&amp;nbsp; There were local edit programs written into the 3270.&amp;nbsp; The transfer was block mode, meaning that all keyboard activity was between the user's fingers and the local edit program.&amp;nbsp; Hitting Send (what we now call Carriage Return/Enter) sent off the edited screen to the mainframe app code.&lt;br /&gt;&lt;br /&gt;I've just described a browser/html application.&lt;br /&gt;&lt;br /&gt;Then, along came Unix and the VT-100 (there were later, more capable VT's, the VT-220 in particular).&amp;nbsp; While connected by a wire, just as a 3270, this wire is always on.&amp;nbsp; Ah.&amp;nbsp; As a result, database engines and application code residing on the server see each keystroke on the VT-220.&amp;nbsp; In fact, it was common to have 4GL's resident with the RDBMS in what was often referred to as "client/server in a box":&amp;nbsp; the database engine being the server in its patch of memory, and a patch of memory being the application code for each client connection.&amp;nbsp; Blindingly efficient, and allowed the database and the application code to edit/check *character by character* as the user progressed; if that sounds a bit like AJAX, well, yes it is.&amp;nbsp; Not quite as cheap in memory, but this was the early 90's and later, when memory began to get cheap.&amp;nbsp; Supporting 1,000's of terminals (or PC's running a terminal emulator) was not uncommon.&lt;br /&gt;&lt;br /&gt;Then, along came the www, and young-uns thought this was new and fabulous.&amp;nbsp; Negatory.&lt;br /&gt;&lt;br /&gt;With the increasing density of chips we see an artefact of Moore's Law not often (except por moi) remarked:&amp;nbsp; look at block a diagram of recent multicore chips.&amp;nbsp; Most of the real estate is dedicated to various caches, oddly it seems, rather than using all those transistors to execute native instructions in hardware, the trend has been to emulating, for example, X86 instructions in a "hidden" RISC machine.&amp;nbsp; Not that this is new; the 360/30 was widely believed to use a PDP-11 to run the instruction set.&amp;nbsp; IBM did acknowledge that most of the 360 series emulated the instruction set; only the top end machines executed in hardware.&amp;nbsp; The upshot is simple:&amp;nbsp; few, in any, normal client machines have need for the compute power on tap.&lt;br /&gt;&lt;br /&gt;So, we see the rise of ARM and MIPS (you did buy ARMH when I told you to, yes?) running minimalist machines at low power and low cost.&amp;nbsp; With a persistent connection to a persistent datastore, let's dance like its 1995.&amp;nbsp; And we will.&amp;nbsp; You can't fool Mother Nature, and She's saying:&amp;nbsp; keep the data and its management in one secure place, and let the kiddies make pretty, pretty pictures on their phones and pads.&amp;nbsp; Just don't let them mess with the data.&lt;br /&gt;&lt;br /&gt;Just stay away from the poppies.&amp;nbsp; You heard me.&amp;nbsp; Don't go into the field.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2063632861673160877?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2063632861673160877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/is-that-oz-up-ahead.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2063632861673160877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2063632861673160877'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2011/01/is-that-oz-up-ahead.html' title='Is That Oz Up Ahead?'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2915870609979454390</id><published>2010-12-28T10:05:00.000-05:00</published><updated>2010-12-28T10:05:45.086-05:00</updated><title type='text'>Scotty's Wisdom</title><content type='html'>Message boards can actually be useful to the exercise of figuring out where an industry is going.&amp;nbsp; STEC is the principal publicly traded Enterprise SSD vendor, so it is the public bellwether with respect to "Enterprise SSD".&amp;nbsp; They've been segueing from SLC dominant to MLC dominant product mix, which ends up being a topic of discussion, especially recently.&amp;nbsp; A thread is running now about the qualification of an MLC version of STEC gold standard "Enterprise SSD" (ZeusIOPS).&amp;nbsp; I was moved to contribute the following:&lt;br /&gt;&lt;br /&gt;"I canna change the laws of physics"&lt;br /&gt;&lt;br /&gt;That will be true in the 23rd century and is true now.&amp;nbsp; The number of erase cycles of MLC is fixed by the NAND tech, controller IP can only work around it, usually by over-provisioning (no matter what a controller vendor says).&amp;nbsp; Whether STEC's controller IP is smarter (enough, aka, at the right price) is not a given.&amp;nbsp; As controllers get more convoluted, to handle the decreasing erase cycles (what?&amp;nbsp; you didn't know that the cycle count is going down?&amp;nbsp; well, it is, as the result of feature size reduction), SLC will end up being viable.&amp;nbsp; Cheaper controllers, amortized SLC fabs.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;If STEC (or any vendor) can guarantee X years before failure, then the OEMs will just make that the replacement cycle.&amp;nbsp; It would be interesting to see (I've not) the failure distribution functions of HDD and SSD (both SLC/MLC and STEC/Others).&amp;nbsp; Failure isn't the issue, all devices fail.&amp;nbsp; What matters is the predictability of failure.&amp;nbsp; The best to have is a step function:&amp;nbsp; you know that you have until X (hours, writes, bytes, whatever), so you replace at X - delta, and factor that into the TCO equation. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I think the failure function (in particular, whether and to what extent it differs from HDD) of SSD does matter, a lot.&amp;nbsp; Consumer/prosumer HDD still show an infant mortality spike.&amp;nbsp; Since they're cheap, and commonly RAIDed, shredding a dead one and slotting in a replacement isn't a big deal.&amp;nbsp; Not so much for SSD, given the cost.&lt;br /&gt;&lt;br /&gt;I found &lt;a href="http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F4126301%2F4126302%2F04126377.pdf%3Farnumber%3D4126377&amp;amp;authDecision=-203"&gt;this paper&lt;/a&gt;, but I'm not a member.&amp;nbsp; If any reader is, let us know.&amp;nbsp; The precis' does have the magic words, though:&amp;nbsp; Gamma and Weibull, so I gather the authors at least know the fundamentals of math stat analysis.&amp;nbsp; If only there were an equivalent for SSD.&amp;nbsp; It's generally assumed that SSDs are less failure prone, since they aren't mechanical; but they are, at the micro level.&amp;nbsp; Unlike a HDD, which writes by flipping the flux capacitor (!!), the SSD write process involves physical changes in the NAND structure; which is why they "wear out".&amp;nbsp; Duh.&amp;nbsp; So, knowing the failure function of SSD (and knowing the FF for NAND is likely sufficient, to an approximation) will make the decision between HDD and SSD more rational.&amp;nbsp; If it turns out that the FF for SSD moves the TCO below equivalent HDD storage (taking into account short stroking and the like to reach equivalent throughput), SSD as primary store becomes a value proposition with legs.&amp;nbsp; Why the SSD and storage vendors aren't pumping out White Papers is a puzzlement?&amp;nbsp; May be their claims are a tad grandiose?&lt;br /&gt;&lt;br /&gt;The ultimate win will happen when MRAM (or similar) reaches mainstream.&amp;nbsp; Very Cool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2915870609979454390?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2915870609979454390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/scottys-wisdom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2915870609979454390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2915870609979454390'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/scottys-wisdom.html' title='Scotty&apos;s Wisdom'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-8814881481672181388</id><published>2010-12-23T15:06:00.000-05:00</published><updated>2010-12-23T15:06:44.066-05:00</updated><title type='text'>Mr. Fusion Powered Database</title><content type='html'>I keep track of my various database interests with a gaggle of sites and blogs.&amp;nbsp; For PostgreSQL, I've signed up for the Performance sublist.&amp;nbsp; It's mostly about fixing things in parts of the engine in response to questions like:&amp;nbsp; "my query is slower in PG than it is in SQL Server; how come?", and such.&lt;br /&gt;&lt;br /&gt;A thread started today that's of interest to this endeavor.&amp;nbsp; It started out with one person wondering why a Fusion-io drive runs so fast, but PG doesn't run any faster.&amp;nbsp; Then another chimed in to say he was setting up PG with Fusion-io drives.&amp;nbsp; Looks to be an interesting discussion.&amp;nbsp; Now, if only my employer would let me buy some of those Fusion-io drives!&amp;nbsp; BCNF to the rescue.&lt;br /&gt;&lt;br /&gt;Here's the &lt;a href="http://archives.postgresql.org/pgsql-performance/"&gt;list&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The thread is titled:&amp;nbsp; concurrent IO in Postgres?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-8814881481672181388?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/8814881481672181388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/mr-fusion-powered-database.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8814881481672181388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/8814881481672181388'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/mr-fusion-powered-database.html' title='Mr. Fusion Powered Database'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-815580938766832120</id><published>2010-12-22T09:24:00.000-05:00</published><updated>2010-12-22T09:24:46.110-05:00</updated><title type='text'>Django Played Jazz</title><content type='html'>The PostgreSQL site has been linking to &lt;a href="http://thebuild.com/blog/2010/12/22/getting-the-id-of-related-objects-in-django/"&gt;this blog&lt;/a&gt; a bit recently, and he's refreshing.&amp;nbsp; I'm going to spend some time looking into it.&amp;nbsp; It could be there's some intelligent life out there after all.&lt;br /&gt;&lt;br /&gt;Here's the start of today's entry, if you didn't slide off immediately:&lt;br /&gt;&lt;br /&gt;Don't retrieve a whole row just to get the primary key you had anyway. Don't iterate in the app; let the database server do the iteration for you. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And he signs off with this (my heart went pit-a-pat):&lt;br /&gt;&lt;br /&gt;but far better is to make the database do all the work&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It is shocking how many coders still insist on their for loops in code.&amp;nbsp; I mean, Dr. Codd made that obsolete, in the sense of providing an abstract declarative data model, in 1969/70 (the year depends on whether you were inside or outside IBM then).&amp;nbsp; In a few years, Ingress and Oracle were live.&amp;nbsp; I've concluded that MySql, PHP, java, and the web generally is what motivated the regression to COBOL/VSAM paradigms (that is, data is just a lump of bytes which can only be accessed through bespoke source code).&amp;nbsp; One didn't need to know much, and frankly most webbies didn't and don't, about data to build some snappy web site that just saves and moves gossip.&amp;nbsp; I suppose that's OK for most of the juvenilia that passes for web stuff, but not for the grown ups.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-815580938766832120?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/815580938766832120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/django-played-jazz.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/815580938766832120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/815580938766832120'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/django-played-jazz.html' title='Django Played Jazz'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-560956763231484394</id><published>2010-12-16T22:05:00.000-05:00</published><updated>2010-12-16T22:05:34.892-05:00</updated><title type='text'>An Once of Prevention</title><content type='html'>Andy Lester is a Perl coder, and I loath Perl, so there has to be a good reason for me to mention him.&amp;nbsp; And that reason is a posting of his, &lt;a href="http://www.artima.com/forums/flat.jsp?forum=166&amp;amp;thread=313105"&gt;linked from Artima&lt;/a&gt;, which contains the following:&lt;br /&gt;&lt;br /&gt;This person was one of those programmers who tried for the premature optimization of saving some typing. He forgot that typing is the least of our concerns when programming. He forgot that programmer thinking time costs many orders of magnitude more than programmer typing time, and that the time spent debugging can dwarf the amount of time spent creating code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, when I was young and impressionable, the notion that a developer is paid to think, and not to type, was widely accepted.&amp;nbsp; But I've certainly noted that in recent years, java perhaps the culprit, lots o typing is now the metric.&amp;nbsp; LOC rules, even if most are worthless.&amp;nbsp; Moreover, development by debugging is also normative.&amp;nbsp; Ick.&lt;br /&gt;&lt;br /&gt;What might this have to do with the point of this endeavor, you may be asking?&amp;nbsp; Simply that declarative data is so much lazier than typing, and that a BCNF schema is easy to modify (since there aren't covariances to worry about).&amp;nbsp; It does require some forethought, what Spolsky calls BDUF (you should look it up, if it's foreign), but that forethought isn't carved in stone, rather a strategic battle plan which permits many tactics.&amp;nbsp; The "Agile" meme appears to have eaten its children, in that its zealots really, really do believe that all projects can be built from daily hacks by masses of coders.&amp;nbsp; Ick; double Ick.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-560956763231484394?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/560956763231484394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/once-of-prevention.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/560956763231484394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/560956763231484394'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/once-of-prevention.html' title='An Once of Prevention'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-3502782957166345949</id><published>2010-12-15T21:59:00.001-05:00</published><updated>2010-12-15T21:59:56.724-05:00</updated><title type='text'>Pundit for a Day</title><content type='html'>I've been reading Cringely for decades, and especially, along with most who read him it turns out, his annual predictions.&amp;nbsp; Since leaving his PBS gig, he hasn't been doing them.&amp;nbsp; Sniff.&amp;nbsp; But &lt;a href="http://www.cringely.com/2010/12/predicting-the-future/"&gt;today he announced&lt;/a&gt; that he would do another, and invited his readers to contribute same.&amp;nbsp; Well.&amp;nbsp; Not one to turn my nose up at the possibility of 15 seconds of fame (he allowed that any reader predictions would be printed with attribution, which he sort of has to do) I offered up what follows.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Just one, sort of.&lt;br /&gt;&lt;br /&gt;I've been banging a drum for SSD for a number of years, at least since Intel released their flash version (in true Enterprise, Texas Memory has been shipping DRAM parts for decades, but that's another story).&lt;br /&gt;&lt;br /&gt;When STEC, Violin, et al started to build "Enterprise" flash SSD those few years ago, the notion they promoted was that SSD would replace HDD, byte for byte.&amp;nbsp; That didn't happen, largely IMO because the storage vendors (SSD makers and storage OEMs) couldn't develop a value story.&lt;br /&gt;&lt;br /&gt;There always was a story:&amp;nbsp; the Truly Relational RDBMS (not the flatfile dumps common in Fortune X00 companies which moved their COBOL/VSAM apps to some database) is (so far) the only thing which exercises the real strength of the SSD:&amp;nbsp; random IOPS.&amp;nbsp; But to get that benefit, you have to have a BCNF (or better) database, and join the shit out of it.&amp;nbsp; The COBOL/VSAM and java apps devs don't think that way; they love their bespoke written loops.&lt;br /&gt;&lt;br /&gt;So, what we've got now is SSD as front end cache to HDD arrays.&amp;nbsp; And SSD as game machine and laptop speed up.&amp;nbsp; Enterprise hasn't yet bought SSD as primary storage.&amp;nbsp; Hmmm.&lt;br /&gt;&lt;br /&gt;In 2011, we will see that.&amp;nbsp; My guess is Oracle will be the lead.&amp;nbsp; It works this way.&amp;nbsp; Larry wanted Sun, not for java or MySql, but the hardware stack.&amp;nbsp; What Larry needs is that last group of holdouts:&amp;nbsp; IBM mainframe apps.&amp;nbsp; To do that, he needs a credible alternative to the z machine ecosystem.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;He has that now, but it ain't COBOL.&amp;nbsp; He needs a value story to get those COBOL/VSAM apps.&amp;nbsp; Whether you buy that Oracle is the best RDBMS or not, Larry can make the case, particularly since his competitors (save IBM) have adopted the MVCC semantic of Oracle.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Pushing highly normalized databases, with most/all of the business logic in the database (DRI and triggers and SP) running on SSD makes for a compelling story.&amp;nbsp; But you've got to spend some quality time building the story and a POC to go with it.&amp;nbsp; Larry's going to do it; he hasn't any choice.&amp;nbsp; And it makes sense, anyway.&lt;br /&gt;&lt;br /&gt;Remember, a RDBMS running on SSD is just an RCH from running an in-memory database.&amp;nbsp; You don't need, or want, lots of intermediate caching between the user screen and the persistent store.&amp;nbsp; Larry's got the gonads to do it.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Robert Young&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-3502782957166345949?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/3502782957166345949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/pundit-for-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3502782957166345949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/3502782957166345949'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/pundit-for-day.html' title='Pundit for a Day'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-6681748389700107606</id><published>2010-12-09T22:15:00.000-05:00</published><updated>2010-12-09T22:15:02.878-05:00</updated><title type='text'>Hand Over Your Cash, or I'll Shoot</title><content type='html'>The recent events led me to consider, yet again, the SSD landscape.&amp;nbsp; The point of this endeavor is to promote the use of SSD as sole repository/persistence for BCNF databases.&amp;nbsp; The reasons have been written to a great extent.&lt;br /&gt;&lt;br /&gt;Since beginning this endeavor, there has been a clear shift in storage vendors' marketing of SSD, whether this shift was proactive or reactive, I do not know.&amp;nbsp; These days, there is much talk of tiering and SSD as cache, less talk of SSD as whole replacement of HDD.&amp;nbsp; Zolt, over at &lt;a href="http://www.storagesearch.com/"&gt;storage search&lt;/a&gt; still promotes the wholesale replacement angle, but he seems to be in the minority.&amp;nbsp; I stopped over to copy the URL, and there's an interesting piece from 7 December worth reading, the column headed "MLC inside financial servers new interview with Fusion-io's CEO" (the way the site works, the piece will likely be hard to find in a couple of weeks, so don't tarry).&lt;br /&gt;&lt;br /&gt;So, I reveried into the middle of a thought experiment:&amp;nbsp; what difference, if any, does it make whether an SSD is used as sole/primary store or as cache?&amp;nbsp; Well, I concluded that as cache, dirt cheap SSDs are just as good as Roll Royce SSDs (i.e., STEC, Violin, Fusion-io, and the like) from one angle, for the simple reason that the data on the SSD is really short-term.&amp;nbsp; From another angle, those cache SSDs had better by really high quality, for the simple reason that the data is churned like a penny stock boiler room, and SSDs need robust design to survive such a pounding.&lt;br /&gt;&lt;br /&gt;The OCZ contract announcement leans toward the first answer; $500 doesn't buy much (if any) STEC SSD.&amp;nbsp; With error detection and hot swapping in the array, just pull them as they die and toss 'em in the shredder.&amp;nbsp; I'd unload any STEC shares real soon now.&amp;nbsp; There'll still be full-blown SSD storage for my kind of databases, but the American Expresses are more likely to go the front-end caching route (they've no stomach for refactoring that 1970's data), and for that implementation, commodity (this soon???) SSD is sufficient.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-6681748389700107606?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/6681748389700107606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/hand-over-your-cash-or-ill-shoot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/6681748389700107606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/6681748389700107606'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/hand-over-your-cash-or-ill-shoot.html' title='Hand Over Your Cash, or I&apos;ll Shoot'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2855917552432369014</id><published>2010-12-09T09:11:00.000-05:00</published><updated>2010-12-09T09:11:05.695-05:00</updated><title type='text'>Like a Rolling Stone</title><content type='html'>One Hit (To The Body), STEC's and Compellent's that is, appears to have happened today.&amp;nbsp; And, I'll 'fess up, I never saw it coming.&amp;nbsp; OCZ, which had looked like a mix of prosumer/consumer SSD builder, &lt;a href="http://finance.yahoo.com/news/OCZ-Technology-Group-Receives-pz-173546136.html?x=0&amp;amp;.v=1"&gt;is now shipping Enterprise&lt;/a&gt; parts.&amp;nbsp; Who knew???&amp;nbsp; And the stated price is $300-$500.&amp;nbsp; Either some OEM is willing to take a really big chance, or the cost of Enterprise SSD just went over a cliff.&lt;br /&gt;&lt;br /&gt;Here's hoping for the latter.&amp;nbsp; Do you get it?&amp;nbsp; SSD for only 2 to 3 times the cost up front!!&amp;nbsp; Not the 10 times (or more) it has been.&amp;nbsp; And if the buyer is EMC????&amp;nbsp; STEC's corporate sphincter just got puckered.&lt;br /&gt;&lt;br /&gt;The devices are &lt;a href="http://www.ocztechnology.com/aboutocz/press/2010/400"&gt;the Deneva line&lt;/a&gt;, which they only announced back in October?&amp;nbsp; They run SandForce's SF-2000 controllers, and will be shipping by February!!&amp;nbsp; "Watson, the game's afoot."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As I was composing this missive, came word of the Compellent smash, and it's not a technical problem.&amp;nbsp; Compellent is an early adopter of STEC SSD.&amp;nbsp; Months ago, you may remember, a rival, 3PAR, was the hockey puck in a takeover game.&amp;nbsp; Compellent's share rose, a lot, in sympathy, and kept going.&amp;nbsp; Today's story has it that the company is going to Dell, but for substantially less than the share bid up by all those plungers.&amp;nbsp; Irrational exuberance strikes again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2855917552432369014?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2855917552432369014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/like-rolling-stone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2855917552432369014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2855917552432369014'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/like-rolling-stone.html' title='Like a Rolling Stone'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-9086594826172110839</id><published>2010-12-08T16:06:00.000-05:00</published><updated>2010-12-08T16:06:23.062-05:00</updated><title type='text'>Simple Simon Met a Pie Man</title><content type='html'>Another case of an interesting thread and an interesting post (mine, of course).&amp;nbsp; And, once again, it's from &lt;a href="http://www.simple-talk.com/"&gt;Simple Talk&lt;/a&gt;; on &lt;a href="http://www.simple-talk.com/community/blogs/roger/archive/2010/12/03/95977.aspx?CommentPosted=true#commentmessage"&gt;this thread&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since you mentioned it, I'll beat the drum, yet again, for the necessary paradigm shift (in many places, anyway) which small keyboardless (in practice, even when one exists) devices.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;- Mostly, it was seeing that the best existing tablet and smartphone apps do simple, intuitive things, using simple intuitive interfaces to solve single problems.&lt;br /&gt;&lt;br /&gt;As I've said here and elsewhere for some time, by (re-)factoring databases to high normal form (narrow tables, specifically), one gains a number of advantages.&lt;br /&gt;&lt;br /&gt;1) such schemas are inherently candidates for UI generation, due to DRI&lt;br /&gt;2) they're inherently robust, due to DRI&lt;br /&gt;3) they're likely most of the way to being "pickable", which is what tablets do&lt;br /&gt;4) given the ability to host high normal form databases on SSD, then building them to such a UI is feasible&lt;br /&gt;&lt;br /&gt;Tablets have a long history, in fact; the iPad is nothing new, except for its venue.&amp;nbsp; Those doing VAR systems that work in warehouses have been writing to RF tablets for a couple of decades, and designing to high normal form (or, as often, working around its absence).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-9086594826172110839?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/9086594826172110839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/simple-simon-met-pie-man.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9086594826172110839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/9086594826172110839'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/simple-simon-met-pie-man.html' title='Simple Simon Met a Pie Man'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2165704327707605167</id><published>2010-12-07T08:56:00.000-05:00</published><updated>2010-12-07T08:56:16.176-05:00</updated><title type='text'>Pink Floyd</title><content type='html'>For those following that other story, what's Larry up to with Sun, I've been in the it's-about-taking-down-the-mainframe camp from the first nanosecond.&amp;nbsp; It's been kind of a small camp, amongst the Usual Pundit Suspects.&amp;nbsp; But today comes &lt;a href="http://www.pcworld.com/article/212564/ellison_oracle_enterprise_linux_coming_to_sparc.html"&gt;a bit of news&lt;/a&gt; along that line of thinking.&lt;br /&gt;&lt;br /&gt;It's becoming clearer that Larry wants a database machine that can slurp up all those renegade IBM mainframe folks.&amp;nbsp; He knows he's got to get them off COBOL, somehow too, but first he needs a credible stack.&amp;nbsp; Another brick in the wall.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2165704327707605167?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2165704327707605167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/pink-floyd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2165704327707605167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2165704327707605167'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/pink-floyd.html' title='Pink Floyd'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7228928347085049098</id><published>2010-12-04T22:10:00.000-05:00</published><updated>2010-12-04T22:10:35.592-05:00</updated><title type='text'>Tin Man</title><content type='html'>I've met the Tin Man.&amp;nbsp; Whilst looking for some MVCC/Locker debate I happened onto a Sybase Evangelist blog.&amp;nbsp; Kind of like what I do, but he gets paid for it.&amp;nbsp; Sigh.&amp;nbsp; May be soon.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Anyway, &lt;a href="http://blogs.sybase.com/database/2010/04/solid-state-disks-why-are-you-still-using-metal-platters/"&gt;this post&lt;/a&gt; is his paen to SSD, and this:&lt;br /&gt;How big is your database?? **light bulb** Those same 10 SSD's get you a whopping 300-600GB of storage. You could just put the whole shooting match on SSD and forget the IO problems. Rep Server stable queue speed issues - vaporized.&lt;br /&gt;&lt;br /&gt;Be warned, he makes the leap from Amazon sourced SSD to enterprise database storage (he doesn't mention STEC or Violin, for instance, but appears to be aware of earlier Texas Memory DRAM units); not really going to happen, so his arithmetic is off by a decimal point.&amp;nbsp; But otherwise, he and I are on the same page, especially with skipping the "cache with SSD" silliness, and just storing to SSD.&amp;nbsp; Schweeet.&amp;nbsp; And he knows from schmere.&lt;br /&gt;&lt;br /&gt;Now, hold Dorothy's hand.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7228928347085049098?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7228928347085049098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/tin-man.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7228928347085049098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7228928347085049098'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/tin-man.html' title='Tin Man'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5789803764766712283</id><published>2010-12-02T09:14:00.000-05:00</published><updated>2010-12-02T09:14:12.679-05:00</updated><title type='text'>Thanks for the Memory</title><content type='html'>AnandTech &lt;a href="http://www.anandtech.com/show/4043/micron-announces-clearnand-25nm-with-ecc"&gt;has an article about 25nm flash&lt;/a&gt; today.&amp;nbsp; Well worth the read.&amp;nbsp; I'm not sure how this affects this endeavor.&amp;nbsp; On the one hand, the physics of smaller feature makes flash less worthy of enterprise storage.&amp;nbsp; On the other, the increased density supports greater over-provisioning to solve, maybe, the problems.&amp;nbsp; A classic engineering problem.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;I stopped by &lt;a href="http://www.unitysemi.com/technology-cmox-memory.html"&gt;Unity Semiconductor&lt;/a&gt; to see if there's any news on shipping of their "new" device.&amp;nbsp; &lt;a href="http://techon.nikkeibp.co.jp/article/HONSHI/20100420/181992/"&gt;They include this article&lt;/a&gt;.&amp;nbsp; If it works, SSD has some calm seas and wind at its back.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5789803764766712283?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5789803764766712283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/thanks-for-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5789803764766712283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5789803764766712283'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/12/thanks-for-memory.html' title='Thanks for the Memory'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-2212181785295230704</id><published>2010-11-24T11:18:00.000-05:00</published><updated>2010-11-24T11:18:33.995-05:00</updated><title type='text'>You've Earned a Good Thrashing</title><content type='html'>One of the aspects of RDBMS on SSD that has been worming around in my lower brain stem for a bit is, what difference does it make whether the engine is locker or MVCC?&amp;nbsp; Now, for those just joining the partay, my database of preference has been DB2, with SQL Server and PostgreSQL and MySql as adjunctants, for the last decade or so.&amp;nbsp; DB2 is the last major database sticking to locker semantics; with good reason, so far as I am concerned.&amp;nbsp; The engine implements a deep locking scheme, and fail fast by the database is smarter than fail late by the user.&lt;br /&gt;&lt;br /&gt;The question which as been nagging me is, for MVCC semantics, that data is spread out among both the tables and supporting storage.&amp;nbsp; In Oracle's case, these are rollback segments.&amp;nbsp; MVCC, to use my term, is Read Last Committed semantics; and to do that, the engine has to keep track of changes on the fly such that any query can get any rows from any table *as of* some time/commit/transaction (take your pick of term).&amp;nbsp; &lt;br /&gt;&lt;br /&gt;My worry is that garden variety SSD may not be up to storing rollback segments, due to the heavy writing.&amp;nbsp; On a HDD, it's no big deal.&amp;nbsp; But this method of storage necessarily slows down the engine.&lt;br /&gt;&lt;br /&gt;In looking for answers, I &lt;a href="http://www.cs.arizona.edu/~bkmoon/papers/sigmod08ssd-slides.pdf"&gt;came across this paper&lt;/a&gt; from 2008.&amp;nbsp; You can skip down to slide 22 for the specific discussion.&amp;nbsp; The paper doesn't present evidence, one way or another, about this concern, but does show that putting version data on SSD is a huge performance win. &lt;a href="http://kocseaa.org/home/static_html/symposium09/slides/Saturday%205%20-%20DB/Bongki%20Moon.ppt"&gt;Here's an update&lt;/a&gt; to December, 2009 from the main author.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;So, in all, I haven't found any clear answers from the literature.&amp;nbsp; What seems clear is that garden variety consumer SSD wouldn't survive (not that I'd ever recommend such parts anyway), and I'm not so sure about prosumer parts.&amp;nbsp; The STEC's out there, not concerned.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-2212181785295230704?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/2212181785295230704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/youve-earned-good-thrashing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2212181785295230704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/2212181785295230704'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/youve-earned-good-thrashing.html' title='You&apos;ve Earned a Good Thrashing'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-1957833383916171611</id><published>2010-11-18T21:15:00.002-05:00</published><updated>2010-11-18T21:15:32.530-05:00</updated><title type='text'>Food Fight</title><content type='html'>I do so love it when the Kiddies finally figure out databases; well a couple and a little bit.&amp;nbsp; &lt;a href="http://blogs.sitepoint.com/2010/11/19/mysql-mistakes-php-developers/"&gt;This PHP post&lt;/a&gt; came across my bow, and it's just too much fun not to pass on.&amp;nbsp; Thing is, the blogger looks to be a bit of a young-un.&amp;nbsp; And he takes a good deal of heat from the ridgebrows, but doesn't back down.&amp;nbsp; Good for him.&amp;nbsp; There is hope for us all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-1957833383916171611?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/1957833383916171611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/food-fight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1957833383916171611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/1957833383916171611'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/food-fight.html' title='Food Fight'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-4149713509524035202</id><published>2010-11-16T15:35:00.000-05:00</published><updated>2010-11-16T15:35:10.265-05:00</updated><title type='text'>An Open and Shut Case</title><content type='html'>There was an OpenSQL camp up in Cambridge last month, and I considered going, but the agenda listed far too many NoSQL projects.&amp;nbsp; I decided that I'd just spend a long weekend being irritated.&amp;nbsp; Today I read Josh Berkus's &lt;a href="http://lwn.net/Articles/412307/"&gt;write up on lwn.net&lt;/a&gt;, and this was the one nugget:&lt;br /&gt;&lt;br /&gt;Some of the SQL geeks at the conference discussed how to make developers more comfortable with SQL. Currently many application developers not only don't understand SQL, but actively hate and fear it. The round-table discussed why this is and some ideas for improvement, including: teaching university classes, contributing to object-relational mappers (ORMs), explaining SQL in relation to functional languages, doing fun "SQL tricks" demos, and working on improving DBA attitudes towards developers. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There are times (quite often, truth be told) that I wish the relationalists had the gonads of the Right Wingnut Zealots or Tea Baggers or what-have-you.&amp;nbsp; The RM isn't just another data store.&amp;nbsp; By attempting to make nice with folks who refuse to listen, you'll just tick off the folks who do get it, but won't convince those who've no intention of being swayed.&amp;nbsp; Use relational databases to make better systems than the knuckleheads who belittle them.&amp;nbsp; Don't get mad (well, a bit some times), get even.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;If you go and read the piece, you'll find the attendees worrying about problems that the commercial vendors (with lots more folks, of course) dealt with years, if not decades, ago.&amp;nbsp; Some of the problems are fully discussed in textbooks; Weikum &amp;amp; Vossen in particular.&amp;nbsp; There Ain't No Such Thing As A Free Lunch.&amp;nbsp; If you want minimal byte footprint, maximum structural integrity, minimum modification hassle, then the RM as embodied in current industrial strength RDBMS's is the way to go.&amp;nbsp; Open Source databases can do the same, so long as they concentrate on implementing the fundamentals, and stop worrying about pandering to the FOTM programming language.&amp;nbsp; Languages will come and go (COBOL and java relegated to Big Business), but the data is forever.&amp;nbsp; Best put it some place safe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-4149713509524035202?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/4149713509524035202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/open-and-shut-case.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4149713509524035202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/4149713509524035202'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/open-and-shut-case.html' title='An Open and Shut Case'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-5891651734513884368</id><published>2010-11-09T14:45:00.002-05:00</published><updated>2010-11-09T14:45:59.785-05:00</updated><title type='text'>Convicts and Cane</title><content type='html'>If you're of a certain age, or were precocious at a young age, you may be familiar with the following lyric: "In the early part of this century, convict labor worked the cane fields on the bottoms of the Brazos river... Go down old Hannah don't you rise no more, if you rise in the morning, bring the judgment day".&lt;br /&gt;&lt;br /&gt;I've no idea whether the Thought Leaders at AMD are familiar with old folk songs, but they've labeled its latest Intel beater Brazos.&amp;nbsp; The good folks &lt;a href="http://www.anandtech.com/show/4003/previewing-amds-brazos-part-1-more-details-on-zacateontario-and-fusion/1"&gt;at AnandTech&lt;/a&gt; have some details.&amp;nbsp; While this is a notebook implementation, and not especially pertinent to this endeavor, the graph on page one surely is.&amp;nbsp; I gather it represents AMD's view of machine development over the next years, and that AMD will have victory on judgment day.&lt;br /&gt;&lt;br /&gt;That last curve, for what AMD calls Heterogeneous-Core Era, is Brain Viagra.&amp;nbsp; "Abundant data parallelism" is what the SSD/BCNF database is all about.&amp;nbsp; Another step along the Yellow Brick Road.&amp;nbsp; It will be a fun journey.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-5891651734513884368?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/5891651734513884368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/convicts-and-cane.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5891651734513884368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/5891651734513884368'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/convicts-and-cane.html' title='Convicts and Cane'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891277981056105369.post-7157165943548938989</id><published>2010-11-09T10:30:00.001-05:00</published><updated>2010-11-09T11:38:40.870-05:00</updated><title type='text'>Ahhhhhhhhh.  The Stay Puft Man</title><content type='html'>I once knew a man, father of a friend of mine, who remarked that one of his sons "costs me a lot of money"; private school and all that.&amp;nbsp; Applications designed to be difficult to maintain are a lot like prodigal sons, the money just seems to fly out the window.&amp;nbsp; Coders remain adamant that their API's are what make software easy to maintain.&amp;nbsp; Baloney.&amp;nbsp; The proliferation of code, much as it was in the 1960's (when COBOL was going to make application development so easy, a manager could do it), is justified on the grounds that the latest New Thing in coding will make all the angst go away.&amp;nbsp; Hasn't happened, now has it?&amp;nbsp; Perhaps we should stop looking to bloatcode for the answer.&lt;br /&gt;&lt;br /&gt;SQL Server Central &lt;a href="http://www.sqlservercentral.com/articles/Editorial/71508/"&gt;has an article on maintenance&lt;/a&gt;.&amp;nbsp; I was moved to post a reply, herewith entered for your approval.&amp;nbsp; Another opportunity to ring the bell for SSD/BCNF systems.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the world of commercial/business software, aka database systems, the answer to maintenance costs is to embrace SSD/BCNF.&amp;nbsp; Why, you may ask?&amp;nbsp; Let me count the ways.&lt;br /&gt;&lt;br /&gt;1) by putting the data and its integrity logic in one place, the server, letting the client code be responsible only for screen painting and data input; one small group of smart database geeks keeps the data under control.&amp;nbsp; compare to the human wave approach of client-side coding.&amp;nbsp; in fact, embracing SSD/BCNF means the data is utterly agnostic to the client code.&amp;nbsp; could not possibly care less whether it's a java screen, or VB screen, or csv file.&amp;nbsp; makes no difference.&amp;nbsp; I offer xTuple as an example; not yet a SS application, not that this matters much.&lt;br /&gt;&lt;br /&gt;2) by embracing SSD/BCNF, maintenance amounts to adding columns/tables/rows (a row is a business rule, remember) to the schema.&amp;nbsp; the data hangs together on the RM.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;3) by embracing SSD/BCNF, client side code can be generated from the schema.&amp;nbsp; not saying it has to be, or should be (well, yeah, it should), but it can be.&amp;nbsp; at the least, clients should interact through SP.&lt;br /&gt;&lt;br /&gt;4) with significantly (and soon to be, massively) parallel servers available for small bucks, what's the most adept application for such machines?&amp;nbsp; well, the relational database engine, of course.&amp;nbsp; client code, not so much; as client coders are discovering.&lt;br /&gt;&lt;br /&gt;5) by embracing SSD/BCNF, the byte footprint is an order of magnitude less than it is with the flat-file storage so beloved by C#/java/VB/COBOL coders.&lt;br /&gt;&lt;br /&gt;6) as Celko (at least) has written (in "Thinking in Sets"), using auxiliary tables to implement constraints makes maintenance still simpler:&amp;nbsp; just add (or delete) rows to update constraints.&amp;nbsp; for that matter, authorized users can update check constraints and the like from screens; such constraints are just text stored in the catalog.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That should do it for now.&amp;nbsp; Remember, the cost of maintenance is *directly* a function of the code/data structure.&amp;nbsp; The more obscure that structure, the higher the cost.&amp;nbsp; Historically, for those that have been paying attention, coders view life (largely because those that employ them are dumb enough measure them so) as a LOC exercise.&amp;nbsp; Anything which increases the LOC future is good; likewise, anything which decreases LOC future is bad.&amp;nbsp; Those that employ them often take the same view, though few will admit it.&amp;nbsp; The reason is that such organizations are inherently bureaucratic, and in that environment the one with the deeper org chart gets more money ("I manage 5 managers and 100 staff, you've only got 3 and 50").&amp;nbsp; Efficiency and productivity really aren't the goal.&amp;nbsp; The hardware and software to solve the issue, in the commercial world, has existed for decades, yet the COBOL/VSAM paradigm persists; only the syntax has changed.&amp;nbsp; That's not an accident.&amp;nbsp; The RM and RDBMS are actively opposed in many shops just because fewer coders would be needed, to do all that maintenance that CIO's complain about; which fact keeps the CIO's org chart growing.&amp;nbsp; Hmmm.&amp;nbsp; Curious.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891277981056105369-7157165943548938989?l=drcoddwasright.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drcoddwasright.blogspot.com/feeds/7157165943548938989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/ahhhhhhhhh-stay-puft-man.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7157165943548938989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891277981056105369/posts/default/7157165943548938989'/><link rel='alternate' type='text/html' href='http://drcoddwasright.blogspot.com/2010/11/ahhhhhhhhh-stay-puft-man.html' title='Ahhhhhhhhh.  The Stay Puft Man'/><author><name>Robert Young</name><uri>http://www.blogger.com/profile/09056808374481236610</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://1.bp.blogspot.com/-Er9cWHhacCw/TgFoChg_y8I/AAAAAAAAACI/vqa9fbA02ko/s220/mecrop.jpg'/></author><thr:total>0</thr:total></entry></feed>
