<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Digital Diner &#187; Web/Tech</title>
	<atom:link href="http://digitaldiner.org/category/webtech/feed/" rel="self" type="application/rss+xml" />
	<link>http://digitaldiner.org</link>
	<description>Gavin Clabaugh&#039;s irregular blog on irregular things.</description>
	<lastBuildDate>Tue, 05 Jan 2010 04:39:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Dumb Blobs</title>
		<link>http://digitaldiner.org/2009/11/15/dumb-blobs/</link>
		<comments>http://digitaldiner.org/2009/11/15/dumb-blobs/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 21:48:57 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web/Tech]]></category>
		<category><![CDATA[blobs]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://digitaldiner.org/?p=522</guid>
		<description><![CDATA[<p>Email — you may be addicted to it, you may hate it, abuse it, love it, or eschew it. Whatever your relationship, troubled or otherwise, email is and continues to be one of the world&#8217;s few, new, great things. When it comes to &#8220;killer-apps,&#8221; it is the undefeated heavy-weight champion of the world. Email [...]]]></description>
			<content:encoded><![CDATA[<p>Email — you may be addicted to it, you may hate it, abuse it, love it, or eschew it. Whatever your relationship, troubled or otherwise, email is and continues to be one of the world&#8217;s few, new, great things. When it comes to &#8220;killer-apps,&#8221; it is the undefeated heavy-weight champion of the world. Email is the backbone of social and commercial intercourse. Commerce flows through it, along with pain and joy, and work and play, and many of the hours of my day.</p>
<p>While you may <em>order</em> that inflatable, remote-controlled zeppelin online, the acknowledgement nevertheless comes via email, as does the receipt, and the shipping updates.</p>
<p>Email is the truck that moves freight – light and heavy – on the information-super-goat-trail. Plain, simple, elegant, boring, your-grandma-has-an-AOL-address-type email remains the venerable heavy lifter of the online world.</p>
<p>Strangely, it has also become the <em>de facto</em> identity management tool. It is universally used to authenticate just who we are, on everything from my bank to the myriad of social and anti-social real-time networking sites. When we forget just who we are, it&#8217;s the delivery method of choice to jog the memory or to trigger a reset — ironically, given how totally insecure it really is, likened to a postcard.]</p>
<p>But, the core problem with email is not security. The real problem with email is it&#8217;s really stupid. It&#8217;s dumb as a bucket of overripe bananas. I mean it. It&#8217;s really god-awful stupid. It can&#8217;t help it. It was designed that way.</p>
<p><span id="more-522"></span>When push comes to pull, with email, you really don&#8217;t get much, and that illustrates its frailty and its amazing functionality.</p>
<p>With email, you see, all you really get is an &#8220;envelope&#8221; (consisting of minor variations on &#8220;From,&#8221; &#8220;To&#8221; a &#8220;Subject&#8221; along with tiny little bits of routing data that nobody pays attention to) and a giant blob of undifferentiated stuff called a &#8220;message body.&#8221; What&#8217;s in that message body is anything, unstructured, and undifferentiated – a blob.</p>
<p>What&#8217;s in there could be secret silly croonings to your one-true love, it could be the confirmation of your getaway flight to a land without extradition, or it could be my secret recipe for the world&#8217;s best gazpacho (and hence your necessary and immediate flight from justice).</p>
<p>With email, the medium hides the message. (If I keep this up, I&#8217;m likely to be haunted by McLuhan.)</p>
<p>Since its launch in 1971, we have improved it. We&#8217;ve tweaked it and twiddled it. We&#8217;ve made it better, making it easy, for example, to stuff it with bits of binary. We&#8217;ve said goodbye and good riddance to Uuencode and its ilk. Now digital civilians needn&#8217;t know a MIME type from a mime troupe. We&#8217;ve prettied it up, too — love it or hate it — with HTML, providing that ever-so-useful ability to deliver ugly fonts, in all the sizes, shapes, and colours your little heart could desire, rendering it pretty much unreadable</p>
<p>[For the record: I think I sent my first in the fall of 1979, using a service called <a href="http://wikiworld.com/wiki/index.php/EIES_History" target="_blank">EIES</a>. I've got a copy of it around here someplace. It was a message to the fellow at the desk next to me, suggesting we get lunch at the Burrito King (tacos al carbon); truly important stuff!]</p>
<p>And, so, email moves the world, moving commerce and confirmations, in the wink of an eye. We&#8217;ve filled the tubes with everything from solicitations for various dysfunctional systems (whether erectile or congressional), to orders for <a href="http://greentealovers.com/" target="_blank">green tea</a>, multiple drafts, rewrites and painful iterations of your latest annual report, and those important PDF copies of your sinister plans for global domination through puppy adoption. They&#8217;re all sent on their respective ways via email.</p>
<p>Email is the go-to tool for everything from &#8220;donuts in the kitchen,&#8221; to presidential elections. But, inside, it&#8217;s still one dumb blob.<sup><br />
</sup></p>
<p>Blob, meet the software equivalent of <a href="http://www.imdb.com/title/tt0051418/" target="_blank">Steve McQueen</a>: Email2DB– one magnificent tool.</p>
<div id="attachment_529" class="wp-caption alignright" style="width: 277px"><img class="size-full wp-image-529" src="http://digitaldiner.org/files/2009/11/The-Blob1.png" alt="Steve McQueen (saving diners) in the Blob!" width="267" height="291" /><p class="wp-caption-text">Steve McQueen (saving diners) in the Blob!</p></div>
<div class="mceTemp">Made by Parker Software, <a href="http://www.email2db.com/" target="_blank">Email2DB</a> can turn that dumb blob into something sort of smart, stopping it before it &#8220;<em>creeps, and leaps, and glides and slides across the floor</em>.&#8221; It&#8217;s described as a &#8220;tool for integrating incoming emails with business processes.&#8221; It&#8217;s grand.</div>
<p>Email2DB has become a necessary cog in my machinery. It lets me take those dumb blobs and ferret out the necessary bits and pieces of the message, shaping them, cleaning them up, adding value in terms of structure, and then, gently slipping that data into a giant database.</p>
<p>In the best of all possible worlds, I wouldn&#8217;t have to do this. In that world, I wouldn&#8217;t be tasked with figuring out what to do with thousands email messages sent willy-nilly to just about any email address, person, or inanimate object you might care to imagine. But I do.</p>
<p>I am charged with capturing and organizing thousands of inquiries — inquiries that arrive in every way imaginable, some via a web form, others via email, and still others via such unspeakable things as (shudder) fax. I even think a few get slipped under the door at night by pixies. They&#8217;re all important, and regardless of origination, I want them all to end up in the same place — a database. Despite their disparate origins, I want them all channeled into the waiting, eager programmatic minds for review. I am all about the smooth flow of information. My motto: Never, ever, type it twice.</p>
<p>Email2DB keeps me true to my motto. In a nutshell, Email2DB &#8220;deconstructs&#8221; the email. It breaks it into its constituent parts, slicing and dicing the blob, parsing not only the header, but the contents, and gently slipping those deconstructed pieces into the database of your choice – in my case, the same-same database used to capture the content entered via a fancy online web form. <a href="http://en.wikipedia.org/wiki/Jacques_Derrida" target="_blank">Derrida</a> would be proud.</p>
<p>Well known parts of the email —like the TO, FROM, SUBJECT, DATE — as well as some of the arcane bits and pieces of the underlying protocol (Originating IP, MessageID, ReplyTo) are a breeze to deconstruct.</p>
<p>They&#8217;re &#8220;pre-programmed&#8221; into the software, and with a single mouse click, you can pull those wee bits apart and slide them into a database. It talks to all-comers: Access, SQL Server, Oracle, MySQL, Access, ODBC, yada yada yada. It&#8217;ll even write it out as a CSV if you&#8217;re living in 1996.</p>
<p style="text-align: center"> </p>
<p><span style="color:#4f81bd;font-size:9pt"><strong></strong></span>Once you&#8217;ve extracted the pieces you can use them for nefarious purposes: perhaps to construct a new message, sending back, for example, custom acknowledgments, or forwarding on reformatted confirmations, or simply adding them into a database for further processing. Email2DB takes email and turns the contents into fields and records in your favorite database.</p>
<div id="attachment_524" class="wp-caption aligncenter" style="width: 967px"><img class="size-full wp-image-524" src="http://digitaldiner.org/files/2009/11/Email2DB-diagram.jpg" alt="The Taming of the Blob -- Smart Parsing for Dumb Blobs" width="957" height="560" /><p class="wp-caption-text">The Taming of the Blob -- Smart Parsing for Dumb Blobs</p></div>
<p style="text-align: left"> </p>
<p> </p>
<p>Fancy stuff is easy. Within an hour I was rolling my own routines to parse more bits and pieces from the message, isolating the &#8220;First name&#8221; and &#8220;Last name&#8221; from the so-called &#8220;Friendly Name&#8221; portion of the &#8220;From&#8221; field. &#8220;Don&#8217;t stop there,&#8221; I said to myself.</p>
<p>So, I tackled the blob itself. With a little head-scratching, a smattering of OOP concepts under my belt (and a passing familiarity with VB), I was able to deconstruct bits of the body of the message itself, scanning through the text for familiar references that might match my mighty database elements.</p>
<p>With only a little fancy footwork, I was even able to detach any attachments, saving them with a unique &#8220;key&#8221; to a SharePoint document library, along with a PDF copy of the original message (also tagged with the same unique key).</p>
<p>The beastie will read and process messages from POP3, IMAP, and Exchange servers. It will also read and process messages directly from Outlook folders, including Exchange &#8220;Public Folders.&#8221; It has a fairly full-featured scripting language, and variables, once created are reusable.</p>
<p>While this is all well and good for me and mine, the beauty of this product is its universal application. There&#8217;s not a week goes by that someone on doesn&#8217;t ask me for the easy way to get information from a web site to a database. While there are a myriad of ways — some are easy and some are not. None are as easy as email.</p>
<p>Moreover, if it&#8217;s email generated by a web form, you control the structure. If the structure is predictable, Email2DB can easily grab that email, work with your structure, find the right bits and pieces, deconstruct them into the raw data you need, and then, easily slip that deconstructed data into an eagerly awaiting database. All is right with the world.</p>
<p>The requirements are minimal. The Email2DB software costs $300, $500 or $1,000, depending on features. I went with the $500 copy, as I needed the scripting engine and attachment processing. You need an email account (any will do, including those reached via SSL). Finally, I run it on a virtualized XP machine, rigged to autostart, autologin, and autorun, should anything interrupt its dedicated rounds.</p>
<p>Overall, the customization took about three days. I created scripts for:</p>
<ul>
<li>pattern matching to extract first and last names</li>
<li>file-renaming to save copies of the original message and attachments to a SharePoint library</li>
<li>Unique (per message) tags so that saved items could be retrieved as a group</li>
<li>URL constructions so the database could include links to the original message and attachments</li>
<li>Other custom flags for the source, date and time received, and type of inquiry</li>
</ul>
<p>Whether you&#8217;re looking to manage the email meteor shower, stave off an invasion of unstoppable email blobs, or just want to turn a few dumb ones into smartly structured data, Email2DB can do it. It&#8217;s not often you can find software that will not only stop an alien invasion, but will also send you an acknowledgement when it&#8217;s done. Steve McQueen not included.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2009/11/15/dumb-blobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Message in the Cryptex</title>
		<link>http://digitaldiner.org/2009/10/04/the-message-in-the-cryptex/</link>
		<comments>http://digitaldiner.org/2009/10/04/the-message-in-the-cryptex/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 18:00:19 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[Advocacy]]></category>
		<category><![CDATA[Civil Society]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Government & Politics]]></category>
		<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://digitaldiner.org/?p=352</guid>
		<description><![CDATA[<p>Different venues, different audiences, but the same query: Six times in as many months, I stood in front of a group asking (perhaps demanding) that I answer the same question. Audiences can be scary — and the question pointed to the heart of the matter.</p> <p>In each case, I had been invited —and cheerfully [...]]]></description>
			<content:encoded><![CDATA[<p>Different venues, different audiences, but the same query: Six times in as many months, I stood in front of a group asking (perhaps demanding) that I answer the same question. Audiences can be scary — and the question pointed to the heart of the matter.</p>
<p>In each case, I had been invited —and cheerfully agreed — to talk about web 2.0 and online networks, these new fangled &#8220;social&#8221; technologies. But, the audiences wanted brass tacks — my academic musings and observations from on high were not enough. The crowd was hungry. They wanted the secret answer.</p>
<p>Folks listened patiently — but only up to a point. I, no doubt, had waxed idiotically on about social technologies being &#8220;messy, fast, and casual&#8221; — generally ill suited to any sort of organizational context. They are designed to be &#8220;personal.&#8221; They don&#8217;t adapt well to the organizational context, and I don&#8217;t think they ever will.</p>
<p>To that, well… I&#8217;ve always felt Marion Barry, the former Washington DC mayor, put it eloquently (in three little words): &#8220;Get over it.&#8221; The fact of the matter is, with social media, an organization no longer can speak with a single voice, or deliver a single message. We need to get over it. It&#8217;s all about one-to-one personal communications, only it&#8217;s one-to-one with thousands or hundreds of thousands, of people. Sounding silly, I&#8217;ve said that since the &#8216;net began and it&#8217;s truer today than ever.</p>
<p>But, such answers have not been enough for hungry audiences, waving netbooks, iPhones, torches and pitchforks.</p>
<p>Folks <em>know </em>there is a secret; what&#8217;s worse, they <em>want</em> the secret. They&#8217;re unabashed. After all, Obama&#8217;s campaign had proven it, right? The virtual cat was out of the digital bag, and it was time for me to come clean. (Pitchforks and torches not withstanding —obviously, I&#8217;ve a bit of a love-hate relationship with these presentation things.)</p>
<p>The question on the lips and placards of the angry villagers, the Question with a capital &#8220;Q&#8221;, is simple: &#8220;How can we raise money with these new social networking things?&#8221;</p>
<p>I suppose I could blame Election &#8217;08 — specifically Barack Obama — for setting the stage. His campaign&#8217;s success was evident. They <em>had </em>raised money, apparently with online social networks. They had also rewritten the rules of politics, and perhaps changed the world forever.</p>
<p>Unfortunately, the answer is not so simple. Moreover, deep down inside, that question is tinged with an underlying belief, a belief that more &#8220;friends,&#8221; more &#8220;followers&#8221; equals $uccess. (That&#8217;s bull, by the way, pure and simple.)</p>
<p>Nevertheless, nonprofits are nonplussed; they want to raise money with Facebook, or Twitter, or whatever. In the end, it&#8217;s the ends. It&#8217;s dollars, not donuts, not even the euphemistic &#8220;constituent building.&#8221; It&#8217;s about money, filthy lucre— and deep down inside they <em>know</em> that they&#8217;re missing the boat. (So, it&#8217;s damn the Tweets, and full speed ahead.)</p>
<p>This belief persists, despite the facts. The facts are clear: social networks are much better &#8220;friend raisers&#8221; than they&#8217;ll ever be &#8220;fund raisers.&#8221; But, believe is difficult to fight, logically or otherwise. Social networks are<em> the</em> big thing, like direct mail, or telephones, or fax, or email before them. (And, like those that have come before, we are rapidly filling up web 2.0 with random streams of amazing stupidity – but that&#8217;s another discussion.)</p>
<p>The &#8220;Social Networks = $uccess&#8221; belief is ubiquitous. Recently, I reviewed more than 90 grant applications, proposals focused on the intersection of jazz and technology, a far cry from my typical business. However, the same threads were there — a remarkable and overwhelming percentage cited the same holy trinity: Facebook, YouTube, and Twitter. I read it so often I started to refer to it by acronym (FYT — pronounced Pffufft).</p>
<p>&#8216;Till now, I&#8217;ve had no ready answer for the Question. Nothing I say seems to satisfy — folks want the secret code.</p>
<p>Lean in a little closer. Today I&#8217;m going to tell you that answer.</p>
<p>Here it is: the secret decoder ring, the magic ingredient, the answer to the Question of how to raise money with online social networks. Ready?</p>
<p><strong><span id="more-352"></span>Step One…</strong> First, you get yourself an Obama.</p>
<p>Wait… Don&#8217;t hit that big &#8220;X&#8221; …</p>
<p>I say this with all seriousness. First you get yourself an Obama. That&#8217;s the secret of the Obama campaign. It was Obama — not Facebook, not Twitter, and not the bevy of would-be Dick &#8220;Bite-me&#8221; Morrises or the myriad of MoveOn&#8217;s anxious to fill up your inbox, dance across your Facebook page, or displace Ashton Kutcher in the Twitterstream of useless things in 140 characters.</p>
<p>The real secret is this: It&#8217;s never the tools, it&#8217;s the content. It&#8217;s never the medium, it&#8217;s the message.</p>
<p>The tools <em>can</em> make it easier to deliver the &#8220;ask,&#8221; and they can surely smooth the logistics of it all, but it&#8217;s still all about the message; it&#8217;s the content, stupid. More followers does not equal $uccess, unless you&#8217;re Ashton Kutcher. And that only works because Ashton Kutcher is selling Ashton Kutchers. (Or maybe he&#8217;s selling Demi Moores? I&#8217;m never sure.)</p>
<p>There you have it, the message in the cryptex, the answer to the Question. Tools only streamline the process. Today&#8217;s fancy network tools, social or otherwise, can move mountains, remove the barriers, streamline the donation, facilitate the transaction, and instantaneously validate the act of giving, relaying thanks, community, appreciation, and a receipt.</p>
<p>But, fundraising is about content; it&#8217;s about the Obama-factor. Facebook? YouTube? Twitter? Pffufft&#8230; Tools don&#8217;t create community. Get over it.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2009/10/04/the-message-in-the-cryptex/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Get Thee Behind Me, Disco Duck!</title>
		<link>http://digitaldiner.org/2009/05/07/get-thee-behind-me-disco-duck/</link>
		<comments>http://digitaldiner.org/2009/05/07/get-thee-behind-me-disco-duck/#comments</comments>
		<pubDate>Thu, 07 May 2009 23:46:09 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[Chumpness]]></category>
		<category><![CDATA[Civil Society]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://digitaldiner.org/2009/05/07/get-thee-behind-me-disco-duck/</guid>
		<description><![CDATA[<p>I hate splash pages. I hate being held hostage. The topic came up recently on the “Information Systems Forum” listserv. It’s a listserv of diverse participants, gracefully managed by the indefatigable Deborah Elizabeth Finn.</p> <p>The question was: “Are splash pages effective.” I thought about it for a few days and I posted a response. [...]]]></description>
			<content:encoded><![CDATA[<p>I hate splash pages. I hate being held hostage. The topic came up recently on the “<a href="http://tech.groups.yahoo.com/group/Information_Systems_Forum" target="_blank">Information Systems Forum</a>” listserv. It’s a listserv of diverse participants, gracefully managed by the indefatigable <a href="http://deborahelizabethfinn.com/" target="_blank">Deborah Elizabeth Finn</a>.</p>
<p>The question was: “Are splash pages effective.” I thought about it for a few days and I posted a response. Michael Gilbert (who I think of as my own personal Perry White) suggested I repost my response here, on the Diner. (I think he’s worried that I haven’t posted much stuff in the last few months. Not to worry Michael, it was just a dry spell caused by excessive time travel.)</p>
<p>On this particular list, the recent conversations have drifted into the rights and wrongs of collecting (and using) personal information (like one’s birthday) for fundraising, and, more recently, the efficacy of “splash” pages — especially by nonprofits. While musing over the thread, I was reminded by an early example — a pre-internet example — of an attempt to hold an audience hostage.</p>
<p>You’ll find my original post below, (slightly edited and embellished to make me look more thoughtful):</p>
<p><span id="more-343"></span></p>
<p> </p>
<p>I’m equal opportunity: I hate pop-ups, pop-unders, pop-overs, fly-bys, and those cutesy floating windows too. Oh, and those “Do you want to take our survey” windows, I hate them too. Most of the time, if I can, I ignore them.</p>
<p>To be honest, I think, quite frankly, so does everyone else. Bottom line, if I can’t ignore such things — worse, if they try to hold me hostage — I’ll probably never return.</p>
<p>For the life of me, I can’t figure out how advertizing on web pages actually results in anything but ad sales to Google. In all truthfulness, I can’t even remember “seeing” the ads on most pages. My mind has learned to filter them out. Strangely, with hardcopy magazines, the adverts are half the fun of reading.</p>
<p>Quite on the side: It reminds me that there is a not-so-subtle schizophrenia to today’s internets — a crazy wackiness that seems to pit us against ourselves. It’s everywhere. It’s the ongoing drive to, on one hand, figure out how all this stuff might pay for itself, juxtaposed, on the other hand, with the almost universal hatred of all the ways people try to make this stuff pay for itself.</p>
<p>Sometimes the madness manifests itself in a particular ironic fashion. My favorite example is the use of banner ads to advertize software designed to stop banner ads. Clearly, there is a particular self-loathing paradox to that concept.</p>
<p>Even more clearly, there is some sort of dynamic tension between free and not free. Moreover, it’s a tension that manifests itself in the seemingly endless conversations about “monetization” that sneaks into the otherwise idealism of the bevy of entrepreneurs-two-dot-oh. I don’t have an answer, but I can tell you that the answer is definitely <em>not</em> irritating your members, customers, constituents, or patrons. There lies madness.</p>
<p>Here’s my example: It was the late 70’s. It was the pledge drive on KPFT &#8211; the Houston (Texas) Pacifica station I listened to (religiously) in graduate school.  It was a rather wild and unruly radio station.  I loved it.  Until.  That day.  That fateful day.</p>
<p>One day, that day, someone got the wise idea of holding the listeners ransom &#8211; they decided to play &#8220;Disco Duck&#8221; nonstop until they hit their pledge goals.</p>
<p>Now, rest assured, I have tremendous tolerance, and as a grad student, I was known to listen to just about anything from Neal Diamond, to Mott the Hoople, on through Coltrane, and Monk, and Miles, and to the gravely grumbles of Tom Waits, and beyond, to Zappa (turned up so loud that the nails would pop out of drywall&#8230;) all politely tempered with Elvis Costello (Elvis is King)&#8230; and, well, I admit it, maybe a little Little Feat&#8230; It was Texas, after all. (No Manilow, and for gawd’s sake, no Debby Boone — one has to draw the line somewhere.)</p>
<p>but&#8230;  but&#8230; but&#8230; Disco Duck … nonstop <a href="http://www.youtube.com/watch?v=zc5d01_riBo" target="_blank">Disco Duck</a>! Oh, the humanity.</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d0e4b8d4-3869-440f-81da-8778761850f9" class="wlWriterEditableSmartContent" style="width: 307px;float: none;margin-left: auto;margin-right: auto;padding: 0px">
<div id="0704f33c-9ebb-4315-9870-afef5f17883c" style="margin: 0px;padding: 0px">
<div><a href="http://www.youtube.com/watch?v=zc5d01_riBo&amp;hl=en&amp;fs=1" target="_new"><img src="http://digitaldiner.org/files/2009/05/videoe7ff654bc3ed3.jpg" alt="" /></a></div>
</div>
</div>
<p>To me, splash screens &#8211; especially ones that force you to watch some piece of, ahem&#8230; content&#8230; Well, they&#8217;re a bit like Disco Duck, played nonstop.</p>
<p>My rule is never, ever, ever, put a barrier between your members, customers, disciples, acolytes, or whatever, and the silver plate. Being alienated or irritating does not make you friends, and, IMHO, it most definitely does not raise money. Raising money is about message, involvement, community, and — lord love a duck —follow-on action.  At best, people learn to ignore the silly and irritating tricks (maybe they unconsciously start humming &#8220;Disco Duck” too often), at worst they hate you and never come back again.</p>
<p>Years later, when working with a member cooperative, I was reminded of similar mistakes made by the early food-coop movement. Someone, somewhere, came up with the hair-brained idea that members of a food-coop should volunteer time working — shinning the crystals, pricing cheese curd, or just pressing the tofu. Whoever it was should be bonked on the head, repeatedly, with a loaf of organic spelt hippy-bread.</p>
<p>Luckily, that thinking has gone the way of disco. But, it’s still a classic (and painful) example of creating an unneeded barrier between you and a sale, a member, a donation, or whatever. Good fundraising is about breaking down the barriers, not putting up new, technological ones. Keep the duck, and the splash, in the tub (with <a href="http://www.youtube.com/watch?v=SkZsSydzQjM" target="_blank">the fat man and the blues</a>) where it belongs.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2009/05/07/get-thee-behind-me-disco-duck/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Trilateral Symmetry</title>
		<link>http://digitaldiner.org/2009/01/04/trilateral-symmetry/</link>
		<comments>http://digitaldiner.org/2009/01/04/trilateral-symmetry/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 20:16:46 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[Gizmos & Gadgets]]></category>
		<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.digitaldiner.org/?p=312</guid>
		<description><![CDATA[<p>I&#8217;ve been using a dual-monitor setup since before before. In fact, I can&#8217;t remember (and can&#8217;t imagine) not having two monitors in front of me. My office setup is currently two 20-inch 16:9 LCD flat panels. It&#8217;s amazing what you can artfully stuff on that sort of screen-space. I&#8217;m here to say that it [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using a dual-monitor setup since before before. In fact, I can&#8217;t remember (and can&#8217;t imagine) not having two monitors in front of me. My office setup is currently two 20-inch 16:9 LCD flat panels. It&#8217;s amazing what you can artfully stuff on that sort of screen-space. I&#8217;m here to say that it ain&#8217;t uppity opulence — it&#8217;s productivity enhancement, and damn handy too. For example, with two monitors:</p>
<ul>
<li>You can chop-and-paste from one monitor to the other, keeping a browser open on one monitor for… uhm&#8230; err… research and your Great American Novel front and center on the other.</li>
<li>You can set different resolutions on different monitors. This lets you quickly see through other eyes, a handy thing when designing web pages, especially if you have a penchant for extra-large (or extra small) fonts. Guilty, I am. I often forget that some people like their icons larger than a pinhead and text measured in multiple microns.</li>
<li>You can run multiple flavors of browser — IE, Firefox, and Safari, maybe Opera just for grins — simultaneously making sure that nothing looks right on any of them regardless of what you do.</li>
<li>Finally, for the A.D.D. amongst us, you can while away your day, in manifold multitasking, with more stuff in your face — calendar, email, task list, Facebook, ESPN and CNN, three or four or five or ten browser windows, slash-dot, iTunes, and a copy of the DMCA (just in case).</li>
</ul>
<p><span id="more-312"></span>Running with two is easy to do. In fact, most modern, add-on video cards have two connectors, usually a DVI and a VGA (15pin DSUB) connector. Many now come with two DVI connectors. All you need do is connect up two monitors and click the check box in Windows (maybe twiddle with your BIOS), and — voila — you&#8217;ve got screen-space. Today&#8217;s LCD panels, like most hardware, are downright cheap too.</p>
<p>For folks that have to look at two things at once — such as when cataloging scanned documents, or working with document management systems — I recommend it. It&#8217;s almost a joy to view an item on one screen, whilst keying metadata on another. If you work with web pages, or graphics, or have to manipulate multiple things in multiple windows, it&#8217;s an amazing time-saver. It&#8217;s well worth the investment.</p>
<p>Wide monitors are also great, but having two monitors is even better. Better yet is having two wide monitors. Moreover, the first time you snap a window from one monitor to another in front of the uninitiated, the sudden gasp and resultant, &#8220;How did you do that?&#8221; is well worth the investment. People will think you&#8217;re cool and sexy. No need to tell them that all it takes is the dexterity to twist the screw connectors on a VGA cable — admittedly, that can be challenging.</p>
<p>Sadly, my home setup did not invoke gasps. It was, shall we say, embarrassing. Like the classic cobbler kids, my feet were unshod, my setup shameful. That shame came rushing home just a few weeks ago when a friend laughed out loud upon seeing the CRT monitor squatting on my desk like a 1950&#8242;s television. &#8220;Is that your monitor?&#8221; he snickered derisively. &#8220;It&#8217;s huge!&#8221;</p>
<p>&#8220;Huge&#8221; it seems, is no longer a desired attribute — at least when applied to monitors. That was it — I could stands no more — it was time to upgrade to something smaller.</p>
<p>Given the season, I decided I&#8217;d aim for a <a href="http://en.wikipedia.org/wiki/Triptych" target="_blank"><em>triptych</em></a> — the holy grail of multiple monitors — the magic number three. Yep. Three monitors. It takes a wee bit more work than two, but offers a certain balance, a certain pleasing symmetry, if you will. I&#8217;m a great fan of symmetry. Besides, it looks really cool.</p>
<p>At home, my main monitor is a nice Dell 20-inch LCD panel. I got it cheap. It was staying. The other monitor — the behemoth, a huge 19-inch, 16 ton CRT — well, it had to go. So, I tucked it away, in my own personal white elephant graveyard (right next to the vintage Compaq Presario 526 and the Dell Optiplex G1 running OS2 Warp.)</p>
<p>To replace the CRT, I scavenged a two Dell 17-inch 4:3 monitors. They were homeless; abandoned. (It&#8217;s amazing how quickly wide-aspect monitors have become <em>de rigueur </em>and 4:3&#8242;s are now so much landfill.) The desktop space gained by removing the CRT was amazing — leaving more than enough space for the third LCD — with a little left over for a DVD-stack and miscellaneous other stuff.</p>
<p>Then I went to work on the box. To run the third monitor, I needed new hardware. I had run out of video connections. The box is a Dell Optiplex 745 — not fancy, but adequate. It&#8217;s stuffed with all the parts; packed with 4GB of RAM and about a half a terabyte of storage. Slot-wise, inside, the beast sports one PCI-e(xpress) x16 slot, one PCI-e x1 slot, and a couple of regular old PCI slots. I haven&#8217;t a clue what you do with PCI-e x1 — and it looked awful funny — so I concentrated on the other two types.</p>
<p>My current video card, an Nvidia GeForce 8500 GT made by BFG, is in the PCI-e x16 slot. It drives my 20-inch LCD via the DVI. Since that PCI-e slot was full, I figured I needed a regular PCI card. My plan was to keep the main monitor (center) on the GeForce 8500 and let the new card (whatever it might be) drive the outriggers (left and right). Hence, the new card needed to support at least two monitors.</p>
<p>Checking my own highly-organized inventory (AKA: my drawer full of stuff) I did find a couple of old video cards from long-gone manufacturers, but none worked. Totally irrelevant, I also found:</p>
<ul>
<li>Five old Cue Cats;</li>
<li>A half-dozen old mice;</li>
<li>About four thousand PC power cords;</li>
<li>An OEM copy of WordPerfect Office for DOS;</li>
<li>A Sharp &#8220;Wizard&#8221; PDA (circa April 1991), and;</li>
<li>An &#8220;Ely Culbertson&#8221; mechanical card shuffler with the crumpled instructions for an &#8220;Ultrasonic Rodent Repeller&#8221; stuffed inside.</li>
</ul>
<p>While briefly entertained by the cosmic juxtaposition of mice, Cue Cats, and &#8220;Rodent Repeller&#8221; instructions, it was immediately clear that none of this stuff was going to help in my quest. Consequently, as any geek would, I played briefly with the card shuffler, marveling at the mechanics, and then neatly stuffed it all back into the &#8220;parts&#8221; drawer, vowing to &#8220;clean it up later.&#8221;</p>
<p>I turned then to Google.</p>
<p>The collective Google geek consensus was: &#8220;Don&#8217;t mix video drivers.&#8221; In fact, said the Google, your second video card should be in the same chip family, or at least a kissing cousin. In English, this meant I needed a video board with an Nvidia 8xxx chipset, if not another actual 8500 GT. If I did that, both cards could and would (or should) use the same driver.</p>
<p>After a disappointing trip to the local Best Buy, where they never have what I want and it&#8217;s all overpriced, I tried a local computer hack-shack. No luck there, either. Next was <a href="http://www.newegg.com/" target="_blank">Newegg</a>. Even there, it seems, my options were limited unless I wanted to replace everything. I considered this, briefly admiring some quad-head (four monitors!) boards, but didn&#8217;t bite.</p>
<p>Eschewing the high-priced options and sacrificing instant gratification, I went cheap, crossed my metaphysical fingers, and ordered a PCI card with an Nvidia 8400 GS chip — I figured 8400 was close to 8500 …</p>
<p>Newegg, by the way, is terrific — excellent user interface, terrific prices, and good service. The board itself — a Sparkle GeForce 8400 GS 512MB GDDR2 PCI — was sixty bucks. True to form, and as promised, Newegg had the board here the day after Christmas.</p>
<p>Sneezing, I slipped it in to my PC, vacuumed out the dust bunnies, crossed my fingers, thought nice thoughts about <em>churros</em>, and slapped my head three times with a copy of Vista Premium Ultimate Galactic Omnipotent Edition and… it didn&#8217;t work.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2009/01/010409-2017-trilaterals1.jpg" alt="" width="705" height="305" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>Three Monitors: Diana Krall singing &#8220;A Case of You&#8221; and a glass of Syrah.<br />
</strong></span></p>
<p> </p>
<p>Yet, after a little tweaking, some irascible grumbling, and a couple of reboots — followed by a frantic yet fruitful hunt for a VGA cable without a bent pin — nirvana was mine.</p>
<p>My triptych was complete. I had trinity — three monitors — no muss, no fuss, no waiting. All that remained was to hook up all the USB hubs and try to gain some semblance of order in the cable chaos I had created. With three monitors, I discovered I had run out of power outlets and had to spring for another power strip — once again proving that no tech project ever comes in on budget.</p>
<p>The plethora of USB connections, by the way, was an un-expected bonus. I had forgotten that each monitor had its own USB hub, each offering four USB connections, two (totally unreachable) in the back and two on the side.</p>
<p>Unfortunately, DELL, in its cosmic wisdom, can&#8217;t seem to decide which side of a monitor to place the USB ports. On two of the monitors, the ports are on the left. On the other monitor, the ports are on the right (and reversed, back to front). This setup guarantees — no matter what way you turn the USB connection, when you try to stick it in the slot, you&#8217;ve got it backwards.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2009/01/010409-2017-trilaterals2.png" alt="" width="319" height="323" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>Three Card Monitor Monty<br />
</strong></span></p>
<p>There is one more thing I should mention. Once done, you need to shuffle the monitors around on the &#8220;Display Properties&#8221; tab — making sure you&#8217;ve got them in the order you want. I wanted mine with the primary (20-inch LCD) monitor in the middle. Each monitor is numbered, so you just drag and drop the little image of the monitor where you want it. Easy as Three-card Monte.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2009/01/04/trilateral-symmetry/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Skype Me, Dr. Memory!</title>
		<link>http://digitaldiner.org/2008/02/21/skype-me-dr-memory/</link>
		<comments>http://digitaldiner.org/2008/02/21/skype-me-dr-memory/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 04:44:16 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.digitaldiner.org/2008/02/21/skype-me-dr-memory/</guid>
		<description><![CDATA[<p>A few days ago, a reader of this humble blog asked if I knew a way to embed &#8220;Skype Presence&#8221; in a SharePoint Web Part.</p> <p>I didn&#8217;t. But, I was intrigued. (That&#8217;s a bad sign… as it usually means I&#8217;m going to stay up until the wee hours.)</p> <p>It turns out to be pretty [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago, a reader of this humble blog asked if I knew a way to embed &#8220;Skype Presence&#8221; in a SharePoint Web Part.</p>
<p>I didn&#8217;t. But, I was intrigued. (That&#8217;s a bad sign… as it usually means I&#8217;m going to stay up until the wee hours.)</p>
<p>It turns out to be pretty easy-breezy, with a few caveats. I&#8217;ll explain those below. It&#8217;s easy because lots of stuff today is &#8220;widgetized.&#8221; A few minutes on the Skype site turned up some Skype web-widgets—– basically HTML code one can embed on a blog or web page — that gave me what I needed: HTML that would display Skype &#8220;presence&#8221; by Skype name (what I call a SkypeID).</p>
<p>Realize, I&#8217;m no code slinger, but it looked to me that one could simply modify the HTML, adding in different Skype names, and then stack it up in a CEWP. So that&#8217;s what I did.<span id="more-237"></span></p>
<p>That&#8217;s it. Once again, the Content Editor Web Part (AKA: CEWP) is a wily rascal. It can do the most amazing things. The HTML itself is pretty simple. It consists of a small scriptlet, and some basic HTML. Here it is in a screen shot:</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2008/02/022208-0444-skypemedrm12.png" alt="" /></p>
<p>I&#8217;ve highlighted the areas you need to change – basically substituting the appropriate SKYPEID in the yellow areas, and/or the appropriate &#8220;friendly name&#8221; at the bottom. That&#8217;s the basics.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2008/02/022208-0444-skypemedrm22.png" alt="" /></p>
<p>My first attempted yielded the result above — a webpart with my Skype status and name. If you click on the &#8220;I&#8217;m Online&#8221; graphic, it launches Skype and tries to make the call (via Skype, of course).</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2008/02/022208-0444-skypemedrm32.png" alt="" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>Silly Rabbit, Trix is for Kids<br />
</strong></span></p>
<p>I tried it, but some wiseass at Skype designed it so you can&#8217;t call yourself. (Grumble – what fun is that!). Anyway, this all once again shows how truly neat the CEWP is.</p>
<p>Now I decided to get fancy — after all it was still early. I decided to set up a nice format, a table, light border, etc. Just because, I also decided to see how it handled multiple Skype accounts in the same part.</p>
<p>Not a problem, it turns out. I just had to cut-and-paste the code, changing the embedded SkypeID in two places, and inserting a &#8220;Friendly Name&#8221; so that it looked nice on the screen. It&#8217;s all pretty straight HTML. No muss, no fuss, and — no kitchen drudgery.</p>
<p>Here&#8217;s the final screen shot:</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2008/02/022208-0444-skypemedrm42.png" alt="" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>Schizophrenic Skype Status<br />
</strong></span></p>
<p>The caveats and other bits:</p>
<ol>
<li>You&#8217;ve gotta have a Skype account to use this. And, you have to have Skype loaded to use the button to call someone. If you don&#8217;t have Skype, you&#8217;ve wasted your time reading this anyway.</li>
<li>This is just stacking up the standard Skype &#8220;Skype Me&#8221; widgets. You can find other ones here: <a href="http://www.skype.com/intl/en/share/buttons/">http://www.skype.com/intl/en/share/buttons/</a></li>
<li>I&#8217;ve not a clue what kind of demand this puts on SharePoint — but since this is all &#8220;client-side&#8221; code, it shouldn&#8217;t be a problem.</li>
<li>The trick here is the Content Editor Web Part. Make it your friend.</li>
<li>I did this originally in MOSS, and then duplicated it in WSS, just to make sure that it worked in both environments. It does.</li>
<li>This Skype status does NOT refresh unless you reload the page. Hence just leaving the page loaded might result in inaccurate &#8220;presence&#8221; information. [I looked at a few methods to automatically refresh, but nothing seemed elegant, and the easy answer would refresh the entire page.]</li>
<li>Use at your own risk.</li>
</ol>
<p>I&#8217;ve appended the final code below, and I put an exported copy of the webpart up <a href="http://cid-b3dd0f79ba95fb8d.skydrive.live.com/self.aspx/Public/CEWP-Generic_Skype_Presence.dwp">here</a>. Feel free to download and abuse. You&#8217;ll need to edit the code and insert the desired SkypeIDs and dup the sections for additional IDs.</p>
<p>Finally — and I say this seriously — Caveat Emptor and all that jazz. I offer no guarantees. I distribute this free of all responsibility and liability, use and/or abuse at your own risk. It should give you no problems, but if it does, well… I&#8217;ve left town, and I&#8217;m living with the dogs on the Dalmatian coast.</p>
<p><span style="text-decoration: underline">Content Editor Web Part – Code for Skype Presence embedded on WSS site.<br />
</span></p>
<p>Note the areas you&#8217;ll need to edit and change. You must replace the text &#8220;SKYPE_IDn&#8221; and &#8220;Friendly_Name&#8221; with a real Skype IDs and really friendly name.</p>
<table border="0">
<tbody>
<tr>
<td style="padding-right: 7px;padding-left: 7px;border: black 0.5pt solid">
<p style="text-align: center">Content Editor Web Part – Skype Presence</p>
</td>
</tr>
<tr>
<td style="padding-right: 7px;padding-left: 7px"><span style="font-size: 8pt">&lt;!&#8211; Caveat Emptor! I make no warranties that this will work &#8211;&gt;<br />
</span><span style="font-size: 8pt">&lt;!&#8211; In fact, I make no warranties at all. You use this at your own risk &#8211;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;!—I mean that. I&#8217;m not responsible if your naughty bits fall off &#8211;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;style type=&#8221;text/css&#8221;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">.style1<br />
</span></p>
<p><span style="font-size: 8pt">{<br />
</span></p>
<p><span style="font-size: 8pt">    font-family: Tahoma;<br />
</span></p>
<p><span style="font-size: 8pt">}<br />
</span></p>
<p><span style="font-size: 8pt">.style2 {<br />
</span></p>
<p><span style="font-size: 8pt">    border-style: solid;<br />
</span></p>
<p><span style="font-size: 8pt">    border-width: 1px;<br />
</span></p>
<p><span style="font-size: 8pt">    font-family: Tahoma;<br />
</span></p>
<p><span style="font-size: 8pt">    font-size: medium;<br />
</span></p>
<p><span style="font-size: 8pt">}<br />
</span></p>
<p><span style="font-size: 8pt">.style3 {<br />
</span></p>
<p><span style="font-size: 8pt">    border-style: solid;<br />
</span></p>
<p><span style="font-size: 8pt">    border-width: 1px;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/style&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;Center&gt;<br />
</span></p>
<p><span style="font-size: 8pt">Skype Status &#8212; Click to Call<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/Center&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;http://download.skype.com/share/skypebuttons/js/skypeCheck.js&#8221; mce_src=&#8221;http://download.skype.com/share/skypebuttons/js/skypeCheck.js&#8221;&gt;&lt;/script&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;table style=&#8221;width: 100%&#8221;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;!&#8211; BEGIN ReUsable SECTION &#8211; duplicate the section below once for each SkypeID<br />
</span></p>
<p><span style="font-size: 8pt">&lt;!&#8211; Change SKYPE_ID and Friendly Name &#8211;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;!&#8211; BEGIN &#8211;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;tr&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;td style=&#8221;width: 200px; height: 44px&#8221; class=&#8221;style3&#8243;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;span class=&#8221;style1&#8243;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;a href=&#8221;skype:<span>SKYPE_ID1</span>?call&#8221;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;img src=&#8221;http://mystatus.skype.com/bigclassic/<span>SKYPE_ID1</span>&#8221; style=&#8221;border: none;&#8221; alt=&#8221;Click to Skype&#8221; /&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/a&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/span&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/td&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;td class=&#8221;style2&#8243;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;strong&gt;  <br />
</span></p>
<p><span style="font-size: 8pt"><span>FRIENDLY_NAME1</span><br />
</span></p>
<p><span style="font-size: 8pt">&lt;/strong&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/td&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/tr&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;!&#8211; END &#8211;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;!&#8211; BEGIN &#8211;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;tr&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;td style=&#8221;width: 200px; height: 44px&#8221; class=&#8221;style3&#8243;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;span class=&#8221;style1&#8243;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;a href=&#8221;skype:<span>SKYPE_ID2</span>?call&#8221;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;img src=&#8221;http://mystatus.skype.com/bigclassic/<span>SKYPE_ID2</span>&#8221; style=&#8221;border: none;&#8221; alt=&#8221;Click to Skype&#8221; /&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/a&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/span&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/td&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;td class=&#8221;style2&#8243;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;strong&gt;  <br />
</span></p>
<p><span style="font-size: 8pt"><span>FRIENDLY_NAME2</span><br />
</span></p>
<p><span style="font-size: 8pt">&lt;/strong&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/td&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/tr&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;!&#8211; END &#8211;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;!&#8211; END DUPLICATE SECTION &#8211;&gt;<br />
</span></p>
<p><span style="font-size: 8pt">&lt;/table&gt;<br />
</span></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2008/02/21/skype-me-dr-memory/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Son of Fronkensteen</title>
		<link>http://digitaldiner.org/2007/10/28/son-of-fronkensteen/</link>
		<comments>http://digitaldiner.org/2007/10/28/son-of-fronkensteen/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 18:15:37 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.digitaldiner.org/2007/10/28/son-of-fronkensteen/</guid>
		<description><![CDATA[<p>The retail release of Windows Home Server (WHS) hit the web- shops in early October. My copy arrived as fast as a flying monkey. The retail price was, as promised, less than $200 ($179 from NewEgg to be exact — a sweet deal considering what you&#8217;re getting).</p> <p>It&#8217;s an &#8220;OEM&#8221; version, by the way; [...]]]></description>
			<content:encoded><![CDATA[<p>The retail release of Windows Home Server (WHS) hit the web- shops in early October. My copy arrived as fast as a flying monkey. The retail price was, as promised, less than $200 ($179 from <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16832116395" target="_blank">NewEgg</a> to be exact — a sweet deal considering what you&#8217;re getting).</p>
<p>It&#8217;s an &#8220;OEM&#8221; version, by the way; there&#8217;s no &#8220;consumer&#8221; version. It seems that most folks are expected to buy it pre-installed on a preconfigured &#8220;home server.&#8221; The OEM version in my grubby mitts is supposedly for &#8220;system builders,&#8221; folks that are going to bundle it with some hardware and sell it as retail turn-key system. Sure&#8230; That&#8217;s me. I am now officially a system builder. Wahoo! (ahem)</p>
<p>So far, the only downside to all this is, according to the shrink-wrap license, I&#8217;m my own end-user support. Apparently, the &#8220;system builder&#8221; is responsible for end-user support.</p>
<p>I bought it, I built it, and I sold it to myself. I must say, it was a great sales experience. I was very attentive to my needs and I seemed to know just what I wanted. Then again, when and if it comes to needing some support, I suppose I could just put myself on hold for an hour or two, ask a bunch of incomprehensible questions, cop an attitude, and then blame it on the &#8220;drivers.&#8221; That&#8217;s easy enough. &#8220;Have you tried rebooting, sir?&#8221; I&#8217;ll ask myself.<span id="more-199"></span></p>
<p>Anyway… The software&#8217;s arrival in the post just happened to correspond with a hardware sale at the local Stuff-R-Us Mega-Discount Warehouse and Croissant Emporium. They were clearing out half-terabyte hard drives — decent speed and cache — for 99 bucks. I was there and back before my credit card knew what happened.</p>
<p>New hardware in hand, software ready, I decided to start with a clean slate. I decided that it was time to chase the happily humming beta version, my lovely Frankenstein, out of town, like an angry villager armed with pitchfork and fire. Yep, Frankenstein, err… Fronkensteen had to go, and in its place: Son of <a href="http://www.digitaldiner.org/wp-content/uploads/2007/07/dramatic.wav" target="_blank">Fronkensteen</a>!</p>
<p><span style="color: #7f7f7f">[See my previous Frankenstein-related posts "</span><a href="http://www.digitaldiner.org/2007/04/28/savory-soho-server-soup/" target="_blank">Savory Soho Server Soup</a><span style="color: #7f7f7f">" and "</span><a href="http://www.digitaldiner.org/2007/07/17/dancing-with-abby-normal%e2%80%a6/" target="_blank">Dancing with Abby Normal</a>.<span style="color: #7f7f7f">" In those two posts I describe my adventures building a beta version of WHS, and then tweaking it a wee bit so that it would also run Windows SharePoint Services (WSS 3.0). ]<br />
</span></p>
<p>Sure, I could have gone the upgrade route, but I prefer a clean build. Windows, out of the box, is messy enough. Besides I had nice shiny new drives to work with. Besides, I wanted to do this right. In the next few weeks, we were going to build one of these for our London office — to provide an automated backup/shared file storage system — best to get off on the right foot.</p>
<p>I figured it was the perfect setup for an office of four people. Combined with (a soon-to-be-released WHS version of) <a href="http://www.jungledisk.com/whs.shtml" target="_blank">JungleDisk</a>, it would form the perfect disaster avoidance solution for a small office. WHS was brain-dead easy backup for local files and automated, off-site, secure backup (via JungleDisk and S3) of shared files. The remote access was gravy. And all for a great price.</p>
<ul style="margin-left: 54pt">
<li>WHS would provide backup from local PCs to the WHS server.</li>
<li>WHS would provide shared file storage between staff in the office.</li>
<li>JungleDisk would automate the backup of the shared file storage to Amazon&#8217;s S3 service.</li>
<li>When those folks travelled they could get remote access (via SSL) to their shared files.</li>
<li>When and if we needed, my staff could get remote access to the local workstations via the built-in TS gateway service.</li>
</ul>
<p><span style="text-decoration: underline">Building Son of Fronkensteen<br />
</span></p>
<p>So the process begins. With two new shiny drives in hand, I set out to build Fronkensteen Junior. First, I backed up everything on the Beta server – well, everything I wanted to save – on to a couple of USB drives.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/102807-1815-sonoffronke1.jpg" alt="" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>Drives Akimbo<br />
</strong></span></p>
<p>Then I tore Frankie (or is that <a href="http://www.digitaldiner.org/wp-content/uploads/2007/07/igor.wav" target="_blank">Fronkie</a>?) apart, removed all the existing drives, and shoved in the two new drives. I then added a dash of extra RAM I found lying around. Out of habit I checked the jumpers and cables, gave it a good vacuum, again checked the jumpers and cables; checked wallet, watch, testicles and spectacles, closed it up, and turned it on.</p>
<p>Everything worked and nothing hurt, so I booted from the WHS DVD and stared at the screen for about 45 minutes while drinking tea and playing with my dog, Tanzy. She likes this part of the process.</p>
<table border="0">
<tbody>
<tr>
<td style="padding-right: 7px;padding-left: 7px;border: black 0.5pt solid" valign="middle">
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/102807-1815-sonoffronke2.jpg" alt="" /></p>
<p style="text-align: center">Old Sony the Monitor</p>
</td>
<td style="padding-right: 7px;padding-left: 7px" valign="middle">
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/102807-1815-sonoffronke3.jpg" alt="" /></p>
<p style="text-align: center">Sweet Tanzy the Dog</p>
</td>
</tr>
</tbody>
</table>
<p>Seriously, that was it — stare at monitor, click &#8220;OK&#8221; once or twice, play with dog, and sip tea. Maybe I had to answer a couple of questions now and then, eventually, I had to type in the serial number. Other than that, it was just 45 minutes of daydreaming about Italy, Oaxaca, or dinner (I can&#8217;t remember which). After those 45 minutes — and after ignoring a variety of warnings about formatting drives, losing all your data, and possible nuclear meltdown — it was done. Fronkie Jr., was up and running.</p>
<p><span style="text-decoration: underline">Adding SharePoint<br />
</span></p>
<p>Tempting fate, I then followed my own instructions and installed Windows SharePoint Services on the server too — mucking about with the IIS ports and such. The second time around it was easy; in another 10 minutes it too, was done. It took three hours, start to finish, and that includes the vacuuming, daydreaming, several cups of tea, and some serious tennis ball tossing time with Tanzy.</p>
<p>[Tanzy would like me to note here that the tennis-ball-tossing is very serious work indeed, and she fails to understand why I waste my time with all these other trivial pursuits. "Ball," says Tanzy, dropping it in my lap, "Ball!" Obviously, I'm fairly dense, and can only follow simple instructions.]</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/102807-1815-sonoffronke4.png" alt="" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>WHS with SharePoint<br />
</strong></span></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>— Embedded YouTube Video Experiment —<br />
</strong></span></p>
<p>You can see SharePoint (above). This particular screen shot shows one of my current experiments —displaying a YouTube video inside of a SharePoint web part. Turns out it&#8217;s a piece of cake. It took about 10 minutes and a little work with SharePoint Designer. The evidence, above, is a screen-shot of a low-budget video by The Silencers performing a traditional Scottish ballad called &#8220;<a href="http://www.youtube.com/watch?v=MagG8J--BBI" target="_blank">Wild Mountain Thyme</a>,&#8221; AKA: the &#8220;Braes o&#8217;Balquidder&#8221; or the &#8220;Hills of Balquidder&#8221; (that&#8217;s &#8220;bal-whither,&#8221; should you care to pronounce it).</p>
<p>Music choice aside, the web part is simple. It&#8217;s just an IFrame as a link target, with a list of links on the same page. Put the links you want in a SharePoint list, display the list on the page, click on an item, and the content shows in the web part hosting the IFrame. You can use the same trick to create a dynamic &#8220;form library&#8221; of PDF forms, for example. Here&#8217;s an example, below:</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/102807-1815-sonoffronke5.png" alt="" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>Dynamic PDF Form Library Viewer<br />
</strong></span></p>
<p>I can see using the embedded video parts for &#8220;how-to&#8221; videos and screen movies, on a central &#8220;how-to&#8221; page on an Intranet, for example. With a little creativity, SharePoint can rock, really.</p>
<p>All in all after an investment of three hours and a couple of hundred bucks, I had not only a multi-terabyte home server, but a serviceable SharePoint server too. For me, the SharePoint bit comes in handy for testing ideas about how to manage information, develop prototype intranet parts, and for experimenting with various MS Office integrations, such as OneNote.</p>
<p><span style="color: #7f7f7f">[Lately I had been using OneNote (2007) for a variety of things, and it happily uses WSS as a central storage repository. Since I was considering using OneNote to help keep track and store a wild jumble of investment information (email, documents, charts, graphs, contracts, etc.), it was nice to be able to put it through its paces — OneNote takes some getting used to, I'll warn you now. But it basically will hold anything — and it likes to use SharePoint for its backend storage.]<br />
</span></p>
<p>Since it was all going well, I decided to customize things just a wee bit, modifying the wallpaper and the default remote web page (shown below) — paying homage to the original &#8220;Abby Normal&#8221; build, and getting rid of that irritating picture of a &#8220;family playing in the yard&#8221; that comes as the web site default. This is much more fitting.</p>
<table border="0">
<tbody>
<tr>
<td style="padding-right: 7px;padding-left: 7px;border: black 0.5pt solid" valign="middle">
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/102807-1815-sonoffronke6.jpg" alt="" width="301" height="208" /></p>
</td>
<td style="padding-right: 7px;padding-left: 7px" valign="middle">
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/102807-1815-sonoffronke7.png" alt="" width="256" height="208" /></p>
</td>
</tr>
<tr>
<td style="padding-right: 7px;padding-left: 7px" valign="middle">
<p style="text-align: center">WHS WallPaper</p>
</td>
<td style="padding-right: 7px;padding-left: 7px" valign="middle">
<p style="text-align: center">WHS Remote Web Site Page</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: center"><a href="http://www.digitaldiner.org/wp-content/uploads/2007/07/alive.wav" target="_blank"><span style="font-size: 9pt;color: #4f81bd"><strong>Son of Fronkensteen. It&#8217;s alive, it&#8217;s alive!</strong></span></a><span style="font-size: 9pt;color: #4f81bd"><strong><br />
</strong></span></p>
<p>Finally, I installed a couple of WHS Add-Ins: <a href="http://www.avast.com/eng/avast-whs-edition-beta.html" target="_blank">Avast for WHS </a> (beta 3 at this writing) and <a href="http://www.edholloway.com/archive/2007/06/21/PhotoSync-Beta2-for-Windows-Home-Server-is-Available_2100_.aspx" target="_blank">PhotoSync</a> (beta 2 at this writing). Avast adds antivirus to the WHS server, and provides a management interface to any Avast clients installed on local PCs. It&#8217;s quite nice, and doesn&#8217;t seem as taxing to the system as, for example, Symantec&#8217;s AV products. Avast! for the home user is also free. That&#8217;s a great price. PhotoSync does what it says — it syncs photos. It automatically syncs designated WHS folders with a Flickr site. To add items to Flickr, you need only put them in a designated folder on the WSH shares. Filenames become picture titles on Flickr, and folder names become photo &#8220;sets&#8221; on Flickr — unfortunately there is no support for tagging, at least not yet.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/102807-1815-sonoffronke8.png" alt="" /><span style="font-size: 9pt;color: #4f81bd"><strong><br />
</strong></span></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>WHS Console with Avast and PhotoSync<br />
</strong></span></p>
<p>Fronkie Jr., is up and running, happily backing up my various PCs and laptops every night starting at 2:00 a.m., and busily syncing my photos with Flickr when I ask it to. It&#8217;s centrally managing Avast! Anti-virus across my home PC network, and has yet to terrorize any of the local villagers. What more could I ask?</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2007/10/28/son-of-fronkensteen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.digitaldiner.org/wp-content/uploads/2007/07/dramatic.wav" length="155802" type="audio/x-wav" />
<enclosure url="http://www.digitaldiner.org/wp-content/uploads/2007/07/igor.wav" length="410418" type="audio/x-wav" />
<enclosure url="http://www.digitaldiner.org/wp-content/uploads/2007/07/alive.wav" length="85820" type="audio/x-wav" />
		</item>
		<item>
		<title>My Secret Summer Romance</title>
		<link>http://digitaldiner.org/2007/10/06/my-secret-summer-romance/</link>
		<comments>http://digitaldiner.org/2007/10/06/my-secret-summer-romance/#comments</comments>
		<pubDate>Sat, 06 Oct 2007 20:33:19 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Civil Society]]></category>
		<category><![CDATA[Government & Politics]]></category>
		<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.digitaldiner.org/2007/10/06/my-secret-summer-romance/</guid>
		<description><![CDATA[<p>Her name was Jane. We met, quite unexpectedly, at Zaventem Airport in Brussels. At the Avis counter. It was such a random thing, but when I saw her I knew — no hesitation — whatever the cost, I just knew. Some things are just meant to be. With Jane, it was meant to be. Jane. [...]]]></description>
			<content:encoded><![CDATA[<p>Her name was Jane. We met, quite unexpectedly, at <a href="http://en.wikipedia.org/wiki/Brussels_Airport" target="_blank">Zaventem Airport</a> in Brussels. At the Avis counter. It was such a random thing, but when I saw her I knew — no hesitation — whatever the cost, I just knew. Some things are just meant to be. With Jane, it was meant to be. Jane. I can still hear her voice.</p>
<p>We travelled together, she and I, bisecting France; from <a href="http://flickr.com/photos/gclabaugh/sets/72157601823722009/" target="_blank">Brussels to Aix-en-Provence </a>and back again. In hindsight, I couldn&#8217;t of done it without her. How I ever planned to survive, travelling those weeks without her is beyond me. I&#8217;d have been lost without her, lost.<span id="more-190"></span></p>
<p>She was my constant companion, Jane. During the day, driving, she was there. In the evenings, she&#8217;d accompany me on walks — short or long. She was never at a loss for words; she always knew just what to say. I&#8217;d hang on every word. She was worldly in ways I can&#8217;t describe. We became close in those few days together; I could sometimes even anticipate what she&#8217;s going to say next. &#8220;Oh Jane,&#8221; I said. &#8220;Run away with me. Together we&#8217;ll see the ends of the earth.&#8221; Jane, always taciturn, would say: &#8220;Go to the end of the road and turn left.&#8221; Jane had a sultry way about her, teasing yet stern, with that lilting British accent. I&#8217;d smile, knowingly. &#8220;You have reached your destination,&#8221; she&#8217;d say firmly. Then, I&#8217;d reach up and &#8211; ever so gently &#8211; pluck her from her adhesive perch on the windscreen and tuck her into the glove box. Yet, in the end, I left her. I left her in Brussels, back at the Avis counter. I had to. It was either that or lose my deposit. Jane: the GPS lady.</p>
<p>GPS is a liberating technology. Jane — in the form of a <a href="http://www.tomtom.com/" target="_blank">TomTom</a> GPS device — was amazing. To put it nicely: driving in a strange city can be, shall we say, flummoxing. To put it accurately, it can be frustrating, irritating, and downright dangerous — to you, the other traffic, innocent and not so innocent pedestrians, and/or your assorted travelling companions.</p>
<p>Driving in another <em>country</em> quadruples that frustration and danger. Not only are you perpetually lost, but the roads are wacky, some barely wide enough for a goat (and a skinny goat at that). The pace of traffic is fast and all the signs are in a different language. <span style="color: #548dd4">[To quote Steve Martin: Those French are amazing, they have a different word for everything!]</span> Moreover, even if the road signs are roughly approximate to English, or you happen to speak the local lingo, everything is nevertheless somehow incomprehensible.</p>
<p style="text-align: center"><a title="More of my sign collection" href="http://www.flickr.com/photos/gclabaugh/sets/72157594266682739/" target="_blank"><img src="http://digitaldiner.org/files/2007/10/100607-2033-mysecretsum1.jpg" alt="" /></a></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>Now what were those &#8220;three laws of robotics&#8221; again?<br />
</strong></span></p>
<p>I&#8217;ve wandered the world, driving here and there, always with some degree of <em>angst,</em> some lingering anxiety about the traffic, the other drivers, where I was going, or just where the hell I was. With Jane as my co-pilot that anxiety was gone. I could concentrate on driving, either at (very) high speeds on flawless French highways or feeling like James Bond as I curved around winding trails in search of <em>coteaux</em> and <em>caveau</em>, my (rented) Audi A4 Turbo Diesel purring, Amel Bent&#8217;s <a href="http://www.youtube.com/watch?v=9m2__SOpmzY" target="_blank">Nouveaux Français</a> blasting on the Blaupunkt.</p>
<p>It&#8217;s odd. Technology was supposed to be enslaving, not liberating, the enemy of democracy, not its savior. We were headed for dystopia, an Orwellian future where technology was to be a black boot on the back of the neck. I watched the year 1984 creep closer and closer, big brother looming large. It came and went, with barely a whimper.</p>
<p>Now, don&#8217;t get me wrong: technology can (and has) been turned to evil ends. Much has already been said about the evil ends. The possibilities for more evil abound, even for a company who&#8217;s motto is &#8220;do no evil.&#8221; (It&#8217;s just a little to <em>newspeak</em> for my tastes.)</p>
<p><span style="text-decoration: underline">The Open Secrets Effect<br />
</span></p>
<p>But I want to talk about the other side. I want to talk about Jane, and things like Jane. I want to talk about something I call the &#8220;<strong>open secrets </strong><strong>effect</strong>,&#8221; something that has the power to save one&#8217;s marriage from map-reading malevolence, and, perhaps, the power to save democracy from itself.</p>
<p>While it may seem a trivial one, GPS is a good example of the open secrets effect — that magical synergy you get when you mix disaggregate information with extraordinary computational power and deliver it in new ways. In the interest of honesty, I should say that I stole the name of the effect from Larry Makinson and <a href="http://OpenSecrets.org" target="_blank">OpenSecrets.org</a>, a site published by the Center for Responsive Politics (CRP). That site is the brainchild of Larry and of Ellen Miller. Ellen is the former executive director of CRP. She&#8217;s now at the <a href="http://www.sunlightfoundation.com/" target="_blank">Sunlight Foundation</a>. In the interest of full disclosure, I should also note that my wife was CRP&#8217;s long-time communications director, until the fates led her down a much more fun career path. She&#8217;s the reason I get to do these fun trips.</p>
<p>The site, OpenSecrets.org is about campaign finance. It&#8217;s also a prime example of the power of opening the kimono, of exposing information that has been shrouded in darkness and complexity.</p>
<p>The Open Secret Effect is what happens when you shine a bright light on data, making it not just available — there are lots of maps of France &#8220;available&#8221; after all — but accessible, understandable, and personal. When you do that, something magic happens.</p>
<p>For example, originally, <em>Open Secrets</em> was a book. It was published by the Center for Responsive Politics (CRP). It weighed in at probably 10 pounds and was a good four inches thick. But, when CRP took that information, mixed it with a dash of database and a smidgen of internet, suddenly they had an even more powerful agent of change.</p>
<p>That magic mix — data, database, and internet — made the information real and powerful. People could look up their &#8220;own&#8221; politician, and see just where the money came from. There&#8217;s a new twist today, by the way, an initiative called <a href="http://maplight.org/" target="_blank">MapLight.org</a>. It promises to take that information to the next level, marrying campaign contributions to voting records. So called &#8220;<a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29" target="_blank">mashups</a>&#8221; like MapLight — where two or more previously isolated sets of data are &#8220;mashed&#8221; together — potentiate the open secrets effect. &#8220;You have reached your destination,&#8221; says Jane.</p>
<p>That&#8217;s the power of the open secrets effect. The mere act of opening the kimono changes behavior and changes the balance of power. Now, more than ever, U.S. political campaigns (and politicians) are dominated by big-money interests. Those interests finance the campaigns and, through those dollars and donuts, pocket the politicians that shape the fabric of our lives. Hopefully, the jig is up. With the open secrets effect of MapLight and OpenSecrets, it should be much more difficult to be bought and sold, especially when everybody knows how cheap the price.</p>
<p>So too, the inherent &#8220;connectedness&#8221; of the Internet is also changing the relationship of money to power as well. Big money is still there (by the bucket-full in this particular election season) but it is being somewhat counterbalanced by so-called internet campaigns, campaigns that are using the &#8216;net&#8217;s ability to aggregate lots of small things, in this case small contributions.</p>
<p>For good or for bad, campaign contributions have been ruled as constituting &#8220;free speech.&#8221; As such, more people are speaking than ever before. [Sadly, over two-thirds of those dollars — regardless of source — just end up fueling the creation of traditional one-way TV spots, designed not to inform but to obscure, enrage, or distract. One-way media must perish from this earth.]</p>
<p>Nevertheless, today&#8217;s innovative (dare I say social) uses of technology have had a liberating effect. Instead of robbing us of rights, they have increased our participation, restoring power to the formerly powerless. It has strengthened our democracy, not undermined it. To paraphrase Al Gore in his (absolutely terrific) book, <a href="http://en.wikipedia.org/wiki/The_Assault_on_Reason" target="_blank">The Assault on Reason</a><span style="text-decoration: underline">, </span>&#8220;a <em>connected </em><em>citizenry</em>&#8221; is our greatest hope. The new internet is all about connections and the open secret effect.</p>
<p>More and more secrets are being opened. It&#8217;s a revolution in knowledge, power, and influence. Suddenly the powerless are powerful, the disenfranchised are raised up. It is something that can change the course of history or something that can get you from village &#8220;A&#8221; to vineyard &#8220;B&#8221; (and back again). &#8220;Take the roundabout, second exit,&#8221; says Jane.</p>
<p>Opening this secret can of worms has the potential to turn power on its head — counterbalancing previously one-sided relationships or creating strength of numbers where there was none previously. It&#8217;s directly responsible for the new realization that &#8220;consumers&#8221; are not passive patsies but active participants. Nowhere is this truer than in the development of software, for example. Software publishing has become a dynamic, interactive process where the customers participate in the product&#8217;s development, even doing the product testing.</p>
<p>Previously top-down, one-sided relationships are being changed — for the better IMHO. For example, let&#8217;s look at some previously one-sided relationships: between the entrepreneur and the venture capitalist, between the Fourth Estate and the public, and between grantee and grantor. These are being turned on their heads — they&#8217;re feeling the open secrets effect. They are being forced to operate in an environment where the formerly obscure is now in public view, i.e., the open secrets effect is at work.</p>
<p>In one of my favorite examples of truly living the Open Secrets life, Southwest Airlines actually made a television show of their inner operations called &#8220;<a href="http://www.aetv.com/airline/index.jsp" target="_blank">Airline</a>,&#8221; with a tag line of &#8220;We all have our baggage!&#8221;</p>
<p>Meanwhile, a site called <a href="http://www.thefunded.com/" target="_blank">TheFunded</a> has turned the tables on the world of the holy venture capitalist, dishing up a place that allows entrepreneurs to rate their would-be suitors. TheFunded has changed the equation by opening up the secrets that everybody &#8220;knew&#8221; but nobody shared. TheFunded has aggregated the voice of the powerless, and in so doing, become powerful. Now the VC&#8217;s are beginning to understand the real business they&#8217;re in and the nature of their relationship with their customers, the entrepreneur.</p>
<p>A more Web 2.0 <a href="http://googlenewsblog.blogspot.com/2007/08/perspectives-about-news-from-people-in.html" target="_blank">example</a> is being done by Google. Google is turning the one-way-medium called &#8220;the news&#8221; into a two-way conversation by introducing a way to give the subjects of news reports a way to comment on articles written about them. What was a one-way pipe is now a two-way conversation. It chips away at the Fourth Estate&#8217;s overwhelming power to set and control the agenda.</p>
<p>Finally, there is a little open secrets project I&#8217;m involved with. It&#8217;s called GrantsFire<span style="color: #548dd4">. [I don't have much to show you yet about GrantsFire – but you can look at the hGrant microformat standard, if you want. Microformats are a way of marking up web pages to make them machine readable. Find information <a href="http://hgrant.org/index.php?title=Main_Page" target="_blank">here</a>.]<br />
</span></p>
<p>Clearly, grants are no secret, just as maps of France are easy to come by. However, GrantsFire is about seeing and presenting that information in new ways. GrantsFire is an initiative to both establish a standard for publishing machine-readable grants information on the web, and about encouraging foundations to publish such information. Once up and running, with a critical mass of participants, that information can be aggregated by one (or more) sites. People will be able to run the data through a data vegamatic, slicing and dicing by topic, type of support, geographic focus, foundation, dates, and dollars. Who knows what mashups might result. Perhaps the next time I&#8217;m careening around France, Jane at my side, she&#8217;ll pipe up and say: &#8220;You have reached your destination. There&#8217;s a vineyard on your left, a gas station on your right, and this area has received over $4 million in private grants to encourage organic farming, improve educational test scores among children, grades K-12, and to finance microenterprise.&#8221;</p>
<p>Secrets are now open secrets. Clive Thompson, writing for WIRED in an article entitled &#8220;<a href="http://www.wired.com/wired/archive/15.04/wired40_ceo.html" target="_blank">The See-Through CEO</a>,&#8221; writes:</p>
<p style="margin-left: 36pt"><em>&#8220;The Internet has inverted the social physics of information. Companies used to assume that details about their internal workings were valuable precisely because they were secret. If you were cagey about your plans, you had the upper hand; if you kept your next big idea to yourself, people couldn&#8217;t steal it. Now, billion- dollar ideas come to CEOs who give them away; corporations that publicize their failings grow stronger. Power comes not from your Rolodex but from how many bloggers link to you &#8211; and everyone trembles before search engine rankings.&#8221;<br />
</em></p>
<p>It&#8217;s a new world. Expose yourself. Come drive with Jane and see the power of the open secrets effect.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/10/100607-2033-mysecretsum2.jpg" alt="" /></p>
<p style="text-align: center">{Photograph copyright: <a href="http://www.cal.net/~pamgreen/aboutpam.html" target="_blank">Pam Green</a>, 2003}</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2007/10/06/my-secret-summer-romance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wham, Bam! DAM</title>
		<link>http://digitaldiner.org/2007/08/22/wham-bam-dam/</link>
		<comments>http://digitaldiner.org/2007/08/22/wham-bam-dam/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 16:27:14 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.digitaldiner.org/2007/08/22/wham-bam-dam/</guid>
		<description><![CDATA[<p>For all you folks that have been ever so gently bugging me about sharing my damn DAM system… Between minor brain freezes and other lovely things like work and spending two weeks tasting wine in Burgundy, Beaujolais, Cote du Rhone, and Provence; well, time just slipped away. I apologize. [and.. Yes, I have stories [...]]]></description>
			<content:encoded><![CDATA[<p>For all you folks that have been ever so gently bugging me about sharing my damn DAM system… Between minor brain freezes and other lovely things like work and spending two weeks tasting wine in Burgundy, Beaujolais, Cote du Rhone, and Provence; well, time just slipped away. I apologize. <span style="color: #7f7f7f">[and.. Yes, I have stories to tell … sordid tales of love and the GPS lady, but those will have to wait…]</span></p>
<p>I&#8217;m back, and now I&#8217;ve knocked &#8220;sharing the DAM thing&#8221; off my &#8220;to-do&#8221; list. Read on.<span id="more-155"></span></p>
<p style="text-align: center"><img style="width: 322px;height: 219px" src="http://digitaldiner.org/files/2007/08/082207-1627-whambamdam1.png" alt="" width="322" height="219" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>Gavin&#8217;s DAM System<br />
</strong></span></p>
<p>Finally (finally!), my brain kicked into gear. I figured out an easy way to share the DAM thing. Moreover, I re-did the whole thing in WSS just to make sure it was totally portable and didn&#8217;t have any residual MOSS attributes, etc.</p>
<p>I knew it should be easy. I think I was just over thinking it. Finally, one day, I, not so gently, slapped myself in the head and said (to myself): &#8220;why not just put it up on one of those free file sharing/storage systems that have sprouted up all over the place in the last few years. Might just be a good chance to take a look at how they work anyway.&#8221; A couple of aspirin later (for the headache after the slapping) I did it.</p>
<p>Here&#8217;s how: I closed my eyes and picked one. Once I picked one, I then puttered around with it trying to figure out how to actually share something. Then I trashed it, and tried another. Trashed that one, and tried yet another, and then another, and … finally I found one that would do what I wanted. It&#8217;s a nice service and it seems to work. It&#8217;s called File123. It seems workable.</p>
<p>The downside — it has a time limit. Four weeks. We&#8217;ll work around that simple enough. As long as people want it, I&#8217;ll keep resetting the date and/or posting a new copy.</p>
<p>So, (tad da!) you can find the completed DAM WSS template here:</p>
<p><span style="text-decoration: line-through"><a href="http://www.file123.com/Transfer.aspx?guid=33a3935c-a4e4-4df0-975b-f066fcfe34e7">http://www.file123.com/Transfer.aspx?guid=33a3935c-a4e4-4df0-975b-f066fcfe34e7</a></span></p>
<p><span style="text-decoration: line-through">(Link updated 10/29/2007 &#8211; the new link will expire on 11/26/2007)</span></p>
<p><span style="text-decoration: line-through">(12/4/2007)</span></p>
<p><strong>I got tired of updating that link, so here&#8217;s one that won&#8217;t expire, up on Microsoft&#8217;s new (beta) Skydrive. Click <a href="http://mjxxsa.bay.livefilestore.com/y1phyAVNLhJypc7Z2flBYasGYB60nqTE2GjyDOGsKC6Q-UD3BGfdbAtBlsfB5sg8FiPqcX4mYBqOJML4Gzd7ufHzw/WSS_dam_template.stp?download" target="_blank">here</a>. </strong></p>
<p><span style="text-decoration: line-through">As I said, that URL will work for four weeks (all these systems impose some sort of time limit – I guess so you don&#8217;t use them as some sort continual, free, FTP hosting service just like I am doing). In four weeks I&#8217;ll re-share the file and reset the date.</span></p>
<p>Now: Some information:</p>
<p>First, I re-wrote the whole thing for WSS. My original (and working) design is in MOSS. But, I discovered that while something designed for WSS works just fine in MOSS, the reverse is not necessarily true. So, I just redid it in WSS.</p>
<p>Second, I completed the &#8220;Graphics&#8221; section. The photograph section was fully formed, but the Graphics section had been left wanting. I also put in some sample graphics and pictures. Of course, feel free to delete.</p>
<p>Third, I&#8217;ve saved it as a WSS template, instead of a &#8220;backup.&#8221; This, I believe, makes it much more portable and flexible. Everything is still there (I chose the option of saving data with the template), but templates are designed as &#8220;re-usable,&#8221; so there should be no issue with broken links or the like. I also eliminated the &#8220;search&#8221; portions. Instead, it should fall right into whatever search is appropriate for your particular installation.</p>
<p>Fourth, here are some basic instructions</p>
<p>Step 1: Add the template to your MOSS/WSS installation:</p>
<ul>
<li>Choose: Site Actions</li>
<li>From the Galleries list, choose: Site Templates</li>
<li>From the List menu, choose Upload and then upload the DAM WSS STP file into your site gallery.</li>
</ul>
<p>Step 2: Choose to create a new site. On the site information page, choose the template under the CUSTOM tab in the Template Selection named &#8220;DAM WSS Version.&#8221;</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/082207-1627-whambamdam2.png" alt="" /></p>
<p>Finally — and I say this seriously — download and have fun. <span style="text-decoration: underline">However</span>, Caveat Emptor and all that jazz. I offer no guarantees. I distribute this free of all responsibility and liability, <span style="color: #0070c0">use and/or abuse at your own risk</span>. It <em>should</em> give you no problems, but if it does, well&#8230; I&#8217;ve left town, yeah, and am now living on the island of Fernando Poo, or maybe the long lost Isles of Langerhans… Yeah, that&#8217;s it.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2007/08/22/wham-bam-dam/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Sow’s Ears and Turing Tests</title>
		<link>http://digitaldiner.org/2007/08/18/sow%e2%80%99s-ears-and-turing-tests/</link>
		<comments>http://digitaldiner.org/2007/08/18/sow%e2%80%99s-ears-and-turing-tests/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 13:56:14 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[Identity]]></category>
		<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.digitaldiner.org/2007/08/18/sow%e2%80%99s-ears-and-turing-tests/</guid>
		<description><![CDATA[<p>At the risk of being Pollyannaish, I find it pleasing when &#8220;good&#8221; things are born from &#8220;bad.&#8221; One of these &#8220;good&#8221; things caught my eye recently. It something called reCAPTCHA. Not only is it neat, it also turns a sad state of affairs on its head. It helps create a public good, a silk [...]]]></description>
			<content:encoded><![CDATA[<p>At the risk of being Pollyannaish, I find it pleasing when &#8220;good&#8221; things are born from &#8220;bad.&#8221; One of these &#8220;good&#8221; things caught my eye recently. It something called <a href="http://recaptcha.net/" target="_blank">reCAPTCHA</a>. Not only is it neat, it also turns a sad state of affairs on its head. It helps create a public good, a silk purse in the form of giant, online digital library, from the sow&#8217;s ear of having to prove we&#8217;re a human to some impersonal computer, over and over again.</p>
<p>We&#8217;re now confronted regularly with the requirement of proving our humanity before we&#8217;re allowed to comment on a blog posting, or sign up for a Yahoo! account, or send a happy note to Congress. I&#8217;ve written about that before — the Congress stuff — probably alienated a few friends in the process. (If you&#8217;re interested in my take on the Congressional move to institute so-called &#8220;logic puzzles,&#8221; look <a href="http://www.digitaldiner.org/2006/06/13/email-heresy/">here</a> and <a href="http://www.digitaldiner.org/2006/06/15/email-heresy-the-sequel/">here</a>.) Now that I think of it, it might be useful to have members of Congress prove that <em>they&#8217;re</em> human. I wonder how many would pass.<span id="more-152"></span></p>
<p>I admit it: there are days where I feel I might not pass such test. Moreover, in the grand scheme of things, I also admit there is a part of me that finds it altogether strange that we actually <em>need</em> such a test.</p>
<p>Nevertheless, tests to see if you&#8217;re &#8220;human&#8221; are now part and parcel of daily life on the internet — and appear as such things as CAPTCHA or other forms of logic puzzles. They&#8217;re all tricks, barriers to keep the &#8216;bots from flooding blogs, discussion groups, message boards, and web sites with auto-generated crap about drugs or body parts, or both. I&#8217;m always surprised, but apparently Christian Singles want to meet me! Obviously, they don&#8217;t know me (or my wife).</p>
<p>Metaphysical and political ponderings aside, tests that make you prove you&#8217;re human, officially called &#8220;Turing Tests,&#8221; are now downright commonplace.</p>
<p>The original &#8220;Turing Test&#8221; was developed by Alan Turing in the 1950&#8242;s. It was based on a parlor game in which a man and a woman would go into separate rooms and, remotely, using only the written word, try to convince other players in the game that they were the other person. Turing took that parlor game and tweaked it a bit, and came up with a test of a machine&#8217;s ability to demonstrate intelligence. A classic Turing Test asks whether: &#8220;a person could reliably tell the difference between a human in one room, and a computer in another, based solely on their written responses.&#8221; If (or when), a computer can fool that that human judge, computers will have passed the test, and have to be considered intelligent. [I'm here to say, right now, I want equal standing. If I can fool a judge into thinking I'm human, I want to be considered intelligent too.]</p>
<p>Today&#8217;s anti-spam and anti-bot tests are called &#8220;Reverse Turing Tests.&#8221; Unlike the classic test in which a human tries to tell the difference between another human and computer, a Reverse Turing Test has a computer judging if you&#8217;re a human or if you&#8217;re just another spam-generating, Viagra-pushing spam-bot.</p>
<p>Of such tests, CAPTCHA is probably the best known. It&#8217;s the one that asks you to use your uniquely human ability to recognize letters and numbers, even when they&#8217;re skewed, warped or wiggly. That&#8217;s something computers just don&#8217;t do well. CAPTCHA, by the way, stands for &#8220;<span style="color: #c0504d">C</span>ompletely <span style="color: #c0504d">A</span>utomated <span style="color: #c0504d">P</span>ublic <span style="color: #c0504d">T</span>uring test to tell <span style="color: #c0504d">C</span>omputers and <span style="color: #c0504d">H</span>umans <span style="color: #c0504d">A</span>part.&#8221; It&#8217;s trademarked by Carnegie Mellon. Here&#8217;s a sample of a CAPTCH – actually a reCAPTCHA. Let me tell you what the &#8220;re&#8221; in reCAPTCHA is all about, and why it&#8217;s so damn neat. reCAPTCHA takes the idea behind CAPTCHA and makes it work for a living.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081807-1356-sowsearsand1.gif" alt="" /></p>
<p style="text-align: center"><span style="font-size: 9pt;color: #4f81bd"><strong>An Example of a reCAPTCHA Turing Test<br />
</strong></span></p>
<p>According to the reCAPTCHA web site, about 60 million CAPTCHAs are solved every day. In each case, some human takes about ten seconds to do what only humans can — recognize some funky text and translate it back into letters and numbers. Ten seconds. Not that much time, and with good effect. It stops the spambots and Christian Singles.</p>
<p>But, when you think about it, though, in the aggregate, those seconds add up. Supposedly they add up to over 150,000 hours a day — 150,000 hours spent closely interpreting a funky image of some text, and then entering that into a form. With this in mind, the reCAPTCHA people apparently had a bright idea: Why not use that 150,000 hours for some positive good.</p>
<p>reCAPTCHA does exactly that. It channels that human effort into helping verify and interpret things that scanners can&#8217;t figure out. reCAPTCHA uses this massively parallel human processing system — all those people using their human abilities to recognize badly formed letters — to correct and/or verify OCR mistakes as books are being scanned into the <a href="http://www.archive.org/index.php">Internet Archive</a>. Damn neat. A silk purse from a sow&#8217;s ear.</p>
<p>For all of you that immediately thought: Well, what good is that? If the system doesn&#8217;t know what the word is, how can you use it for a Turing Test? I can hear you looking for the comment button… Wait… Hold your horses, the answer here is as brilliant as it is simple. First, take a look at the sample graphic above. What do you see? Two words, not one, right?</p>
<p>reCAPTCHA uses word pairs, one known word, and one unknown word. Only one of the words is from the book scanning process. The reCAPTCHA system pairs up the words, and asks you to translate both. In this way, using known/unknown word pairs, reCAPTCHA allows you to both prove you&#8217;re human and extracts free labor, getting you to transcribe and verify some mystery word from a book being fed into the Internet Archive.</p>
<p>Even neater, they use the same mystery word ten or more times, with different people, checking and double-checking the word. Only then is the most common, and most likely correct, answer fed back into the Internet Archive. This, of course, overcomes that pesky thing called human error. After all, humans… well, they&#8217;re not to be trusted. Besides, how do we really know you&#8217;re really human, anyway…?</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2007/08/18/sow%e2%80%99s-ears-and-turing-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with MOSS – Data Views and Custom Filters</title>
		<link>http://digitaldiner.org/2007/08/16/fun-with-moss-%e2%80%93-data-views-and-custom-filters/</link>
		<comments>http://digitaldiner.org/2007/08/16/fun-with-moss-%e2%80%93-data-views-and-custom-filters/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 17:53:25 +0000</pubDate>
		<dc:creator>Gavin Clabaugh</dc:creator>
				<category><![CDATA[NPTech]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.digitaldiner.org/2007/08/16/fun-with-moss-%e2%80%93-data-views-and-custom-filters/</guid>
		<description><![CDATA[<p>In previous versions of SharePoint, I was often frustrated with how difficult it was to do things I thought should be simple. It was probably my ignorance, or it could have been SharePoint&#8217;s obscurity and overall lack of good documentation, but it seemed a herculean task to simply filter information by a dynamic variable [...]]]></description>
			<content:encoded><![CDATA[<p>In previous versions of SharePoint, I was often frustrated with how difficult it was to do things I thought should be simple. It was probably my ignorance, or it could have been SharePoint&#8217;s obscurity and overall lack of good documentation, but it seemed a herculean task to simply filter information by a dynamic variable like &#8220;current user.&#8221;</p>
<p>The trouble was even though it<em> had </em>a setting for &#8220;current user&#8221; buried deep in some of the &#8220;filter&#8221; options; it returned the information in the form &#8220;Domain\LOGON_USER&#8221; or the common name (Firstname Lastname). I never could figure out how to easily extract just the portions I needed and to use that portion in any of the off-the-shelf web parts or data views. As I said, perhaps it was just ignorance.<span id="more-123"></span></p>
<p>Instead, I ended up going the long way round and built out some special code to make a connectable web part that could be used to filter by username. It was a lot of work. And, of course, it broke in the transition from SPS2003 to MOSS 2007. Connectable web parts are great — but this was just too much work.</p>
<p>Consequently, in this version, I vowed to do something simpler. I knew it could be done; it was just a question of beating my head against it until I either:</p>
<blockquote>
<blockquote>
<blockquote><p>A) beat myself senseless and forgot what I was doing, or</p></blockquote>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<blockquote><p>B) found the keys to the kingdom.</p></blockquote>
</blockquote>
</blockquote>
<p style="margin-left: 1pt">I suppose there was always option &#8220;C) Hire a consultant&#8221; but my experience with consultants, with a few notable exceptions, has not always been that satisfactory. Consultants seem to like to borrow <em>your</em> watch to tell you what time it is. The good ones, of course, then keep the watch.</p>
<p>The goal: simple, a stand-alone, self-filtering web part that displays data based upon the current user. If I did it right, the code should be reusable, or at least easy to duplicate.</p>
<p>I&#8217;m happy to report that I succeeded. Moreover, once I figured out where to do it, it was easy — and it opened up a whole passel of possibilities. (And I vowed to write it down so I wouldn&#8217;t forget it. I&#8217;m keeping my promise.)</p>
<p><span style="text-decoration: underline">About DVWPs:<br />
</span></p>
<p>Before I talk about &#8220;the how,&#8221; let me digress a minute to talk about &#8220;data views&#8221; or &#8220;data view web parts.&#8221; They&#8217;re the other half to this puzzle, and they&#8217;re real special, magical even. They are one of the more powerful SharePoint tools. Affectionately called DVWP&#8217;s, these little beasts do magic. And they&#8217;re right cute too. Like love, and like all magic, it&#8217;s kind of hard to explain unless you see it; even then, you&#8217;re not too sure how it works.</p>
<p>Please note: To play with DVWPs you need SharePoint Designer (MOSS 2007) or Visual Studio. The cost of admission is worth it. I use SharePoint Designer, but beware it is buggy as hell and seems to crash all the time. You get used to it, and learn not to do some things in some sequences. Such is life or Microsoft or both.</p>
<p>DVWP&#8217;s display data from databases such as SQL Server (or any ODBC-compliant data source) on a SharePoint page. In a nutshell, DVWPs give you a table of data, like a data grid, or a form. It&#8217;s that easy, by the way, to set up a web-front end to a database, for both viewing and editing.</p>
<p>If you&#8217;re looking to build some sort of dashboard, aggregating existing data, and displaying it dynamically on a web page, well, here is one easy way to do it.</p>
<p>Once set up, you can display data; you can shape it, mold it, and filter it. With the flick of a mouse, you can put it inside of handy dandy expanding and contracting headers, or sort it, or change the format or the display, based upon any of the values in the data itself. You can hide things or expose things, or change their color and format, based upon the values in the table. It&#8217;s just damn neat — and easy.</p>
<p>Here&#8217;s a simple sample (below), a DVWP showing &#8220;open&#8221; helpdesk support tickets dynamically pulled from our helpdesk system called TrackIT. Total Time to create: 2 minutes. I&#8217;ve redacted names to avoid tormenting the paranoid.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss13.png" alt="" /></p>
<p>I warn you now, that while creating and tweaking DVWPs is easy as pie, the tough part is figuring out where to stop. All of a sudden, all that data that&#8217;s locked up in LOB databases can be easily displayed on a web page — without code, without anything other than (some) knowledge of the data structure and a connection to the SQL server.</p>
<p>As I mentioned, you need SharePoint Designer. From there, it&#8217;s easy. Just a few menu clicks, and some mousing around. I&#8217;m not going to cover them here, but, trust me, they&#8217;re phenomenally easy. Next stop, filtering. Buckle your seatbelts. The management is not responsible for headaches, eye strain, or slaps to the side of your head.</p>
<p>Before we go any further — and before you tell me that there are already ways to filter in MOSS — let me explain a bit more. You&#8217;re correct: built in to MOSS is a parameter called [Current User]. Unfortunately, for my purposes, it doesn&#8217;t work. It returns the current user in the form &#8220;First name Last name&#8221; (e.g., John Smith). We don&#8217;t use that. (D&#8217;oh) Where it&#8217;s appropriate, we tag data using the so-called USERNAME, in the form &#8220;JSMITH&#8221; (first initial concatenated with last name). It&#8217;s ubiquitous to all our databases. I know, because I made it so. Standards! I&#8217;m just a jeepster for standards. <span style="color: #808080">[You have to remember </span><a href="http://video.google.co.uk/videoplay?docid=-6219459623783980102&amp;q=marc+bolan" target="_blank">T-Rex</a><span style="color: #808080"><a href="http://video.google.co.uk/videoplay?docid=-6219459623783980102&amp;q=marc+bolan" target="_blank"> </a>for that to make any sense at all, not that it makes any sense even if you know the reference.]</span></p>
<p>So, I needed to work some magic — pretty simple magic if you have access to any sort of programming language — but I wanted to do this without opening the hood. How it&#8217;s done turns out to be simple, it&#8217;s done with XSLT, and I show you the code, and tell you where to put it. [I don't mean that the way it sounds.]</p>
<p><span style="text-decoration: underline">Personalizing a DVWP:<br />
</span></p>
<p>I&#8217;m going to use a real-life example here. I&#8217;m going to walk you thru creating a web part that displays data from our Grants Management system — specifically information about employee charitable giving, and the organization&#8217;s matching contribution. Our goal is a simple, stand-alone, portable web part that would display data filtered by the current user, in this case, me. What we want is a list of charitable gifts, sorted and grouped by year, showing the amount, the match, and the name of the organization.</p>
<p>What we&#8217;re not going to cover how to set up DVWPs or connections to a database. That&#8217;s pretty self explanitory.</p>
<p>The data is in the database, all we have to do it get it out, format it on the screen, and filter it by the Windows Server variable &#8220;LOGON_USER.&#8221; In the end, it should look like this: Again, I&#8217;ve redacted so you don&#8217;t see my gifts to folks like the Rosicrucians, the L5 Society, and the Center for Epistemological Inconsistencies and Eccentricities (I&#8217;m a charter member!).  Obviously, I&#8217;m an equal opportunity push-over.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss23.png" alt="" /></p>
<p>Pretty simple really. You might note, I got a little fancy. I use some simple DVWP tricks put up a little red &#8220;<span style="color: #ff0000">new</span>&#8221; flag if the gift date is less than a month old.</p>
<p>Here is how it&#8217;s done:</p>
<ul style="margin-left: 67pt">
<li>Step 1:     Set up a connection to the database using the DVWP wizard.</li>
<li>Step 2:    Select the table or view you want, and select the appropriate fields.</li>
<li>Step 3:    Insert the data into an appropriate web part zone, and move the items around, until you get them the way you want them.</li>
<li>Step 4:    Set up the groupings and headers and all that jazz.</li>
<li>Step 4:    Set up the filter and sit back and admire your work.</li>
</ul>
<p>By the way, while you&#8217;re working with a DVWP, I recommend you adjust a couple of settings right away. To get to the settings (and where you work the magic) click the little &#8220;menu&#8221; arrow thingy on the right side of the DVWP. Here&#8217;s a before and after shot, showing the task pane.</p>
<table border="0">
<tbody>
<tr>
<td style="padding-right: 7px;padding-left: 7px;border: black 0.5pt solid">
<p style="text-align: center">Accessing the Data View Tasks Menu</p>
<p style="text-align: center">Before</p>
</td>
<td style="padding-right: 7px;padding-left: 7px">
<p style="text-align: center">Accessing the Data View Tasks Menu</p>
<p style="text-align: center">After</p>
</td>
</tr>
<tr>
<td style="padding-right: 7px;padding-left: 7px" valign="middle">
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss33.png" alt="" /></p>
</td>
<td style="padding-right: 7px;padding-left: 7px" valign="middle">
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss43.png" alt="" /></p>
</td>
</tr>
</tbody>
</table>
<p>I set the various defaults as follows:</p>
<ol style="margin-left: 72pt">
<li>Click the box labled &#8220;Show with sample data&#8221; — this will populate the fields with sample data. This is important, especially if you use a filter that has no current results.</li>
<li>Set the the Data View Preview to hide all filters. Otherwise, if you filter out all the results, you have no current results.</li>
<li>The &#8220;Sort and Group&#8221; option lets you pick sort fields, and select to group on a certain field of set of fields. This is also where you set the expanding/contracting header groupings.</li>
<li>Notice the menu item labeled &#8220;Parameters.&#8221; This is where we set up the dynamic variable that pulls in the LOGON_USER.</li>
<li>Finally, we&#8217;re going to tweak the first parameter, the one labled &#8220;Filter.&#8221; This is where the magic happens.</li>
</ol>
<p>Now we&#8217;re ready for the filter.</p>
<p>First we need to set up a &#8220;parameter&#8221; — click the menu item on the &#8220;Common Tasks&#8221; menu (above) labeled &#8220;Parameters.&#8221; You should see the following window:</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss53.png" alt="" /></p>
<p>We&#8217;re going to set up a parameter called &#8220;LogonUser&#8221; with the following attributes:</p>
<ul>
<li>Name:     LogonUser</li>
<li>Parameter Source:    Server Variable</li>
<li>Server Variable name:    Logon_User</li>
</ul>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss63.png" alt="" /></p>
<p>When you&#8217;re done, it should look like the screen above. What this gets us is a dynamic parameter we can use elsewhere in the DVWP. It contains the full Windows Logon_User string, in the form &#8220;Domain\Logon_User.&#8221;</p>
<p>Next we&#8217;re going to turn it into something we can use by stripping off the domain and the slash (\) and converting it all to upper case. We do this right in the filter statement.</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss73.png" alt="" /></p>
<p>As shown above, from the &#8220;Common Data View Tasks&#8221; list, click the &#8220;Filter&#8221; menu option. It&#8217;s the first one on the list. You should see the &#8220;Filter Criteria&#8221; dialog box. It&#8217;s probably blank, and looks much like this:</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss83.png" alt="" /></p>
<p>Note the little check box at the bottom of the window. This is where we add the filter magic. Check the box, and then click the button to edit the XSLT filtering. Ignore the birght yellow warning that says: &#8221;Using XSLT Filtering can reduce performance.&#8221; This is just a typical &#8220;If-you-do-this-your-naughty-bits-might-just-fall-off&#8221; warning. I just ignored it. Nothing fell off yet.</p>
<p>Finally we get to the filter – shown below in all its glory! Yep, that&#8217;s it. That whole line of gobbledygook. I&#8217;ll explain what it does, working from the inside out. (And quit your squinting – I put the final formula below so you can just copy and paste it into your DVWP.)</p>
<p style="text-align: center"><img src="http://digitaldiner.org/files/2007/08/081607-1752-funwithmoss93.png" alt="" /></p>
<p><span style="text-decoration: underline">Constructing the Filter (from the inside out):<br />
</span></p>
<p>In the examples below, I show variables and formula in <span style="color: #1f497d">blue</span>, and the current value of that statement in <span style="color: #c0504d">reddish</span> brown. We start first in the center of the gobbledygook, with the $LogonUser parameter.</p>
<p style="margin-left: 72pt;text-align: center"><strong><span style="color: #1f497d">$LogonUser = </span><span style="color: #c0504d">Domain\JSmith<br />
</span></strong></p>
<p>In the center of the expression is the parameter we created, called LogonUser, only now it is prefaced by a &#8220;$,&#8221; indicating that it is a parameter. This evaluates as the string &#8220;Domain\JSmith&#8221;</p>
<p style="margin-left: 72pt;text-align: center"><strong><span style="color: #1f497d">(Substring-After(&#8220;Domain\JSmith&#8221;,&#8221;\&#8221;) = </span><span style="color: #c0504d">JSmith</span><span style="color: #1f497d"><br />
</span></strong></p>
<p>Surrounding the LogonUser parameter is a function to extract a substring from the parameter, using the &#8220;\&#8221; as the starting place in the string. The function extracts all the text following the &#8220;\&#8221;. We now have a parameter with just the name, e.g., JSmith.</p>
<p style="text-align: center"><strong><span style="color: #1f497d">Translate(JSmith&#8217;),&#8217;abcdefghijklmnopqrstuvwxyz&#8217;,'ABCDEFGHIJKLMNOPQRSTUVWXYZ&#8217;) = </span><span style="color: #c0504d">JSMITH</span><span style="color: #1f497d"><br />
</span></strong></p>
<p>Now that we have the logon_user name handy, we have to convert it to upper case. XSLT is really clumsy here. Instead of a simple &#8220;UCase&#8221; statement or some such, we have to use a &#8220;Translate&#8221; function to convert every occurrence of a lower case letter to an upper case letter. Luckily I only need to do this once, and now I&#8217;ll just cut and paste it.</p>
<p style="text-align: center"><strong><span style="color: #1f497d">@Staff_ID = </span><span style="color: #c0504d">JSMITH<br />
</span></strong></p>
<p>Finally, we can use an &#8220;Equals&#8221; operator to compare the variable @Staff_ID (pulled from the data source, to the LogonUser parameter we&#8217;ve constructed (or deconstructed, as the case may be).</p>
<p>The full statement is shown below: (note I&#8217;ve broken the line into two for display purposes). The brackets and everything else is important.</p>
<p style="text-align: center"><span style="color: #1f497d"><strong>[@Staff_ID = Translate(Substring-After($LogonUser,'\'), 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')]<br />
</strong></span></p>
<p>That&#8217;s it. If you run Gifts, for example, and use the same format for STAFFID, you should be able to take this stuff verbatim and drop it into any part you set up.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldiner.org/2007/08/16/fun-with-moss-%e2%80%93-data-views-and-custom-filters/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
