<?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>Nick Chase, Private Programmer</title>
	<atom:link href="http://nicholaschase.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nicholaschase.com</link>
	<description>Making the difficult easier since  the turn of the century</description>
	<lastBuildDate>Wed, 01 Feb 2012 14:27:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>It&#8217;s good to be old</title>
		<link>http://nicholaschase.com/2012/02/01/its-good-to-be-old/</link>
		<comments>http://nicholaschase.com/2012/02/01/its-good-to-be-old/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 14:19:36 +0000</pubDate>
		<dc:creator>Nick Chase</dc:creator>
				<category><![CDATA[Programming tips]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1589</guid>
		<description><![CDATA[There was a time &#8212; not that long ago, really &#8212; when I was the up-and-coming kid in the office. I was young, I was hip, I was on top of everything new. I was the one who, in 1995, went to the people running the interactive agency where I was working and said, &#8220;You [...]]]></description>
			<content:encoded><![CDATA[<p>There was a time &#8212; not that long ago, really &#8212; when I was the up-and-coming kid in the office.  I was young, I was hip, I was on top of everything new.  I was the one who, in 1995, went to the people running the interactive agency where I was working and said, &#8220;You know, guys, we really should start looking into building websites for people.  It&#8217;s going to be big.&#8221;</p>
<p>Now I find myself working with people who weren&#8217;t even born yet when Star Wars was in the theaters.  Heck, they were in diapers when the web was born.</p>
<p>At the ripe old age of 43, I find myself feeling like the grand old man.</p>
<p>Not that I&#8217;m not still on top of things, always chasing the latest technology wave.  (OK, I admit it, I hate texting.  But that&#8217;s just because &#8230; well, honestly, I&#8217;m not sure why it is.  Maybe I&#8217;m just anti-social.)</p>
<p>So this past week, as I was trying to solve a problem in creating eBooks that would be &#8220;cross-platform&#8221; &#8212; meaning a single <a href="http://en.wikipedia.org/wiki/EPUB" target="_blank">ePub</a> (the format used by iBooks) that would convert to a reasonable <a href="http://en.wikipedia.org/wiki/.mobi" target="_blank">.mobi</a>, if you&#8217;re interested &#8212; I was glad to find that for once, my age was an asset.</p>
<p>Turns out that the Mobi format, which is used for Kindles, is based on old &#8212; and I mean O-L-D &#8212; HTML standards.  Like, pre-HTML4 stuff.  No CSS (for the most part), no nothing.  So while Apple is pushing ePub3, which lets you create all kinds of interactive eBooks, I was dealing with a format that doesn&#8217;t even let you use an image as a link.</p>
<p>At this point, I have seen many younger programmers give up.  &#8220;Sorry, can&#8217;t do it,&#8221; they say.  It&#8217;s a phrase I hear all the time, and it&#8217;s starting to get on my nerves.  Sure, there are times when you can&#8217;t do something.  Some things are just impossible.  (Like getting around full justification in iBooks, if the user has it turned on.  Grrrrrrr.)</p>
<p>But I don&#8217;t, in general, give up that easy.  So here is a technique for displaying a text link in a Mobi file, while the ePub displays an image link.</p>
<p>The situation is this:  I&#8217;m programmatically generating an ePub, which is then run through <a href="http://calibre-ebook.com/" target="_blank">Calibre</a> to create a Mobi file.  The relevant HTML looks like this:</p>
<pre>&lt;a class="indexTopLink" href="index.html#top"&gt;
   &lt;img class="indexTop" width="100" height="0" src="backToTop.png"/&gt;
&lt;/a&gt;
&lt;a class="textTopLink" href="index.html#top"&gt;top&lt;/a&gt;</pre>
<p>So you&#8217;ve got two links in the HTML.  The <code>height</code> attribute on the arrow image &#8212; yes, Virginia, we used to actually set height and width on the actual image, back when dinosaurs roamed the earth &#8212; tells the Mobi reader to render the image with a height of 0, so it&#8217;s invisible, but the <code>width</code> attribute makes it wide enough to provide some spacing.  Then the Mobi reader displays the text link, which actually works.</p>
<p>Now we deal with the ePub.  We add some CSS:</p>
<pre>.indexTop {
   height: 24px;
   width: 100px;
}
.textTopLink {
   position: relative;
   left: -9990px;
}</pre>
<p>The first rule tells the ePub reader to over-ride the image attributes and display the image at the correct size, so it&#8217;s visible.  The second tells it to move the text link over to the left so that it&#8217;s not.</p>
<p>Because the Mobi reader ignores the <code>class</code> attribute these rules are ignored, so we have an image link for ePub, and a text link for the Mobi.</p>
<p>And all with techniques that fell out of favor long before a lot of today&#8217;s web programmers even started college.</p>
<p>It&#8217;s good to be the grand old man.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2012/02/01/its-good-to-be-old/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Success&#8221; is a relative term</title>
		<link>http://nicholaschase.com/2011/12/31/success-is-a-relative-term/</link>
		<comments>http://nicholaschase.com/2011/12/31/success-is-a-relative-term/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 15:27:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1577</guid>
		<description><![CDATA[OK, so right about this time last year, I was announcing the Year of Living Socially, in which I was planning to: #1 — Really focus on just three content areas I think are important. They are cloud computing and social media, which I believe will be big in 2012, and intelligent search, which I’ve [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so right about this time last year, I was announcing the <a target='_blank' href="http://nicholaschase.com/2010/12/31/embarking-on-the-year-of-living-socially/">Year of Living Socially</a>, in which I was planning to:</p>
<blockquote><p>#1 — Really focus on just three content areas I think are important. They are cloud computing and social media, which I believe will be big in 2012, and intelligent search, which I’ve been championing in one way or another for a long, long time. (I’ll get more into exactly how I define each of those topics in future posts.)</p>
<p>#2 — Finally build a project I’ve been kicking around for years: an information aggregator that tames the information overload that gets worse every year. (The project has yet to be named, but I’ll talk about what it actually does — and solicit feedback and priorities — in a future post.) I will build this out in public, with deadlines anybody can see. I probably won’t open-source the code itself, but I will likely write articles and tutorials about the different technologies I use as I go along.</p>
<p>#3 — Implement best practices for using social media, including regular postings to Twitter and either LinkedIn, Facebook, or both. (I’ll do the analysis in a future post.)</p></blockquote>
<p>I did set some ground rules, though.  In doing that, I would also have to keep these things in mind:</p>
<blockquote><p>First and foremost, client work can’t suffer; I’m a professional and if you’re paying me to do something, you take top priority. (Plus I have a family and they can’t suffer, so this will also have to be ‘the year of living within time management best practices’.)</p>
<p>Second, I’ll be using open-source and publicly available software, preferably cloud-based, unless there’s a good reason not to for a particular task, which will be a discussion in and of itself.</p>
<p>Third, all decisions, from what software development methodology to what search solution to use, will be made “in public”, so to speak, with analysis and conclusions out there for everyone to see.</p></blockquote>
<p>So the big question is, how did I do?</p>
<p>Well, from the outside, it looks very much like the answer is &#8220;not too well&#8221;, but it&#8217;s actually not as bad as it looks.</p>
<p>#1 &#8212; I was right about cloud, social, and search being on the rise, and I did actually focus on those three technologies in 2011.  About 2/3 of the work I did involved either search or social media, and just about everything was cloud-related in one way or another (if you&#8217;re really generous in your definition of &#8220;cloud&#8221;.)  Unfortunately, most of that was client work that I couldn&#8217;t post here.</p>
<p>#2 &#8212; I did actually build the project, NoTooMi, and quietly launch a first beta of it.  Unfortunately, it was built on a product that has subsequently changed its architecture (I knew that was a risk when I built it) so I need to rebuild a few parts of it before I can relauch.  Also, while it does integrate Twitter, I haven&#8217;t yet finished Facebook integration, so it looks a little anemic right now.  I&#8217;m hoping to have a public version up in the next couple of weeks.</p>
<p>#3 &#8212; OK, I&#8217;ll admit it, I definitely fell down on the job here as far as regular postings to Twitter and Facebook.   (I did get my LinkedIn profile filled out enough that I picked up a client from it, however.)It&#8217;s my personality; I don&#8217;t like to talk unless I have something to say, and I get a little weirded out about whether people want to actually hear it.  I promise to try and loosen up in 2012. </p>
<p>And what about the requirements?  How did I do there?</p>
<p>#1 &#8212; Well, giving client work the priority definitely worked.  There was not one instance all year in which client work suffered because of this project.  If anything, it&#8217;s the opposite; I&#8217;ve been so busy with client work this year that I haven&#8217;t had time to do what I wanted on NoTooMi.  (I even got my <a href="http://www.intersectionunlimited.com" target="_blank">corporate website</a> redesigned and rewritten.)</p>
<p>And on the personal front, I&#8217;m happy to say that while my last remaining children at home drive me nuts at times (which is, I suppose, their job) my marriage is better than ever, and after all these years, that&#8217;s saying something, especially since we spent November opening Sarah&#8217;s gift shop to try and beat the Christmas rush.  (Website to come shortly; we barely got the doors open in time.)  (Oh, and for you Doctor Who fanfic fans, Sarah and I were finally were able to launch a <a href="http://www.fanfiction.net/s/6881892/1/The_Long_Road_Home">huge and ambitious story</a> I&#8217;ve wanted to write for a couple of years.  When it&#8217;s done we&#8217;re going to tackle a novel.  Seriously.)</p>
<p>#2 &#8212; NoTooMi is based on Apache Solr, so in that respect, yes, it&#8217;s based on open source.  And the service that I built it on was indeed cloud-based.  And it worked pretty well, too, but now it looks like I&#8217;m going to bring it back to pure Solr.  But I admit that thanks to client requirements on something else I have been seduced by <a target="_blank" href="http://www.jetbrains.com/idea/">IntelliJ</a> and have been using it instead of <a href="http://www.eclipse.org" target="_blank">Eclipse</a> as my programming environment.  Sorry guys.</p>
<p>and #3 &#8230; Well, yeah, not so much.  Sorry about that.  See #1.</p>
<p>So where do we go from here?  Well, first, I&#8217;m going to try and get out of my head a little bit and not worry so much about whether I&#8217;m boring people.  If I find it interesting, I&#8217;ll post it.  I would like to think that there are people out there who are interested by the same things I&#8217;m interested by.</p>
<p>And I am also going to try and obsess a little less about what I do write.  One piece of advice I got from a book about blogging was to do short tips &#8212; and to get good at just banging them out.   I learn about a ton of different little things over the course of a year.  Not every post about them has to be a tutorial.  Just a quick tip will do.  Really.  (Nick takes a deep breath&#8230;.)</p>
<p>As far as technologies, &#8220;cloud&#8221; is still a great buzzword, but I think that it&#8217;s pretty well established at this point, as least as far as I&#8217;m concerned, so I&#8217;m going to start focusing on mobile, which is where I think the bulk of innovation will be in the next couple of years.  I spent the last couple of weeks really delving into eBooks as a prelude to app-building (tips, I know, tips!), so I&#8217;m hoping to have something to show for mobile in 2012.</p>
<p>OK, so those are my goals for 2012.  As for measurable objectives:</p>
<ol>
<li>Post something, somewhere, once a week.</li>
<li>Get my new office at the store furnished and ready for receiving clients. (It&#8217;s cool, there&#8217;s a separate room and a back entrance just for me.)</li>
<li>Launch a private beta of NoTooMi before March 1.</li>
<li>Go to public beta before July 1.</li>
<li>Finish the Doctor Who arc we&#8217;ve been working on, and start planning a novel.</li>
<li>Publish at least one &#8220;pay to download this&#8221; item, whether it&#8217;s a mobile app or a <a target="_blank" href="http://mashable.com/2011/12/30/kindle-singles-dick-babcock/?utm_source=feedburner&amp;utm_medium=email&amp;utm_campaign=Feed%3A+Mashable+%28Mashable%29">Kindle Single</a>, even if it&#8217;s also available here for free.</li>
</ol>
<p>So that&#8217;s where I am today.  How did you do on your goals for 2011, and what are you planning for 2012?</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/12/31/success-is-a-relative-term/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Case Study In Social Media Customer Service Done Right:  Enterprise Rent-A-Car</title>
		<link>http://nicholaschase.com/2011/04/18/a-case-study-in-social-media-customer-service-done-right-enterprise-rent-a-car/</link>
		<comments>http://nicholaschase.com/2011/04/18/a-case-study-in-social-media-customer-service-done-right-enterprise-rent-a-car/#comments</comments>
		<pubDate>Mon, 18 Apr 2011 18:30:52 +0000</pubDate>
		<dc:creator>Nick Chase</dc:creator>
				<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1558</guid>
		<description><![CDATA[It&#8217;s nice to hear about social media case studies, but maybe it&#8217;s even better to experience one first-hand. This past Saturday, on the freeway about an hour from home, my transmission quit. After coasting about an mile and a half to an exit, I called AAA, and they made arrangements for me to speak with [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s nice to hear about social media case studies, but maybe it&#8217;s even better to experience one first-hand.</p>
<p>This past Saturday, on the freeway about an hour from home, my transmission quit.  After coasting about an mile and a half to an exit, I called AAA, and they made arrangements for me to speak with Enterprise Rent-A-Car about getting transportation while my van was in the shop.  Because it was Saturday afternoon, none of the local offices were open, so I wound up making a reservation at the airport.</p>
<p>Two problems there.  The first was immediately obvious: Enterprise&#8217;s slogan, &#8220;We&#8217;ll pick you up&#8221;, only applies to the local offices, so I had to get someone to drive me to the airport.  OK, I understood that.  But when I got to the airport, I discovered the second problem: the airport locations won&#8217;t rent on a debit card unless you&#8217;re flying in and out.  The agent was apologetic, but there was nothing he could do.</p>
<p>Fortunately my sister-in-law had waited with us.  &#8216;No problem,&#8217; I thought.  &#8216;We&#8217;ll go home, and I&#8217;ll call my local office and get a ride on Monday morning.&#8217;  I&#8217;ve rented with Enterprise dozens of times; because I&#8217;m the only driver in the house, &#8220;We&#8217;ll pick you up&#8221; makes them my rental agency of choice.</p>
<p>Unfortunately, when I went to book that car for this morning, I was horrified to see that there were no cars available at the two closest offices.  The nearest office with a car was 25 minutes away, and I was definitely out of their territorial range.</p>
<p>And that&#8217;s where social media comes in.  Frustrated, I <a href="http://twitter.com/#!/NickChase/status/59772341433020417" target="_blank">tweeted</a>:</p>
<blockquote><p>The one downside of living in the country is that when your car breaks down, you pray Enterprise has a car. Naturally, they don&#8217;t. Sigh.</p></blockquote>
<p>A few minutes later, I found the following @mention from <a title="Enterprise Rent-A-Car" href="http://twitter.com/#!/enterprisecares" target="_blank">@enterprisecares</a>:</p>
<blockquote><p><a title="Nicholas Chase" href="http://twitter.com/NickChase" target="_blank">@NickChase</a> We are listening. Is there anything we can help with? If yes, please tweet/follow us &amp; I&#8217;ll DM our contact information (amanda)</p></blockquote>
<p>Surprised, I did as they asked, and, receiving the customer care email address, explained the situation to them.  By this time I&#8217;d made a reservation at the distant location (hoping I could find someone to take me down there), and Amanda told me she&#8217;d email over there and make sure they did everything they could to help.</p>
<p>And that&#8217;s exactly what they did.  This morning I called, and true to her word, Amanda (or someone) had let the office know my situation.  &#8220;Mister Chase, we are going to do whatever it takes to get you going here today,&#8221; Paula said.  &#8220;What time do you have to have the car by?&#8221;</p>
<p>Turns out that cars were in short supply because of hail damage here in North and South Carolina, and that was why my local office was sold out.  But not only did they find me a car, they did indeed come and pick me up, and I was able to do everything I needed to do today.</p>
<p>And I&#8217;m very glad, because I like Enterprise, and didn&#8217;t like feeling badly about using them.</p>
<p>So the moral of the story is this:  Pay attention to what&#8217;s being said about you.  Because Enterprise Rent-A-Car spent the resources to monitor social media, they were able to turn a frustrated (and vocal) customer from a source of negative sentiment to a champion of their brand.</p>
<p>What are you doing to monitor what&#8217;s being said about you?</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/04/18/a-case-study-in-social-media-customer-service-done-right-enterprise-rent-a-car/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The curse of a busy schedule</title>
		<link>http://nicholaschase.com/2011/02/20/the-curse-of-a-busy-schedule/</link>
		<comments>http://nicholaschase.com/2011/02/20/the-curse-of-a-busy-schedule/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 23:54:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1554</guid>
		<description><![CDATA[Twenty years or so ago, I was working a full-time job and running an online science fiction magazine. At the same time, I got a new puppy, who constantly needed to go out, in the winter, in Ohio. Eventually, I got pneumonia, and had to slow down for a couple of weeks. This time it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Twenty years or so ago, I was working a full-time job and running an online science fiction magazine.  At the same time, I got a new puppy, who constantly needed to go out, in the winter, in Ohio.  Eventually, I got pneumonia, and had to slow down for a couple of weeks.</p>
<p>This time it&#8217;s three clients, NoTooMi, the Year of Living Socially, and a new cat (whom I love, but to whom I&#8217;m seriously allergic) but the results are the same; I&#8217;ve been down with pneumonia, but I&#8217;m just about back in business, so please forgive me for the break in posting.</p>
<p>I&#8217;ve actually accomplished a lot since February 5; more to come as I write things up into postings, and NoTooMi starts showing its head.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/02/20/the-curse-of-a-busy-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to UML2 Component Diagrams:  NoTooMi overall system design</title>
		<link>http://nicholaschase.com/2011/02/05/introduction-to-uml2-component-diagrams-notoomi-overall-system-design/</link>
		<comments>http://nicholaschase.com/2011/02/05/introduction-to-uml2-component-diagrams-notoomi-overall-system-design/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 02:20:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[NoTooMi]]></category>
		<category><![CDATA[Year of Living Socially]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1533</guid>
		<description><![CDATA[The first thing we need to do before we do any building of anything for NoTooMi is the design &#8212; and I don&#8217;t mean how it looks &#8211;  so let&#8217;s do that. That means that today we&#8217;re going to talk about UML Component Diagrams. The Unified Modeling Language (UML) was designed to create a sort [...]]]></description>
			<content:encoded><![CDATA[<p>The first thing we need to do before we do any building of anything for <a href="http://notoomi.com" target="_blank">NoTooMi</a> is the design &#8212; and I don&#8217;t mean how it looks &#8211;  so let&#8217;s do that.  That means that today we&#8217;re going to talk about <a href="http://en.wikipedia.org/wiki/Component_diagram" target="_blank">UML Component Diagrams</a>.</p>
<p>The <a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language" target="_blank">Unified Modeling Language (UML)</a> was designed to create a sort of &#8220;common vocabulary&#8221; that programmers and engineers could use to document their systems, as well as the business processes behind them.  (There are also tools that will go back and forth between the diagrams and working code, but for the moment, at least, we&#8217;re going to stick with the diagrams themselves.) The current version, UML 2.1.2, defines thirteen types of diagrams, organized into two main types:</p>
<p><strong>Structure diagrams:</strong> These diagrams take a static look at the system, or at pieces of the system.  Class and component diagrams fall into this category.<br />
<strong>Behavior diagrams: </strong>These diagrams look at how pieces of a system operate.  For example, use case and activity diagrams fall into this category.  This category gets further broken down into interaction diagrams.</p>
<p>For the moment, we&#8217;re going to start simply, and look at component diagrams, in order to get an overall look at how <a href="http://notoomi.com" target="_blank">NoTooMi</a> is going to work.  This post won&#8217;t teach you everything you need to know about UML, but it will give you enough of a head start on component diagrams that if you ever need to read one, you&#8217;ll have some decent footing.</p>
<p><span></span></p>
<h2>What is a component?</h2>
<p>There&#8217;s a lot of potential for confusion when we start talking about &#8220;components&#8221;.  Do we mean a COM object?  A particular piece of software?  A piece of hardware?  No, in UML, a &#8220;component&#8221; is a logical construct that basically means a self-contained bit of functionality that can be pulled out and replaced without rewriting the rest of the software.</p>
<p>For example, I recently wrote a system that, as a small part of what it does, takes a directory in an SVN repository, processes the files, and drops the processed files into another directory to be displayed by another process.  The way I built it, each one of those processes were independent of each other; if we want to go to Git instead of SVN, we can do that without affecting the code that processes the files or displays the results.  Similarly, we can completely change how the files are processed without affecting storage or the display, and so on.</p>
<p>So a UML 2 &#8220;component&#8221; is a unit of self-contained functionality.</p>
<h2>UML 2 Component Notation</h2>
<p>The actual component notation is pretty straightforward, even if larger diagrams can get complicated.  For example, the main bit of business to deal with in this first sprint is to index Twitter content in the search engine, then display the results on command.  If we generalize &#8220;Twitter&#8221; to &#8220;some information item source&#8221; &#8212; after all, we know we&#8217;re going to have different types of information &#8212; we wind up with a simple diagram like this:</p>
<p><img style="width: 575px" src="/wp-content/images/simple_sm.png" alt="" /></p>
<p>As you can see, we have two boxes, <code>Search Index</code> and <code>Item Source</code>, that represent components.  We know this because they have the component symbol in the upper left-hand corner.  (There are other ways to note this in UML, but we&#8217;ll talk about that later, when we do class diagrams.)</p>
<p>Each one of these diagrams has two items coming from it.  The round one, known as a &#8220;lolipop&#8221;, represents interfaces that are provided by the component.  Note that when I say &#8220;interface&#8221; here, I mean it in the classic sense of &#8220;a way to interact with this component&#8221;, as opposed to the object-oriented sense of a template that classes implement.  So the <code>Search Index</code> component provides a way to <code>GetItems </code>that have been indexed.</p>
<p>The second item is called a &#8220;socket&#8221; and represents interfaces that the component needs, and that need to be provided by other components.  So in this case, we can see that the <code>Search Index</code> component needs the <code>ItemAddition</code> interface of another component.  That interface is provided by the <code>Item Source</code> component, which itself needs the <code>ScheduleRetrieval</code> interface of another component, so it knows when to retrieve items to feed to the <code>Search Index</code>.</p>
<p>Finally, we need to &#8220;wire the components together&#8221;.  As you can see, we have a dashed arrow that represents a &#8220;dependency relationship&#8221; in UML, and shows that the <code>Search Index</code> requires the <code>Item Source</code>.</p>
<p>Pretty straightforward.  Now let&#8217;s see how it applies to the overall NoTooMi system.</p>
<h2>The NoTooMi Component Diagram</h2>
<p>Now that we&#8217;ve got the basics down, let&#8217;s look at the design for NoTooMi.  The diagram works out like this:</p>
<p><a href="/wp-content/images/systemUML.png" target="_blank"><img style="width: 575px" src="/wp-content/images/systemUML_sm.png" alt="" /></a></p>
<p>Now, that&#8217;s a bit more complicated, but the general concepts are the same.  We still have the <code>Search Index</code>, which is still requiring the <code>ItemAddition</code> interface from item sources.  In this diagram, however, we&#8217;re seeing the more specific sources, <code>Twitter</code>, <code>Email</code>, and so on.  (For you object oriented programmers out there, <code>ItemSource</code> was the interface, <code>Twitter</code> is the class.  We&#8217;ll go into all of that in more detail when we do class diagrams.)  As you can see, we&#8217;re also showing the more specific names for the interface provided by each component.  You&#8217;ll also notice that our item sources have more than one interface specified as required.</p>
<p>OK, so let&#8217;s get to the specifics.</p>
<ol>
<li>We have a <code>Search Index</code>, which in this case will be some variant of Apache Solr.</li>
<li>We&#8217;ll be indexing Tweets by using the Twitter Streams API, saving tweets to a file, then indexing the file on a regular schedule, which will (if all goes well) be specified by that particular variant of Apache Solr that I think we&#8217;ll be using.</li>
<li>For emails, same thing; the system will pull emails from the server into POP accounts, then index the POP accounts and delete the messages.</li>
<li>Ditto for RSS feeds; we&#8217;ll pull them, write them, index them, then delete them.</li>
<li>For each of those sources, we&#8217;ll take the appropriate information and store it in <code>User Storage</code> using the <code>User Management</code> component.</li>
</ol>
<p>Now, I want to say a word to all those system engineers out there who are saying, &#8220;why are you storing all that on disk instead of indexing it directly?  Solr can do that, you don&#8217;t need the extra step and resources.&#8221;  In the end, you may very well be right about that, but my philosophy is to decouple these components as much as possible; if the Search Index slows down for some reason, I don&#8217;t want tweets backing up, causing us to have to drop the connection, restart, etc.  And again, remember; I should be able to pop one of these components out and pop in a replacement without too much trouble.</p>
<p>As for the overall system, I&#8217;ve decided, at least for the moment, to build this on the Grails framework.  As a general rule, I&#8217;m really not a fan of frameworks &#8212; the reasons are a topic for another time &#8212; but it seems, at least on the surface, to offer some benefits, which I&#8217;ll detail in another post.</p>
<h2>Next Steps</h2>
<p>So now we&#8217;ve created a UML component diagram that specifies the basic pieces of the <a href="http://notoomi.com" target="_blank">NoTooMi</a> system, showing what they provide, and what they need.  We&#8217;ve covered the basic notation, including the component icon, the lolipop and socket notations, and the use of the dependency connector.</p>
<p>For more information on UML Component Diagrams, check out the following resources.</p>
<p><a href="http://www.ibm.com/developerworks/rational/library/dec04/bell/" target="_blank">UML basics: The component diagram</a></p>
<p><a href="http://www.agilemodeling.com/artifacts/componentDiagram.htm" target="_blank">UML 2 Component Diagrams</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/02/05/introduction-to-uml2-component-diagrams-notoomi-overall-system-design/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Scrum and the single developer</title>
		<link>http://nicholaschase.com/2011/02/02/scrum-and-the-single-developer/</link>
		<comments>http://nicholaschase.com/2011/02/02/scrum-and-the-single-developer/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 02:39:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[NoTooMi]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Year of Living Socially]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1434</guid>
		<description><![CDATA[As I mentioned in a previous post, I&#8217;ve decided to use the Agile methodology Scrum for the NoTooMi project. It&#8217;s lightweight, and still enables me to do the design I need, without having to resort to tons of extra documentation just to keep with an arbitrary methodology. So the question remains, what is Scrum? I [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in a previous post, I&#8217;ve <a href="http://nicholaschase.com/2011/01/31/making-a-plan-and-choosing-a-methodology/" target="_blank">decided to use the Agile methodology Scrum</a> for the <a href="http://notoomi.com" target="_blank">NoTooMi</a> project.</p>
<p>It&#8217;s lightweight, and still enables me to do the design I need, without having to resort to tons of extra documentation just to keep with an arbitrary methodology.  So the question remains, what is <a href="http://en.wikipedia.org/wiki/Scrum_%28development%29" target="_blank">Scrum</a>?</p>
<p>I can&#8217;t possibly explain it any better than Hamid Shojaee:</p>
<p><object classid="d27cdb6e-ae6d-11cf-96b8-444553540000" width="575" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/Q5k7a9YEoUI?fs=1&amp;hl=en_US&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed width="575" height="348" src="http://www.youtube-nocookie.com/v/Q5k7a9YEoUI?fs=1&amp;hl=en_US&amp;hd=1"></embed></object><br />
Scrum in Under 10 Minutes</p>
<p>So how does a single developer make use of Scrum?  One way is to use tools such as <a href="http://www.google.com/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBsQFjAA&amp;url=http%3A%2F%2Fwww.axosoft.com%2F&amp;rct=j&amp;q=axosoft%20ontime&amp;ei=4MFITZKuMYSKlwfZhpSbBA&amp;usg=AFQjCNGGB-LxQkeR28QSaA9e7EkkdSmxxg&amp;sig2=8tM3f-BYrxeNvhhPsGn79w&amp;cad=rja" target="_blank">AxoSoft OnTime</a>.  (There&#8217;s a free download, but for reasons that are undoubtedly local to my system, I wasn&#8217;t able to install it.)  In fact, in accordance with the spirit of this project, I should be using one of the web-based tools for Scrum management, such as:</p>
<p><a href="http://nigro.vot.pl/Scrumie/" target="_blank">Scrumie</a><br />
<a href="https://kanbanery.com">Kanbanery</a></p>
<p>But what I found is two things:</p>
<p><span></span>1)  I couldn&#8217;t find a tool I liked that gave me everything I needed and still provided public access<br />
2)  I didn&#8217;t want to spend time learning a new tool when I could do it the old fashioned way, with sticky notes.</p>
<p>So I&#8217;m afraid we&#8217;re on to sticky notes, at least until things get too big to manage that way.  So I start by writing down every use-case I can think of that will be involved in creating NoTooMi.  Each one goes on a sticky note, along with an estimate of how many hours I think it will take.</p>
<p>I can then put all the sticky notes on the &#8220;Project Board&#8221;, which is one wall behind my desk.  This is the Project Backlog:</p>
<p><img src="/wp-content/images/project_sm.JPG" alt="" /></p>
<p>Then I define the first sprint.  In this case, it&#8217;s &#8220;Initial release of simple Twitter client.&#8221;  I then move all the tasks that are involved in getting to that point to the &#8220;Sprint board&#8221;, which is the wall next to my desk:</p>
<p><a href="/wp-content/images/sprint.jpg" target="_blank"><img src="/wp-content/images/sprint_sm.JPG" alt="" /></a></p>
<p>So then I&#8217;ve got a total for the Project and the Sprint:</p>
<p><img src="/wp-content/images/total.JPG" alt="" /></p>
<p>Once I&#8217;ve been working on this for a while, I will revise my estimates of what&#8217;s left, and create the burndown chart, which will give us an estimate of when the sprint will be finished.  On a normal project, we&#8217;d do this every day, but since I&#8217;m not working on the project every day, this will just have to be one of those adaptations I&#8217;ll have to make.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/02/02/scrum-and-the-single-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding Google Analytics to WordPress</title>
		<link>http://nicholaschase.com/2011/02/01/adding-google-analytics-to-wordpress/</link>
		<comments>http://nicholaschase.com/2011/02/01/adding-google-analytics-to-wordpress/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 15:19:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Year of Living Socially]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1297</guid>
		<description><![CDATA[One metric that I know we&#8217;re going to need even before I do any analysis is web analytics. Those are the statistics that tell me how many people are coming to the web site, what they&#8217;re looking at, where they&#8217;re coming from, and so on. OK, I&#8217;ll confess: analysis or not, I want to know [...]]]></description>
			<content:encoded><![CDATA[<p>One metric that I know we&#8217;re going to need even before I do any analysis is web analytics.  Those are the statistics that tell me how many people are coming to the web site, what they&#8217;re looking at, where they&#8217;re coming from, and so on. </p>
<p>OK, I&#8217;ll confess: analysis or not, I <strong>want</strong> to know those things.  Let&#8217;s face it, everybody does.</p>
<p>So while I will do some analysis to find out what the best package is going to be, while I get to that point I want <strong>something</strong> in place, even if it&#8217;s just so that I have statistics stretching back to the start of the project. </p>
<p>With that in mind, I went ahead and added Google Analytics to NCPP, because:
<ul>
<li>I know how it works</li>
<li>It provides pretty good (and detailed) results</li>
<li>It&#8217;s free</li>
</ul>
<p>Adding Google Analytics to a WordPress site is pretty straightforward, and consists of three steps:<br />
<span></span>
<ol>
<li>Sign up for a Google account (we did this in Signing up for a Gmail account)</li>
<li>Get the tracking code</li>
<li>Add the tracking code to your theme files</li>
</ol>
<h4>Activate your Google Analytics account</h4>
<p>To get the tracking code, you&#8217;ll first need to activate Google Analytics on your Google Account.  Go to the <a href="http://www.google.com/analytics" target="_blank">Google Analytics</a> site and click the big Access Analytics button in the upper-right-hand corner.  </p>
<p><a href="http://nicholaschase.com/wp-content/uploads/2011/01/analytics0.png"><img src="http://nicholaschase.com/wp-content/uploads/2011/01/analytics0.png" alt="" width="575" /></a></p>
<p>From there you&#8217;ll need to log in to your Google account, then click the <strong>Sign Up &gt;&gt;</strong> button in the lower-left-hand corner.</p>
<p><a href="http://nicholaschase.com/wp-content/uploads/2011/01/analytics3b.png"><img src="http://nicholaschase.com/wp-content/uploads/2011/01/analytics3b.png" alt="You need to speciify site information" width="575" /></a></p>
<p>Next, add your own information to create your account:</p>
<p><a href="http://nicholaschase.com/wp-content/uploads/2011/01/analytics4b.png"><img src="http://nicholaschase.com/wp-content/uploads/2011/01/analytics4b.png" alt="" width="575" /></a></p>
<p>Finally, read and agree to the user agreement.</p>
<p><a target="_blank" href="http://nicholaschase.com/wp-content/uploads/2011/01/analytics5.png"><img src="http://nicholaschase.com/wp-content/uploads/2011/01/analytics5.png" alt="" width="575" class="aligncenter size-full wp-image-1302" /></a></p>
<p>Now you&#8217;re ready to get the tracking code.</p>
<h4>Get your Google Analytics tracking code</h4>
<p>The first think you need to do is decide what you&#8217;re tracking.  Your choices are:
<ul>
<li><strong>A single domain</strong>: This is going to be the choice for most people; it&#8217;s a single domain, with multiple potential subdirectories, such as (in my case) http://nicholaschase.com, http://nicholaschase.com/blog, http;//nicholaschase.com/blog/features.</li>
<li><strong>One domain with multiple subdomains</strong>:  Subdomains are basically the first part of what most people think of a &#8220;domain name&#8221;.  For example, www.nicholaschase.com, blog.nicholaschase.com, and chaos.nicholaschase.com.</li>
<li><strong>Multiple top level domains</strong>: Top level domains are actually the last part of what people think of as a domain name.  For example, www.nicholaschase.com, www.nicholaschase.net, and www.nicholaschase.org.</li>
</ul>
<p>Because I&#8217;m dealing with a blog, and URLs look something like <code>http://nicholaschase.com/2011/01/01/post-title/</code>, I&#8217;m going to choose the first option.</p>
<p><a target="_blank" href="http://nicholaschase.com/wp-content/images/analytics6a.png"><img class="aligncenter" src="http://nicholaschase.com/wp-content/images/analytics6a.png" width="400" /></a></p>
<p>Once you&#8217;ve done that, you can highlight and copy the actual code from the pane on the right-hand side to your clipboard.</p>
<p><a target="_blank" href="http://nicholaschase.com/wp-content/images/analytics6b.png"><img class="aligncenter" src="http://nicholaschase.com/wp-content/images/analytics6b.png" width="400" /></a></p>
<p>Just to be on the safe side, go ahead and paste the code to a text editor such as Notepad, then click the <strong>Save and Finish</strong> button.</p>
<p><a target="_blank" href="http://nicholaschase.com/wp-content/images/analytics9.png"><img class="aligncenter" src="http://nicholaschase.com/wp-content/images/analytics9.png" width="575" /></a></p>
<p>This is the Google Analytics dashboard, but we won&#8217;t have anything to look at until we add the tracking code to the site.</p>
<h4>Add the Analytics Tracking Code To Wordpess</h4>
<p>Now that you&#8217;ve got the tracking code, you need to add it to all of your WordPress pages.  Fortunately, WordPress, like most content management systems, uses a &#8220;theming&#8221; system, which means that a few files are used to populate the entire site.  The good thing about that is that we can add the tracking code to the theme and it will be propagated throughout the site.</p>
<p>Chances are you looked through various themes and chose one for your site; WordPress is great about making this easy.  Fortunately, it&#8217;s also easy to edit the files that make up your theme.  To start with, log in to WordPress as an administrator and click <strong>Appearance-&gt;Editor</strong>, then click the <strong>Footer</strong> link in the right-hand column.</p>
<p><a target="_blank" href="http://nicholaschase.com/wp-content/images/analytics13.png"><img class="aligncenter" src="http://nicholaschase.com/wp-content/images/analytics13.png" width="575" /></a></p>
<p>Copy and paste the tracking code into the footer file just above the body close tag (<code>&lt;/body&gt;</code>) and click <strong>Update File</strong>.</p>
<p>Now you&#8217;ve added the tracking code to your site, but if you go back to the Analytics dashboard, you&#8217;ll see that Google doesn&#8217;t recognize it yet.</p>
<p><a target="_blank" href="http://nicholaschase.com/wp-content/images/analytics15.png"><img class="aligncenter" src="http://nicholaschase.com/wp-content/images/analytics15.png" width="400" /></a></p>
<p>Unfortunately, there&#8217;s not much you can do to speed things up, but sometime in the next 24 hours Google will index your page and find the tracking code, and the icon will turn green:</p>
<p><a target="_blank" href="http://nicholaschase.com/wp-content/images/analytics16.png"><img class="aligncenter" src="http://nicholaschase.com/wp-content/images/analytics16.png" width="400" /></a></p>
<p>So now you&#8217;re collecting data.  In a future post, we&#8217;ll talk about what that data actually means.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/02/01/adding-google-analytics-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a plan, and choosing a methodology</title>
		<link>http://nicholaschase.com/2011/01/31/making-a-plan-and-choosing-a-methodology/</link>
		<comments>http://nicholaschase.com/2011/01/31/making-a-plan-and-choosing-a-methodology/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 01:16:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Year of Living Socially]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1488</guid>
		<description><![CDATA[OK, so it&#8217;s been two weeks since I posted, and my plan to say something valuable on Facebook or Twitter every day went by the wayside about 3 days in when I realized that even with just a few quality follows I was swamped. But the turning point came when I was reading Guy Kawasaki&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so it&#8217;s been two weeks since I posted, and my plan to say something valuable on Facebook or Twitter every day went by the wayside about 3 days in when I realized that even with just a few quality follows I was swamped.  But the turning point came when I was reading Guy Kawasaki&#8217;s post about <a href="http://holykaw.alltop.com/the-art-of-the-repeat-tweet" target="_blank">The art of the repeat tweet</a>.  Basically, he posts everything 3 times, 8 hours apart, so nobody misses anything.  Excuse me?!?</p>
<p>When I was a baby, my parents took me to the pediatrician because I wouldn&#8217;t sleep.  The doctor examined me, smiled, and told them not to worry.  &#8220;He just doesn&#8217;t want to miss anything.&#8221;</p>
<p>Well, I&#8217;m all grown up and I still don&#8217;t want to miss anything.  That&#8217;s why I started this project in the first place.  The whole idea of <a href="http://notoomi.com" target="_blank">NoTooMi</a> is to make it possible to organize all that information so we don&#8217;t miss anything.</p>
<p>And the first step in all this is to choose a programming methodology.</p>
<p><span></span>Now, since it&#8217;s just me, I could certainly hack-and-slash this, but I am not going to do that.  First off, experience has shown me that it always, always comes back to bite you in the end.  And second, I&#8217;m trying to set a good example here.</p>
<p>So I went back and did an analysis of various programming methodologies, compared various methods, made a decision, posted it, and got to work.</p>
<p>I immediately realized I&#8217;d made a huge mistake, and chosen the wrong methodology.  I temporarily trashed the post while I figured out where I&#8217;d gone wrong, and what I should do instead.  So here it is again, with the benefit of hindsight.</p>
<p>&#8230; So the question becomes, what “methodology” do we use?  Turns out that we have dozens to choose from, because all you need to do to create one is to write about what you’re doing and give it a name.  So I’m really not going to go into all of them &#8212; I don’t think I could if I tried anyway.</p>
<p>The important thing to understand is that there are two basic philosophies: “waterfall”, in which everything is specified to the hilt before anybody builds anything, and “agile”, in which things are a bit more loose.</p>
<p>The waterfall method is good for every large projects in which somebody’s literally going to die if you get something wrong.  It was typified by projects from the 1970’s and 1980’s, in which you might spend two years writing the specification for the project, and by the time you were ready to code, the project was out of date.</p>
<p>Thankfully, the waterfall method has evolved over the years, and for large projects it’s usually typified by the <a href="http://www.ibm.com/developerworks/rational/library/content/03July/1000/1251/1251_bestpractices_TP026B.pdf">Rational Unified Process</a>, named for the Rational Rose tool in which the diagrams and other artifacts used by it used to be built.  (IBM now owns the Rational line.)</p>
<p>Now, if you think you’re detecting a little bit of frustration with the waterfall method, you’re right.  In fact, a lot of programmers were pretty frustrated with the way things progressed in these projects, and a meeting of 17 of them resulted in the <a href="http://agilemanifesto.org/">Agile Manifesto</a>, valuing</p>
<blockquote>
<ul>
<li>Individuals and interactions over processes and tools</li>
<li>Working software over comprehensive documentation</li>
<li>Customer collaboration over contract negotiation</li>
<li>Responding to change over following a plan</li>
</ul>
</blockquote>
<p>That’s pretty general, of course; the fact is that the manifesto is pretty much all that the participants could agree on.  So it’s probably no surprise that at this point there are lots of “Agile Methodologies”, which move away from the waterfall method to various degrees.  In general, we have a spectrum.  On one end, we have the Rational Unified Process, a thorough, deliberate process that (hopefully) results in working software in a final release after everything is completely specified, built, and tested.  Change is … well, let’s just say “difficult”.  At the other end, we have Extreme Programming (XP) a lightweight process that (hopefully) results in lots of smaller releases, but not a lot of documentation beforehand.</p>
<p>Wikipedia’s got a good look at <a href="http://en.wikipedia.org/wiki/Agile_software_development#Suitability">choosing between plan-driven and agile programming methodologies</a>:</p>
<blockquote><p><a href="http://en.wikipedia.org/wiki/Barry_Boehm">Barry Boehm</a> and<a href="http://en.wikipedia.org/wiki/Richard_Turner_%28software%29"> Richard Turner</a> suggest that<a href="http://en.wikipedia.org/wiki/Risk_analysis_%28engineering%29"> risk analysis</a> be used to choose between adaptive (&#8220;agile&#8221;) and predictive (&#8220;plan-driven&#8221;) methods.<a href="http://en.wikipedia.org/wiki/Agile_software_development#cite_note-boehm2004-28">[29]</a> The authors suggest that each side of the continuum has its own home ground as follows:</p>
<p>Agile home ground:<a href="http://en.wikipedia.org/wiki/Agile_software_development#cite_note-boehm2004-28">[29]</a></p>
<ul>
<li>Low criticality</li>
<li>Senior developers</li>
<li>Requirements change often</li>
<li>Small number of developers</li>
<li>Culture that thrives on chaos</li>
</ul>
<p>Plan-driven home ground:<a href="http://en.wikipedia.org/wiki/Agile_software_development#cite_note-boehm2004-28">[29]</a></p>
<ul>
<li>High criticality</li>
<li>Junior developers</li>
<li>Requirements do not change often</li>
<li>Large number of developers</li>
<li>Culture that demands order</li>
</ul>
<p>Formal methods:</p>
<ul>
<li>Extreme criticality</li>
<li>Senior developers</li>
<li>Limited requirements, limited features see<a href="http://en.wikipedia.org/wiki/Wirth%27s_law"> Wirth&#8217;s law</a></li>
<li>Requirements that can be modeled</li>
<li>Extreme quality</li>
</ul>
</blockquote>
<p>There is certainly value in both approaches, but for my tastes, they’re both too extreme.  In the middle we have the Agile Unified Process, which seems to me to take the best of both worlds; there’s enough design and documentation beforehand to know thing things are well thought out (and can be picked up by additional resources if necessary) but we can also focus on smaller, quicker releases, backed up by automated testing to make sure that everything’s working properly, even if we have to make changes.</p>
<p>Now, I&#8217;d originally settled on the Agile Unified Process as a middle ground for building NoTooMi, but I quickly discovered that for a single developer who basically fills all of the roles, from stakeholders to QA, it&#8217;s still pretty heavyweight.</p>
<p>So instead, I decided on a different Agile methodology, <a href="http://en.wikipedia.org/wiki/Scrum_%28development%29" target="_blank">Scrum</a>.  More on that in the next post.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/01/31/making-a-plan-and-choosing-a-methodology/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Naming the application:  NoTooMi</title>
		<link>http://nicholaschase.com/2011/01/30/naming-the-application-notoomi/</link>
		<comments>http://nicholaschase.com/2011/01/30/naming-the-application-notoomi/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 02:38:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[NoTooMi]]></category>
		<category><![CDATA[Year of Living Socially]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1490</guid>
		<description><![CDATA[Well, we no longer have to refer to The Year Of Living Socially application as The Year of Living Socially application. It will now be known as NoTooMi. How did we come to that? It&#8217;s a reference to TMI, or &#8220;too much information&#8221;. In other words, NomoreTooMI. I&#8217;ve also been working behind the scenes on [...]]]></description>
			<content:encoded><![CDATA[<p>Well, we no longer have to refer to <a href="http://nicholaschase.com/2010/12/31/embarking-on-the-year-of-living-socially/" target="_blank">The Year Of Living Socially</a> application as <a href="http://nicholaschase.com/2011/01/01/features-of-the-yols-application-whatever-we-decide-to-call-it/" target="_blank">The Year of Living Socially application</a>.  It will now be known as <a href="http://notoomi.com" target="_blank">NoTooMi</a>.</p>
<p>How did we come to that?  It&#8217;s a reference to TMI, or &#8220;too much information&#8221;.  In other words, <strong>No</strong>more<strong>TooMI</strong>.</p>
<p>I&#8217;ve also been working behind the scenes on a few things, and hope to have some good news soon.  In the meantime, I hope to have a first iteration by next Monday, when I&#8217;ll be taking volunteers for people who want to give her a shot.  If you want to be on the list, head over to the <a href="http://notoomi.com" target="_blank">NoTooMi</a> site, and sign up for updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/01/30/naming-the-application-notoomi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Claiming your blog on Technorati</title>
		<link>http://nicholaschase.com/2011/01/19/claiming-your-blog-on-technorati/</link>
		<comments>http://nicholaschase.com/2011/01/19/claiming-your-blog-on-technorati/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 02:44:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Year of Living Socially]]></category>

		<guid isPermaLink="false">http://nicholaschase.com/?p=1455</guid>
		<description><![CDATA[Technorati has been around long enough that it&#8217;s practically ancient in Internet time, but it&#8217;s still a primary source of information on blogs for various topics, and also for how your blog is rated in terms of links from other blogs, so you will want to go ahead and claim your blog. To do that, [...]]]></description>
			<content:encoded><![CDATA[<p>Technorati has been around long enough that it&#8217;s practically ancient in Internet time, but it&#8217;s still a primary source of information on blogs for various topics, and also for how your blog is rated in terms of links from other blogs, so you will want to go ahead and claim your blog.</p>
<p>To do that, first go to Technorati and if you have an account, sign up or sign in.  Once you&#8217;re in, click your username to get to your profile.</p>
<div style="text-align: center;width: 575px"><img style="text-align: center" src="/images/technorati/signIn.png" alt="" /></div>
<p>Fill out your profile, and under &#8220;My Claimed Blogs&#8221;, enter your URL for &#8220;Start a blog claim&#8221; and click the Claim button.</p>
<p><span></span></p>
<p><img style="text-align: center;width: 575px" src="/images/technorati/startClaim.png" alt="" /></p>
<p>Refresh your profile page and click the Check Claim button:</p>
<p><img style="text-align: center;width: 575px" src="/images/technorati/checkClaim.png" alt="" /></p>
<p>This brings up a message including a code you&#8217;ll need to complete the process:</p>
<p><img style="text-align: center;width: 575px" src="/images/technorati/claimStatus.png" alt="" /></p>
<p>From here, you need to take that code and go back to your blog and create a new posting that includes it (like this one).  For example, in my case, that code is &#8220;9BPZDRFA3CBR&#8221;.  (You don&#8217;t have to leave this post up forever, though of course we will here. <img src='http://nicholaschase.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>After you publish the post, go back to Tecnorati and click the Verify Claim Token button:</p>
<p><img style="text-align: center;width: 575px" src="/images/technorati/verify.png" alt="" /></p>
<p>At the time of this writing, I don&#8217;t know how long the process takes; when I submitted the claim, I received a message saying that they&#8217;re improving the quality of their process so it may take some time to clear the backlog.  Bulletins as events warrant.</p>
<p>[UPDATE:  Final submission is still indicating this may take a while.</p>
<p><img style="text-align: center;width: 575px" src="/images/technorati/verify.png" alt="" /></p>
<p>10:21PM: It's only been about half an hour, and they've verified the code, but we're still in a holding pattern.</p>
<p><img style="text-align: center;width: 575px" src="/images/technorati/found.png" alt="" /><br />
]</p>
<p>[UPDATE:  Well, we never got an email, but here we are on February 5, and we have been approved.  More on Technorati in another post.]</p>
]]></content:encoded>
			<wfw:commentRss>http://nicholaschase.com/2011/01/19/claiming-your-blog-on-technorati/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

