<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>developer.* Blogs</title>
  <subtitle>Software Development Blogs</subtitle>
  <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community"/>
  <link rel="self" type="application/atom+xml" href="http://www.developerdotstar.com/community/atom/feed"/>
  <id>http://www.developerdotstar.com/community/atom/feed</id>
  <updated>2007-03-20T08:05:06-07:00</updated>
  <entry>
    <title>Not seeing the wood for the trees</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/734" />
    <id>http://www.developerdotstar.com/community/node/734</id>
    <published>2007-05-28T07:43:53-07:00</published>
    <updated>2007-06-01T14:15:48-07:00</updated>
    <author>
      <name>chrishmorris</name>
    </author>
    <category term="Software Development" />
    <summary type="html"><![CDATA[<p>A recent seminar on testing ... and some lessons on reflectiveness.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Four of us presented a seminar on the techniques we have been using to test the product: JUnit, EclEmma for coverage, Selenium and a random spider for web UI tests, checkstyle for static checking.</p>
<p>One person reported that we had found that the javascript validation did not work just hours before a release. "When I saw the panic ... I swore I'd make tests from now on." </p>
<p>One said that by personal experience, he "spent half his time on defect fixing before, but now" that he uses Test Driven Development "it is only 20% of the time".</p>
<p>One reported a time when I had deferred a fix until the next release, and said that this did not correspond to the users' priorities.</p>
<p>So there were a few gems in it. But it was also significant that their presentations were overwhelmingly on details of the tools, not of how using them changes the development process.</p>
<p>We are half way through a five year project. It's time to think about preparing them for their next roles. How can I encourage them to abstract from the day to day work and become conscious pilots of the project?</p>
    ]]></content>
  </entry>
  <entry>
    <title>I hit the ceiling</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/733" />
    <id>http://www.developerdotstar.com/community/node/733</id>
    <published>2007-05-25T01:06:42-07:00</published>
    <updated>2007-06-01T14:13:25-07:00</updated>
    <author>
      <name>chrishmorris</name>
    </author>
    <category term="Software Development" />
    <summary type="html"><![CDATA[<p>Recognising when it's time to move on.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I've just had a performance review with my new supervisor, with disappointing results. </p>
<p>It seems to me that I have led my project to succeed in a way that others in the same milieu have not; that this is not a fluke; and that success was obtained by methods which I could teach to others.</p>
<p>My supervisor explained that this is a scientific organisation, and so to get promotion I need to publish half a dozen papers. He explained, frankly and with good will, that the things I have achieved would not be highly regarded by a promotion panel.</p>
<p>Underlying this, I don't think he really got it himself. I think that once again I am doing good work of a sort that my employer does not reward - in fact, does not even notice. </p>
<p>So it seems to be time to move on again. The good aspect of this employer is it took four years to get to this point. The bad luck is that my previous department is contracting, and my previous supervisor retired. They would have been much more likely to get it.</p>
<p>The hardest part of the project is over. It can now proceed to completion without me. So I can look around with a good conscience.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Filibuster</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/732" />
    <id>http://www.developerdotstar.com/community/node/732</id>
    <published>2007-04-23T22:41:48-07:00</published>
    <updated>2007-04-24T13:27:12-07:00</updated>
    <author>
      <name>chrishmorris</name>
    </author>
    <category term="Software Development" />
    <summary type="html"><![CDATA[<p>"I resent you putting pressure on me to take those decisions."</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>The project board took a discussion on goals for the year. That's late, since this is April, it was ill-prepared, and it was rushed. Nevertheless, this was progress.</p>
<p>The discussion was nearly derailed by the head of the project, Len,  repeatedly making the same detail point over and over again. The chair of the meeting started reading his email. The person presenting that item switched the screen to the cricket scores.</p>
<p>I said loudly "we only have 15 minutes left, and without decisions on this item I don't know what assignments to give the developers from the start of May". The meeting resumed. Most of the work packages were labeled A, but there were enough Bs and Cs to give me something to work with.</p>
<p>After the meeting Len said to me "I resent you putting pressure on me to take those decisions."</p>
<p>I find that truly bizarre as a way of speaking to someone who works for you. I reminded him that I had been asking for these decisions since July last year.</p>
<p>The meeting showed some other progress too. We used to be divided between people who think we are doing great and people who think everything is terrible. Now we seem to be agreed on a balanced assessment of the project.</p>
<p>For the current release there was a beta test. I wrote a form with tick boxes, and one user returned it, ticked to say that after some specified fixes, the release is fit for use.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Virginia Tech</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/731" />
    <id>http://www.developerdotstar.com/community/node/731</id>
    <published>2007-04-20T23:11:48-07:00</published>
    <updated>2007-04-21T06:39:49-07:00</updated>
    <author>
      <name>Edward G Nilges</name>
    </author>
    <category term="Blog Post" />
    <summary type="html"><![CDATA[<p>Thirteen thoughts on the recent tragedy at Virginia Tech.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>(1) Nikki Giovanni is a poet on the faculty and she had been disturbed by Cho's writings. She tried to get him removed from the class and into help to no avail.</p>
<p>(2) University shootings have a LONG history. Moritz Schlick was a German philosopher and founding father of the *Werner Kreis* school of Logical Positivism who was shot in 1936 by a disgruntled student. The assassin was lionized by the Nazis because although Schlick wasn't Jewish, his name "sounded" Jewish and Logical Positivism was disliked by the few Nazis that had heard of it.</p>
<p>(3) Far earlier, the philosopher Peter Abelard was judicially tortured and murdered ostensibly for his relationship to the nun, Heloise.</p>
<p>(4) The anti-intellectualism of American universities, which the public insists on treating exclusively as a wealth creator, and which are continually subject to various forms of corporate exploitation, from university computer science departments forced to focus on MIS to Girls Gone Wild, created in Cho it seems a hopelessness that, as an Asian male, he would ever be accepted into American society as a man. Need I say this doesn't at all excuse his crimes? I guess I have to.</p>
<p>(5) When I worked at Princeton, my boss was disturbed at times by my anger on electronic forums including usenet, at the time in its infancy. But instead of remaining silent, she courageously intervened to discover that while I do have a temper, I don't know even how to fire a gun and in all cases prefer to write about things that anger me; she discovered I was taking personal steps to recover from a bitter divorce and the downsizing of Bell Northern Research. I continued occasionally to fright the ladies at Princeton because I'd "lose it" at incompetent software and curse my screen, but my boss considered me qualified not only to help Nash but also to mentor Princeton High School students who were misusing the Internet.</p>
<p>(6) Whereas the media, even before the shooter at VT was known, was carefully "othering" him in the approved style primarily to ensure the viewer that they were not at all like Cho, no sir, despite the fact that on THE SAME DAY, the tax dollars of Americans were responsible for the deaths of 150 Iraqis in communal fighting that was caused by the 2003 invasion, that was supported by 70% of Americans polled on the basis of what has been admitted to be a LIE.</p>
<p>(7) The interesting thing about the re-presentation of incidents like these is that while in the 19th century, when a Chinese student failed the Imperial examination and decided he was the younger brother of Christ, that same student was able to persuade his real brother and several million people to rebel against the Q'ing dynasty, whereas today the media, by design, represents anger at the system and Rage Against the Machine as an individual and atomic phenomenon.</p>
<p>(8) Angry men are re-presented in the media, and for this reason think of themselves, as profoundly isolated when in fact they could better deal with their anger by making common cause in labor unions and in social activism, but this gives the elite the willies, and for this reason, in W. H. Auden's words, we must suffer it all again.</p>
<p>(9) This incident is going to make my East Asian students' lives that much harder through no fault of their own, since they had, vis a vis Middle Eastern students, a slight advantage in that they were not associated in the collective mind of the Immigration and Naturalization Service as "terrorists", but, thanks to Cho AND the complete INCOMPETENCE of VT's administration, they will now be thought of as potential mass murderers. Which they are not: Cho could have been of any ethnicity because workplace and school shootings are sociology and not psychology. </p>
<p>(10) American culture is unique in isolating and in cutting off people precisely when they are emotionally or financially needy, and then blaming them for their problems. Cho was responsible for what he did but he's dead, and all the theatric "mourning" and religious posturing won't change a thing. Instead, students and workers in America need a New Deal.</p>
<p>(11) We simply don't talk enough about programmer unemployment, depression, suicide and divorce and as programmers prefer to talk about technology, in part because we haven't learned to talk about pain, and in an hegemony of the so-called American Dream, it's still unpatriotic, despite the evidence of our senses, to say that we just cannot make it, as contract programmers or working for corporations that continually downsize senior people simply to save a buck, despite the knowledge of those people...preferring software that's an unmaintainable mess to making Wall Street unhappy.</p>
<p>(12) Programmers are tacitly permitted to act out by making fun of their brother and sister programmers behind their backs, and mocking Sanjay or Vijay on the line in Hyderabad. But if programmers go in a body to their manager's manager and politely request extra time to finish a project right, many American companies will call the police, and the police will respond in force. Even in the Soviet Union, Natan Sharansky, an Israeli politician who was a computer programmer in Russia, was able to organize meetings with his Soviet managers to complain about the bonehead policies of his work unit as a group, but this is almost completely unheard of in America.</p>
<p>(13) Come from the shadows.</p>
    ]]></content>
  </entry>
  <entry>
    <title>SSIS Data Flow derived columns missing downstream--stuck behind Union All Transformation?</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/730" />
    <id>http://www.developerdotstar.com/community/node/730</id>
    <published>2007-04-19T16:01:43-07:00</published>
    <updated>2007-04-19T16:03:53-07:00</updated>
    <author>
      <name>Daniel Read</name>
    </author>
    <category term="SSIS (SQL Server Integration Services)" />
    <summary type="html"><![CDATA[<p>Unfortunately, one of the most annoying SSIS bugs did not make the cut for the <a href="http://support.microsoft.com/default.aspx/kb/921896">SQL Server 2005 SP2 bug fix list</a>: namely, when you add additional output columns to a Derived Column Transformation (and maybe other kinds as well) that is upstream from one or more Union All Transformations, the new columns you add get "stuck" behind the Union All transformations--that is, they do not show up as input columns in the Union All, and consequently do not flow past the Union All.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Unfortunately, one of the most annoying SSIS bugs did not make the cut for the <a href="http://support.microsoft.com/default.aspx/kb/921896">SQL Server 2005 SP2 bug fix list</a>: namely, when you add additional output columns to a Derived Column Transformation (and maybe other kinds as well) that is upstream from one or more Union All Transformations, the new columns you add get "stuck" behind the Union All transformations--that is, they do not show up as input columns in the Union All, and consequently do not flow past the Union All. Generally, for me anyway, this comes up when you edit an upstream Derived Column Transformation that already has one or more Union All Transformations downstream from it.</p>
<p>The best way I have found to fix this is to delete and re-add each and every Union All Transformation that is downstream from the place where you added the new column(s). Alternately, you can edit each Union All and manually add the missing columns, but since this usually happens to me with multiple columns, I don't prefer this solution most of the time.</p>
<p>Has anyone else found a way to prevent and/or fix this pesky bug? Or have I mis-characterized the problem?</p>
<p>Dan</p>
    ]]></content>
  </entry>
  <entry>
    <title>Letter to New York Times re Cornelia Dean&#039;s 4-19 article on women, computer science, and mere programming</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/729" />
    <id>http://www.developerdotstar.com/community/node/729</id>
    <published>2007-04-18T11:28:53-07:00</published>
    <updated>2007-04-18T14:06:12-07:00</updated>
    <author>
      <name>Edward G Nilges</name>
    </author>
    <category term="Career and Profession" />
    <summary type="html"><![CDATA[<p>"Ms. Dean's article does women a disservice because it buys into this classist image of "programming" and will track them, as it has in the past, into applications in which they are neither able to manage the complexity of programming, nor able to grasp the application in full."</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Editor, New York Times</p>
<p>To whom it may concern:</p>
<p>Cornelia Dean ("Computer science takes steps to bring women into the field", April 19th) takes her sources somewhat for granted when they tell her that to attract women into the field, "programming" needs to be de-emphasized.</p>
<p>The problem is that the exit from "programming" is the triumph, once again, of Road Runner, for it exits to applications more properly taught in disciplines other than computer science, leaving the graduate, like Wiley E. Coyote, with nowhere to go, but down.</p>
<p>While it is true that the very basic learning of the syntax and use of a programming language is not university material (Princeton's computer science department requiring and not delivering, at university level, a class in these basics), "programming" as the learning of the DNA of computer science (what it means to control an instruction follower) is essential.</p>
<p>Otherwise, to continue using cartoonish images, the student is unleashed even on complex applications (which, for any kind of advanced use, support the "Turing equivalent" of programming) like Mickey Mouse as the Sorcerer's hapless Apprentice. If she survives but if "programming" is de-emphasized, she is unleashed upon the world without the ability, like Mickey, to manage complexity.</p>
<p>However, mere "programming" continues to occupy in the mind of decision makers something for the underclass to aspire to at best for the same reason writing is subordinated to speech. For this reason, elite students shrink from it lest the experience of triumphantly managing symbolic complexity turn them into community college material.</p>
<p>Ms. Dean's article does women a disservice because it buys into this classist image of "programming" and will track them, as it has in the past, into applications in which they are neither able to manage the complexity of programming, nor able to grasp the application in full.</p>
<p>Regards</p>
<p>Edward G. Nilges</p>
    ]]></content>
  </entry>
  <entry>
    <title>Come from the Shadows: a review of Barbara Ehrenreich&#039;s book Bait and Switch</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/728" />
    <id>http://www.developerdotstar.com/community/node/728</id>
    <published>2007-04-16T19:21:03-07:00</published>
    <updated>2007-04-17T08:36:12-07:00</updated>
    <author>
      <name>Edward G Nilges</name>
    </author>
    <category term="Software Development" />
    <summary type="html"><![CDATA[<p>Barbara is as we used to say in the Sixties, right on, when she points out that the job seeker has to internalize society and its grim demands. She mentions Fromm, who in Escape from Freedom points out how the modern urban dweller confuses his own needs with those of society and cannot "relax": even his leisure is structured and compulsive.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>The following review has been sent to Amazon.</p>
<p>BAIT AND SWITCH: The (Futile) Pursuit of the American Dream, by Barbara ("Nickel and Dimed") Ehrenreich: Henry Holt, 2005</p>
<p>Barbara Ehrenreich documents the nightmare world of the white collar unemployed.</p>
<p>She addresses the fearsome "Gap", which doesn't refer to the clothing store where corporate employees buy their monkish "casual" clothes, but to any departure, no matter how short, from the corporate world. </p>
<p>However, one small cavil is that she treats the "Gap" as irrecoverable and comes close to advising the job seeker to lie. I covered my own "gaps" not by lying on my resume, but by creating my own entrepreneural self-employment. For example, I wrote and published "Build Your Own .Net Language and Compiler" (Apress 2004) during one of my Gaps. I also wrote several magazine articles for which I got paid.</p>
<p>However, in software, you can still, to some extent, find opportunities to consult and publish wherein actual money as opposed to total BS changes hands. Barbara speaks true when she says that a life in progressive causes hasn't prepared her for systematic selfishness. She gives one "job search consultant" very valuable advice about his own style...and winds up paying him for his time anyway: she didn't seem to realize that at the end of the session, she needed to say "I've just done you a favor, and I'd like to be paid for my time".</p>
<p>It has to be remembered, however, that in both of Barbara's Sullivans Travels (Nickel and Dimed and Bait and Switch) she was in the equivalent of Second Life, that computer game where people adopt electronic personalities. The "real" Barbara had a Keogh plan, and only a "real" "Barbara Alexander" would have been facing going back to her Atlanta motel and not being able to pay the bill. Only this would have caused "Barbara Alexander" to ask, in a session for which she was to pay, to be paid..perhaps a minimal "net" amount reflecting the consultant's fee minus her fee, which she'd set at A Few Dollars More.</p>
<p>If I may be permitted to mix language and metaphor, *chutzpah* does not spring full formed *ex nihilo*. In a Marxist sense, you learn to ask for what you need only in the real world. You don't have to be Jewish to have *chutzpah*, because *chutz-pah* is (in David Mamet's words) "I make this sale or I don't eat lunch".</p>
<p>Thus Barbara discovers, as did Joel McCrea in Sullivan's Travels, that class divides are not reproducible in electronic worlds or other, fabricated worlds: McCrea learns the real situation of the 1930s poor only when he loses his memory, in a brilliant plot device that anticipated, by thirty years, the "veil of ignorance" philosophical device of political theorist John Rawls.</p>
<p>Barbara is as we used to say in the Sixties, right on, when she points out that the job seeker has to internalize society and its grim demands. She mentions Fromm, who in Escape from Freedom points out how the modern urban dweller confuses his own needs with those of society and cannot "relax": even his leisure is structured and compulsive. </p>
<p>Tell me about it, Kiddo. I drove my once, only and former wife crazy by being a proto computer nerd because of society's absolute demand, even in 1975, that I stay employed and employable to support my kids. Why, she'd demand, did I come home to write compilers to fit on 1K personal computers? Why was I in love with the inorganic?</p>
<p>She was reading Fromm, and when, much later in sorrow and in anger I read his mentor Adorno, I realized that this is what we do. We Work Out and Dress For Success to make us into things. Rationality necessarily turns upon itself, feeds upon itself, and when we Work Out and Dress for Success and make ourselves into things, we are enacting prophesies of Adorno and even Albany's vision in Shakespeare's King Lear:</p>
<p>It will come,<br />
Humanity must perforce prey on itself,<br />
Like monsters of the deep</p>
<p>Even within the framework of Escape from Freedom, we recursively escape. I abandoned my 1971 sense, in reading Dan McCracken's book on Algol 60, that Algol and its paradigm were superior to and more human than Fortran and its dull "go to" paradigm, but I allowed clownish head hunters in crumby Loop offices to tell me that Cobol was the wave of the future, where Cobol manages to be even more soul-destroying, even within the framework of Escape from Freedom, than Fortran. And, like many males before and since, I took out my anger on the little lady. </p>
<p>Of course, Barbara needs not point out that modern, American society, with its frayed and almost nonexistent safety net outside the corporation, would not reward a reader of Fromm and make him a free, loving, human being. Instead, he becomes a snarling homeless Trogdolyte.</p>
<p>Barbara finally recognizes almost completely her brothers and sisters in the white collar corporate world, people like the Borders event planners who set up her signing parties. </p>
<p>A postmodern Adorno come to judgement, she sees clearly the violence done to language and the truth in corporate settings outside hard and high technology (and, in my own experience, where violence can be done to the truth in hard and high technology in the corporation, that rape goes forward).</p>
<p>She explores the dark underside of a "motivational" industry that preys upon job and status seekers, in which an antitheory culture does primitive and brutal theory primarily in the form of Scholastic taxonomies that would embarass a mad monk, mostly "personality types".</p>
<p>Implicitly I think she realizes that almost any taxonomy is some sort of safe and nontoxic antidepressant for the unemployed, who can write it down and think about it instead of turning on the gas: since we're built to classify and order the world, almost any exercise of that organ is a Good Thing considered as an anodyne.</p>
<p>But: as Emily Dickinson saw, the Soul who seeks Pleasure first seeks "those little Anodynes that deaden suffering" as the night falls on an increasingly dysfunctional America: an America in which the "material basis" is quietly collapsing: an America, which sends containerships either empty or full of waste paper or scrap metal to a Hong Kong, where kids know things that six-figure American computer programmers, uh, don't.</p>
<p>I also think that Barbara realizes that in a hyperindividualistic society, the job seeker is motivated by the bad news that she must take hyperresponsibility and move forward, by posting to job sites that won't generate leads, "networking" with fools, and even singing Hosannahs at "business" meetings that wallop Christianity in a way so disloyal even to the literal meaning of the Bible that they are seen even by the scamps including Barbara, as blasphemy.</p>
<p>In one meeting, the clear literal meaning of the rich man and the camel is actually twisted into its reverse by people who insist on the "Bible's literal truth"...except of course where Amos, and Jesus, question the gospel of wealth.</p>
<p>The intelligent job seeker, Barbara now knows and transmits, must needs become Marcuse's One Dimensional Man. One does this as a Fun Game, Barbara. Like a child I Worked Out and Dressed for Success, all the while trying to not take it seriously...like the father in Life is Beautiful, I had to do something.</p>
<p>But then, like Wild Bill Hickok, "boys, why then, I died!" That is, I became an expatriate because even as a Fun Game, Escape from Freedom exacts a terrible toll.</p>
<p>Barbara's prescription is also Right On. But note that even in the 1930s, the employer class fought the very idea of a union for the unemployed with the same savagery they'd destroyed the IWW ten years before. </p>
<p>I think she's smart (dialectical) enough to realize that American individualism is a partial truth and an object lesson. Progressives who ordinarily live in networks (which include job and grant finding networks) built on solidarity never get a chance to learn the strength that comes from fighting life's battles as a middle aged unemployed corporate foot soldier who maintains his love for his family and his sense of humor.</p>
<p>He is a better man than the white collar class of Germany circa 1929 whose non-individual solidarity choice was the nightmare inverse of the collectivism that Barbara so rightfully recommends. He is the man who takes rejection like a man, or the single Mom who remains cheerful for the sake of the kids. He's in other words an American ordinary slob, and in Arthur Miller's words, "nobody dast blame this man", because "a salesman's gotta dream".</p>
<p>But he needs to Come from the Shadows.</p>
<p>Will he? The men at the events Ehrenreich attends mostly glare at her with the sort of hostility Adorno saw on the tram in 1930.</p>
<p>The jury is out.</p>
    ]]></content>
  </entry>
  <entry>
    <title>IDENTITY_INSERT with SSIS OLE DB Destination</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/727" />
    <id>http://www.developerdotstar.com/community/node/727</id>
    <published>2007-04-13T14:42:06-07:00</published>
    <updated>2007-04-17T08:28:52-07:00</updated>
    <author>
      <name>Daniel Read</name>
    </author>
    <category term="SSIS (SQL Server Integration Services)" />
    <summary type="html"><![CDATA[<p>This post describes some initial troubles I had inserting into a SQL Server table with an Identity-based PK with SSIS while keeping the surrogate PK values from my source data, which happily led to a solution suggested by commenters to the original post.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p><b>Update:</b> Feel free to read my original post (rant included) and the comments thread that follows, but helpful commenters to the original post pointed me to the solution:</p>
<p>If you want to retain your original surrogate primary key values from your source data when inserting into a target table that has an Identity-based primary key, use the OLE DB Destination and choose the <i>Table or view - fast load</i> option for the "Data access mode" option. This will make visible a "Keep identity" checkbox. After checking that all you need to do is map your source key column to the target Identity key column, and it should work.</p>
<p>In my situation, this worked with a local source Access MDB file and a remote target SQL Server 2005 database connected through SQL authentication; in both cases the Connection Managers used OLE DB connections, and used the OLE DB source and target in the data flow.</p>
<p>Here is the original post:</p>
<p>After several happy months of *not* working with <a href="http://www.developerdotstar.com/community/taxonomy/term/58">SSIS</a>, I returned to the tool today to help me with a medium-complexity data migration. It hasn't even been one day, and already I'm facing a near-show-stopping limitation that's going to force me to either abandon SSIS or implement some kind of ugly hack. I'm starting remember why I was so happy to put SSIS in my rear view mirror after spending several months fighting with it on a previous project.</p>
<p>The problem I have today is transferring a table from a legacy database where I want to keep the original numeric PK values when I insert into the new destination table, which uses an IDENTITY column for the PK. The only way to do this is to use the SQL Server Destination, which only works in a bulk insert fashion (which is just so stupid--why can't we have a SQL Server-aware destination that is not limited to bulk insert?); bulk insert is no good to me because I'm not inserting into a local database connected via Windows authentication (another truly stupid limitation). The OLE DB destination sees an Identity column as "read only."</p>
<p>I found a blog post elsewhere lamenting this sorry state of affairs, with the suggested workaround of inserting first into a holding table and then calling a stored procedure that moves the rows from the holding table to the real table. This might be the way I end up going--IF I stay with SSIS for this project. I might have to sleep on that. I hate to walk away from SSIS, though, because I've already invested a day getting this far into my project, and if I go to a custom-coded solution I'm going to lose all of the convenient bootstrapping features of SSIS.</p>
<p>Aaarrgghhhh! I hope by now people at Microsoft have realized how poorly SSIS has been received (from my reading of the blogs and forums, anyway). It's not that it doesn't do some things pretty well, but the flaws it does have (don't get me started) are *really* annoying. Maybe my problem is that I just keep trying to use SSIS for things just outside of it's envisioned sweet spot... I hope someone at Microsoft has a master plan to stop SSIS from sucking. We need a tool like this that doesn't suck and that doesn't cost huge amounts of money in licensing fees.</p>
<p>I feel better now. I guess I better get to hacking...then I can take a shower.</p>
<p>Dan</p>
<p>UPDATE:<br />
In case you were wondering whether you could use a pair of Execute SQL tasks to call SET IDENTITY_INSERT before and after the data flow task, it does not appear so. I tried this and received the error "User does not have permission to write to this column" on the first attempted insert.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Fragment, of a data processing screenplay</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/726" />
    <id>http://www.developerdotstar.com/community/node/726</id>
    <published>2007-04-03T20:47:16-07:00</published>
    <updated>2007-04-04T05:58:10-07:00</updated>
    <author>
      <name>Edward G Nilges</name>
    </author>
    <category term="Software Development" />
    <summary type="html"><![CDATA[<p>[This scene, and perhaps the entire movie, takes place in complete blackness: the audience sees nothing. Some audience members walk out in puzzled disgust. The remaining members watch (nothing), listen, and are entranced, because The Soul selects her own Society.]</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>[This scene, and perhaps the entire movie, takes place in complete blackness: the audience sees nothing. Some audience members walk out in puzzled disgust. The remaining members watch (nothing), listen, and are entranced, because The Soul selects her own Society.]</p>
<p>[There is a soundtrack. It is a pickup string quartet, whoever you can get from the music school perhaps, if they are any good, playing the second, and final movement of Beethoven's Quartet # 12 op. 127. This movement is marked, Adagio, mon non troppo, e molto cantabile: slowly, but not too much, and with a singing motion.]</p>
<p>He: Sure, my boss is demanding, and,<br />
We cannot get a reasonable price for the house,<br />
Real estate is in free fall, going down as fast as it went up<br />
And for this reason we cannot move near your Mom.<br />
Every appraiser that comes in seems so very dismayed<br />
At the mere marks of a house that was lived in<br />
The signs of long silent laughter of kids now mulish minatory teens<br />
Make those creepy sons of bitches, those appraisers, roll their eyes:<br />
But I shall take their measure<br />
For diamonds are made under pressure.</p>
<p>She: Give me a break.<br />
You are no diamond, although I love you.<br />
Our difficulties aren't making us "better".<br />
Instead, we no longer do it, and the kids despise us. You come home exhausted every night, and you talk to yourself in the kitchen<br />
When you think I cannot hear,<br />
And when you asked Howard for a promotion<br />
He just laughed at you.</p>
<p>He: What do you suppose I can expect?<br />
Nobody is going to hire a fifty year old.<br />
We're trapped,<br />
But like we read in Arthur Miller's play,<br />
Back in Pete Dunderdale's English class at San Jose State,<br />
"A salesman's gotta dream".<br />
I work hard<br />
So hard<br />
Simply to show them that I'm not defeated.<br />
Dammit, Tony's spreadsheet was a mess, and I cleaned it up<br />
Took me until ten.</p>
<p>She: You're not defeated!<br />
Yet.<br />
But sooner or later, that fuck head Mark<br />
Is going to let himself get bought out,<br />
And retire to Cannes, watching the jungle trees while sipping Champagne,<br />
And throw you out on the street.<br />
I think you're kidding yourself. This will kill you.</p>
<p>He: What the hell do you want to do?<br />
We've already ran away to Thailand...thirty years ago. That was fun...me in a Bangkok prison<br />
You going to the Consulate every day to spring me.</p>
<p>She: And I did spring you, remember?<br />
These tits worked wonders on those Foreign Service lifers<br />
These legs worked rough magic on those Ratakasonin gofers<br />
Hanging like fragrant durians above my shirt<br />
Stemming like roses in the general dirt<br />
Tied above my stomach...blew their minds...</p>
<p>He: I think I still love you.</p>
<p>She: And I, you.<br />
But don't bullshit me anymore with sayings<br />
Don't mock yourself with old saws<br />
Don't torture yourself with things on walls<br />
Like "diamonds are made under pressure".<br />
That's soooo Eighties: a dusty VCR tape or music cassette<br />
That will seize up in your mind and make you mad.</p>
<p>Sybilline, and with junglee wisdom upon me now<br />
Sorta like when I dropped acid the first time<br />
I say to you now,<br />
With upraised admonishing gentle hand<br />
Poised, but not to strike, no not ever<br />
A hand you cannot see but in which you believe,<br />
And you know I wouldn't have to be here to say this at all<br />
I could be half a world away<br />
I could be in Chiang Mai<br />
We could be divorced, like Edward and Doris remember them they were crazy about each other<br />
They never stopped loving each other neither nor,<br />
He lives on an island and she's in Vermont with goats</p>
<p>Life is hard,<br />
We love each other hard,<br />
Then one of us dies and the other is alone.<br />
Diamonds aren't a girl's best friend.<br />
You are.</p>
<p>[Fade to black. Oops. We can't do that, can we? Instead, the movement continues to its finish because music reaches the rag and bone shop of the heart.]</p>
    ]]></content>
  </entry>
  <entry>
    <title>When it isn&#039;t nice to be nice</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/719" />
    <id>http://www.developerdotstar.com/community/node/719</id>
    <published>2007-03-24T07:33:20-07:00</published>
    <updated>2007-03-25T14:47:34-07:00</updated>
    <author>
      <name>chrishmorris</name>
    </author>
    <category term="Software Development" />
    <summary type="html"><![CDATA[<p>How do you help someone face up to criticism?</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>New readers start here: <i><br />
One of the team, call him Bert, has been collaborating with an external supplier to produce an important component of our product. At the end of last year one of the project board, Len, got someone to a review of this component. The report was critical, only partly accurate, and discourteously worded. Len circulated the report to the board. When I asked permission to send it to Bert, he said no. The board decided to hold a fuller review, and then the report began to circulate within the project. </p>
<p>Bert was outraged, and the developers took his side and sent a protest to the board, objecting to them getting involved in technical decisions. Len is Bert's supervisor. I can only guess why he wants to wash his department's dirty washing in public. Bert has been badly treated, but the bottom line here is that any of us can learn when our work is reviewed. I told the board that one possible outcome is that Bert takes the lessons on board, and leads the process of improving this component.</i></p>
<p>Bert has sent a copy of the internal report to the external supplier. They sent a "reply" which actually contained enough admissions to make it clear that a review is needed. Bert sent a reply to the board which was at a level of technical detail that could not interest them. </p>
<p>I gave him an assignment to work on site with a customer that gives him a chance to shine, and takes him away from this controversy. After he went there, the customer sent an email to a wide distribution list, saying that the project was being mismanaged. It said, in defiance of the facts, that there were some other serious problems, and the review of this component should be deferred while they were considered. </p>
<p>He is the only one in his workplace working for our project. For each person in this situation, I have tried to find a local mentor, someone they can discuss things with, especially at moments when their trust for me is on a low. I was pleased to find someone in his office who he likes, and whose advice will be good. He never discussed over this challenge with him. That's something I better think about.</p>
<p>Ironically, Bert says that he's not interested in politics. I think this is sincere, but I'm sure it's not accurate.  For the last few years, weak management by Len has rewarded this sort of behaviour from him, but I'm not so green as I'm cabbage looking, as my Grandma used to say. </p>
<p>That which does not kill us makes us stronger. He will face up to the bad news, and grow from it. Or not. At this point, I can't help him by being nice.</p>
<p><i>(Editor's note: my deepest apologies to the author for missing this post in the moderation queue for more than a week! --Dan)</i></p>
    ]]></content>
  </entry>
  <entry>
    <title>Trouble with architecture</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/725" />
    <id>http://www.developerdotstar.com/community/node/725</id>
    <published>2007-03-21T14:14:07-07:00</published>
    <updated>2007-03-25T14:46:50-07:00</updated>
    <author>
      <name>chrishmorris</name>
    </author>
    <category term="Software Development" />
    <summary type="html"><![CDATA[<p>I've had a couple of bad experiences in discussions about the architecture of the product. Does this ring a bell with anyone? Or have I just mishandled the question?</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Our product is a java web application, with a generated data model, Hibernate for persistence, some logic in static methods, some beans, and servlets and JSPs. The class design is sometimes poor, with no understanding of the concept of a class invariant. Some methods throw a "you haven't called the initialisation method first" exception.</p>
<p>A year ago, one developer was saying loudly that we must use MVC, because this is industry best practice, and coded a part of the application using Struts. This code was convoluted, with among other things dreadful exception handling.</p>
<p>In response, the project board said we must take a discussion on architecture, and so we solemnly sat down and opted for Presentation Model and JSF with MyFaces. Nine months later, it seems that MyFaces is still not really mature, and some of those who have read Martin Fowler's article on Presentation Model say they don't understand it.</p>
<p>The oddest thing is a recent discussion with one of the more experienced developers. Some updates need to call logic, but most don't. For them, we have a servlet that updates the DB, then refreshes the referring page, so the view reflects the update. To do this, each getXxxx() in the bean must be paired with a getXxxxLocation(), which returns a string that represents the table, primary key, and column.</p>
<p>He was opposed to using this, on the grounds that it is bad architecture. Instead he wants to write a doPost method for every editable view page, and a Writer class for every bean the view uses.</p>
<p>It seems to me that discussion on architecture has done nothing to improve the quality of the product. By contrast, some developers now write test cases. That has done much more for us. I'd much rather fix poor code that is under test, than elegant code that is not.<br />
At a recent team meeting, there was agreement to put no more logic in doGet/doPost methods, nor in JSPs.</p>
<p>I should add that we are a scattered project, in five cities, and we are in academia, so concensus is expected. I'm project manager, but the role of chief architect was not allocated.</p>
<p>How can discussions on architecture benefit a project?</p>
    ]]></content>
  </entry>
  <entry>
    <title>John Backus RIP</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/724" />
    <id>http://www.developerdotstar.com/community/node/724</id>
    <published>2007-03-20T23:23:10-07:00</published>
    <updated>2007-03-21T06:08:54-07:00</updated>
    <author>
      <name>Edward G Nilges</name>
    </author>
    <category term="Software Development" />
    <category term="Computing History" />
    <summary type="html"><![CDATA[<p>May you Go To a better place if such a place is</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>The inventor and leader of the first implementation team of the Fortran language <a href="http://radar.oreilly.com/archives/2007/03/john_backus_die.html">has passed away</a>. </p>
<p>I will never forget his thrilling account of how he and his team developed the first Fortran compiler for the IBM 701 in 1954, against the objections of assembler programmers that a machine could never generate efficient code.</p>
<p>As it happened, to map variables onto the small number of registers, Backus and his team discovered that a statistical technique called Monte Carlo worked well, and in using this technique, anticipated compiler optimization theory by at least 20 years.</p>
<p>Fortran was my first high-level language, and to use it, I had to debug the IBM 1401 8K runnable compiler on 2000+ cards. This compiler, unlike Backus', used the Purdue University approach which was to generate interpretive code.</p>
<p>We shall all miss John Backus, and if there is a better land up above, we all I am certain hope he gets to GO TO that land FOR I = NOW,ALLTIME.</p>
<p>Gee, I hope the above compiles. I haven't used Fortran since the 1980s. It certainly is lame.</p>
<p>Thanks for all the hard work, John Backus.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Are You Real?</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/723" />
    <id>http://www.developerdotstar.com/community/node/723</id>
    <published>2007-03-20T11:10:00-07:00</published>
    <updated>2007-03-20T11:16:25-07:00</updated>
    <author>
      <name>Daniel Read</name>
    </author>
    <category term="Career and Profession" />
    <summary type="html"><![CDATA[<p>All this puts me squarely in the programming mainstream, but there's no getting around the fact that people persist in seeing my world as less worthy of respect. I've learned to live with it, even embrace it, though early on in my programming career I was somewhat insecure about it.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I can't agree more with the sentiments expressed by Bob Grommes in his recent post "<a href="http://bobondevelopment.com/2007/03/19/what-is-a-real-developer/">What is a 'Real Developer'?</a>". This is one of those posts where I'd like to just quote the whole thing, but I especially like this bit:</p>
<blockquote><p>
To my way of thinking, a "real developer" is someone who consistently produces quality software systems that delight customers. "Real developers" do this in spite of whatever handicaps happen to exist in their world. They know that no technology, platform, API or software ecosystem is perfect, but they know how to leverage the strengths of what they are given to work with to produce excellent results. And if they don't know, they can admit it to themselves, and learn quickly.
</p></blockquote>
<p>I also like this from Bob's <a href="http://bobondevelopment.com/about-2/">bio</a>:</p>
<blockquote><p>
I’ve been an independent software designer / developer for 24 years. In this business, that makes me a Really Old Fart. In the past I’ve done everything from Z-80 assembler to Visual FoxPro (in the early 90's I wrote two books on that product, and edited <i>FoxTalk</i> for a couple of years). These days I mostly concentrate on the .NET platform, architecting and building line-of-business applications, usually involving large databases.
</p></blockquote>
<p>Leave it to an old <a href="http://en.wikipedia.org/wiki/XBase">Xbase</a> guy to know what it's like to work in what some programmers who consider themselves to be more "elite" like to think of as a technology ghetto! I can relate.</p>
<p>After a childhood spent two versions of the Tandy TRS-80 Color Computer, I started out hacking DOS and Clipper in my first IT job; after that I spent several years in the worlds of VB 4-6 and ASP (with a good measure of Oracle and Java thrown in), and since then have been using .NET. To make me even more unfashionable, I am the co-author of two editions of a <a href="http://www.amazon.com/vbscript_reference/dp/0764559931/ref=nosim?tag=developerdots-20">VBScript book</a> (with a third edition in the works); few would consider VBScript a "cool" technology, but it is nonetheless a powerful and enduring (though not always elegant) one.</p>
<p>All this time, my primary job has been to design, build, and support business- and database-oriented solutions for clients who just want something to work. In the big picture, all this puts me squarely in the programming mainstream, but there's no getting around the fact that some people persist in seeing my world as less worthy of respect. I've learned to live with it, even embrace it, though early on in my programming career I was somewhat insecure about it.</p>
<p>(Just when I thought we had made some progress, an otherwise excellent article in a recent <i>Dr. Dobb's Journal</i> categorized Visual Basic as a "scripting language," despite the fact that there are at least four flavors of "Visual Basic," only one of which can be considered a scripting language. I've lost count of the number of times I've seen this kind of thing, and the <i>Dr. Dobb's</i> editors should know better. I don't mean to suggest that the author or publication has the kind of active condescension we've been discussing here, but this example does underline the impression that people who operate outside of the Microsoft development stack have that "Visual Basic" is some kind of toy.)</p>
<p>I'm adding "Bob on Development" to my RSS reader.</p>
<p>Dan</p>
    ]]></content>
  </entry>
  <entry>
    <title>Amazon spammed by authors of books...an example of how corruption is enabled</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/722" />
    <id>http://www.developerdotstar.com/community/node/722</id>
    <published>2007-03-19T23:41:44-07:00</published>
    <updated>2007-03-20T08:09:16-07:00</updated>
    <author>
      <name>Edward G Nilges</name>
    </author>
    <category term="Blog Post" />
    <summary type="html"><![CDATA[<p>An article in which I describe the corruption of Amazon authors INCLUDING MYSELF by the ease of spamming your own book with positive reviews, and in which I take steps to clean up my act in this regard!</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Another example of the CORRUPTION rife in the computer business is in the use of Amazon by authors. Turns out that as regards Build Your Own .Net Language and Compiler I was a dumbo, since I gave myself an honest rating of 4 (being a perfectionist with limited time and money to write a computer book) and I didn't "spam" my book site with positive reviews from multiple user ids...with one exception I will describe.</p>
<p>It turns out (from reports in the New Yorker and a journal of philosophy I read regularly) that distinguished authors and teachers of ethics have no compunction whatsoever about spamming their own book sites at Amazon with reviews from phony ids. And let's be honest: I was persuaded one evening by a coworker to do so in ONE case at the site for Build Your Own: the review by "Bill Knights of Puerto Rico" was fabricated by us to test his assertion that it is too easy for authors to create a false impression about their own book.</p>
<p>I have marked the spammed review as Inappropriate and added a signed comment explaining its origin. I should have done so a long time ago. The other reviews are all on the level, except perhaps for some negative reviews which MAY have been the result of an organized campaign.</p>
<p>Fuck it. I don't have to live on proceeds from my book. I'd starve to death. </p>
<p>Apress' very generous advance, which I needed in 2003 not only to upgrade my hardware but also to eat, has been repaid. I will never forget the kindnesses done me by Dan Appleman and the gang at Apress when I was writing the book! At one low point, when I'd totaled my laptop by spilling an (expensive I admit) Starbucks on it, Dan said "we're rooting for you Ed" and he was most generous with his time...even more so with his patience.</p>
<p>Nor do I have to cultivate a rep as a guru, since my kids are grown: I certainly understand the position of men and women who work like crazy to get a reputation as experts because they have a family. Even if some of their knowledge is knowledge of secrets, most of it is honest and earned by brutally hard work. </p>
<p>Nobody is perfect, especially not me. In fact, I regard the years I spent working for wiseguys in computer consulting as in part a waste of spirit in an expense of shame, insofar as I dealt in the secrets of "job control language" or Visual Basic 4.0 as opposed to real problem solving. I'm proud that I simulated a switch in Cobol, but not proud of the times I was sent to a client in a suit to make him feel that everything was under control.</p>
<p>The city in which I live now, Hong Kong, realized in 1970 that it would be a hell hole if men had to be corrupt and to lie to survive let alone get out of squatter camps on the midlevels. They set up the ICAC to control corruption and the RESULT is today that cabdrivers at times refuse tips, and are surprised when as an American I tip big. They are paid enough to survive for doing their jobs. </p>
<p>The most developed economy in the world, that of America, is I believe tipping into corruption powered by data systems which can be and are used by wiseguys to conceal the truth...using such artifices as deliberately confusing code and deliberately non-normal data bases, as well as allowing authors to spam their book sites. The social reason is that increasingly, Americans are given no safety net and no security as compared with other developed nations.</p>
<p>And, some of the wiseguys are in commanding roles, starting with the Vice President of the United States, a corporate wiseguy who destroys people who don't use data systems to bring him the answers he wants.</p>
<p>This creates situations in which Amazon authors who do depend on sales feel forced to spam their own sites in defense against organized campaigns to spam their sites with negative reviews. This creates situations in which Microsoft developers are forced by one set of marketeers to implement a complex "activation" process and then by another set of marketeers to totally disable the process with a secret open to anyone who knows that the Registry still exists in Vista.</p>
<p>Any way, that's my story. Let's hear some of YOUR stories. Is the computer business run in part by wiseguys? Is the whole country a moving paper fantasy?</p>
    ]]></content>
  </entry>
  <entry>
    <title>Article re Windows Vista &quot;activation&quot;</title>
    <link rel="alternate" type="text/html" href="http://www.developerdotstar.com/community/node/721" />
    <id>http://www.developerdotstar.com/community/node/721</id>
    <published>2007-03-19T22:56:14-07:00</published>
    <updated>2007-03-20T08:05:06-07:00</updated>
    <author>
      <name>Edward G Nilges</name>
    </author>
    <category term="Software Development" />
    <summary type="html"><![CDATA[<p>When we were at University, we thought only Truth mattered. Now we are in the real world, we know that only Secrets matter. - paraphrase of a quote by Edsger Dijkstra in the persona of the CEO of "Mathematics Inc.", in the Hosannah building.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>According to Paul Thurrott <a href="http://www.windowssecrets.com/comp/070315/#story1">something called Vista "activation" can be postponed indefinitely</a>. </p>
<p>When I examined this story, I first thought that "activation" was the enabling of the product's functionality above a baseline.</p>
<p>But as it turns out, for Vista, "activation" is far more complex. The system loses functionality and becomes a brain damaged Explorer, basically, if you don't "activate" within thirty days.</p>
<p>I've discovered that activation even for MS Office on XP is a nightmare in Hong Kong. It doesn't work. The activation progress screen crawls to a stop halfway and then after a while the activation software tells you activation has failed, and you should try again. You do so if you are an idiot, but the same thing happens again and again.</p>
<p>I'd downloaded Office as a trial intending to pay for it within sixty days, and I now am the proud owner of a NONWORKING office suite which until I get around to deinstalling same, simply prevents me from double-clicking Office documents and getting to Open Office, which is the only tool I have to work with my documents.</p>
<p>I now learn that:</p>
<p>(1) Product activation is even more of a nightmare for Vista.</p>
<p>(2) Big corporations have been given a bonehead workaround involving a simple Registry change which can be automated.</p>
<p>(3) The bonehead workaround will also enable pirates to mass release illegal Vistas, since there is no way to separate the self-interest of big corporations and big pirate bands here in China yo ho ho aaargh.</p>
<p>This is the absurd consequence of an epistemology in which secrets and knowledge were treated as equal in status. It is the epistemology of the community college, and I am on record as teaching at this level, in sympathy with its goals, but well aware of how anger and resentment create a "theory" of knowledge in which manufactured "secrets of da Windows masters" are treated as valuable commodities...in such a manner as to create an essentially corrupt economy.</p>
<p>"Consultants" ignorant of the basics of computer science can continue (as they did in the IBM mainframe era) making the big bucks by being brave and stupid enough to use Regedit to change the key, giving the corporate OS a month of viability at a time. Wiseguys will not automate the update, they will charge for coming in.</p>
<p>They will look good, they will be oh so "productive", unlike those of us Developer dot stars naive enough to actually discuss how to do our jobs better.</p>
<p>This is CORRUPTION.</p>
<p>You can take my charge of corruption as read. Computer geeks don't realize it, but we're surrounded with corruption powered by the new technology. My mates in software and in graphic design express puzzlement when I wonder how I shall pay for two tools I need, Photoshop and Visual Studio Professional, since within the graphic design community it appears easy to get free Photoshop and likewise within the Visual Studio community, Microsoft has fostered an (essentially corrupt) economy in which you can get software tools for saying nice things about Microsoft.</p>
<p>Essentially, the Bonehead Workaround is a kickback to big companies, who cannot, it seems, force their people to keep current with activating Vista.</p>
<p>In the 19th century, the railroads gave favorable rates to the biggest farmers and ranchers which was like to put small farmers and cattlemen out of business, and because Karl Marx's angry ghost was still about the shop, the business press was unable, as yet, to manufacture the sort of justifications of this sort of bullying you read in the Wall Street Journal.</p>
<p>Therefore, the little guys, unlike their great-grandsons, found their manhood and organized and fought for the candidacy of William Jennings Bryan who asked at the 1896 Democratic convention why the farmer, the rancher and the working man had to be crucified on a cross of gold by a combination of monopoly and the gold standard.</p>
<p>Microsoft is trying to maintain monopoly power over desk top operating systems and in this it's fine for me to sit and wait for nothing at all in Hong Kong while REAL pirates in Shenzen are given free of charge a way to vend Vista copies, so that big company system administrators can be comfortable.</p>
<p>Even people whose material interest is in maintaining a secrets epistemology, and vend workarounds around workarounds, where the workarounds are meant as commodities, find their consciences when the cynicism and absurdity is exposed.</p>
<p>Little guys who need to be able to help corporations and individuals use Vista need in the final analysis to know the difference between secrets and knowledge. They find themselves unindicted co-conspirators, passing along techniques that pirates will use to destroy Microsoft's ability to make money (about which I don't care) and the future of the people who work for Microsoft (about which I do care).</p>
<p>Clearly, software is too important to the survival of the human race (given our absolute dependency on the Internet to maintain our solidarity in the face of governments who absent the Internet would have started World War III some time ago) to be privately developed, and clearly, the Open Source and Open Content models are political.</p>
<p>Teach your kids the basics of real computer science. Show them how to program in machine language, and demystify the whole corrupt business. Show them that PEOPLE write software and don't need pseudo-magic secrets, lies and videotape!</p>
    ]]></content>
  </entry>
</feed>
