<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>0xDECAFBAD - Tag: twitter</title>
    <link href="http://decafbad.com/blog/atom.xml" rel="self"/>
    <link href="http://decafbad.com/blog"/>
    <updated>2011-11-16T16:29:50+00:00</updated>
    <id></id>
    <author>
        <name></name>
        <email>l.m.orchard@pobox.com</email>
    </author>
    

    <entry>
        <title>I (used to) like rev="canonical"</title>
        <link href="http://decafbad.com/blog/2009/04/13/i-like-revcanonical"/>
        <updated>2009-04-13T05:05:50+00:00</updated>
        <id>http://decafbad.com/blog/2009/04/13/i-like-revcanonical</id>
        <content type="html">&lt;p&gt;&lt;em&gt;Update 4/14&lt;/em&gt;: So, I liked &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt;, but I like the notion of pages offering sets of alternative URLs better.  &lt;a href=&quot;http://www.mnot.net/blog/2009/04/14/rev_canonical_bad&quot;&gt;There are enough cracks in the case&lt;/a&gt; for &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; to stop caring about it and instead focus on the notion behind it.  However it's expressed—is it &lt;a href=&quot;http://groups.google.com/group/shortlink&quot;&gt;&lt;code&gt;rel=&quot;shortlink&quot;&lt;/code&gt;&lt;/a&gt; now?—the final remaining things I'd like to see are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;An more generalized scope for alternate URL choices asserted by publishers, not just URL shortening.  Other criteria beyond character length include ease of entry on mobile devices (eg. short, but also simple, maybe mostly numeric), ease of verbal mention (eg. billboards, postcards, etc).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HTTP headers are great where available—hooray for HEAD—but it still needs to be in the page for publishers who can't set custom headers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Microformats are great, but I'd rather not parse a whole page to the footer to lift out the desired URLs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don't panic. Have fun.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And with that, I'm going to try coming up with other things to write about so this blog doesn't stay dormant.  The rest of this entry remains unedited below...&lt;/p&gt;

&lt;!--more--&gt;


&lt;hr /&gt;


&lt;p&gt;&lt;strike&gt;So, like it says up there: I like &lt;a href=&quot;http://revcanonical.appspot.com/&quot;&gt;rev=&quot;canonical&quot;&lt;/a&gt;.&lt;/strike&gt;&lt;/p&gt;

&lt;p&gt;Basically, it's a way of saying—instead of using that 3rd-party service &lt;em&gt;you&lt;/em&gt; like for munging &lt;em&gt;my&lt;/em&gt; URLs, use one of these pre-munged URLs I've provided.  Ideally, the URLs I provide will be shorter for your needs, but my URLs won't be subject to &lt;a href=&quot;http://joshua.schachter.org/2009/04/on-url-shorteners.html&quot;&gt;potentially distasteful things I object to with respect to a service you might pick&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I like keeping control of URL spaces in the hands of their publishers.  This also opens the field for more individual choice in URL shortening services, allowing more people to try their hand at building a better mouse trap—or allowing publishers to opt out of the mess altogether.&lt;/p&gt;

&lt;p&gt;And, apropos of that, I tend to like &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; as the means of expressing this choice.&lt;/p&gt;

&lt;p&gt;There's a lot more background on this whole shebang, but I'll just stick to my $0.02 on the discussion so far.&lt;/p&gt;

&lt;h3&gt;&lt;a href=&quot;http://www.25hoursaday.com/weblog/2009/04/11/revcanonicalDiggBarOutrageCausesBadIdeasToComeOutOfTheWoodWork.aspx&quot;&gt;It's too alpha geeky to get adopted—also: NERDS!&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Alpha geeks write plugins for web publishing systems used by less-alpha geeks, who eventually install web publishing systems for those even further down the geek scale.  It's not unheard of for something incredibly nerdy to become relatively common, if it proves useful.&lt;/p&gt;

&lt;p&gt;Feed auto-discovery is in blogging software and browsers now—it was once considered a somewhat arcane usage of the &lt;code&gt;rel&lt;/code&gt; attribute on &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; tags in HTML &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;&lt;a href=&quot;http://www.25hoursaday.com/weblog/2009/04/11/revcanonicalDiggBarOutrageCausesBadIdeasToComeOutOfTheWoodWork.aspx&quot;&gt;Everyone needs to implement their own URL shortener.&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;No, but everyone gets to pick a shortener for their own URLs—which could coincidentally be self-hosted or third-party.  Isn't the web great?&lt;/p&gt;

&lt;h3&gt;&lt;a href=&quot;http://benramsey.com/archives/a-revcanonical-rebuttal/&quot;&gt;The &lt;code&gt;rev&lt;/code&gt; attribute is too hard to understand, people will get it wrong&lt;/a&gt;.&lt;/h3&gt;

&lt;p&gt;I hadn't paid much attention to the &lt;code&gt;rev&lt;/code&gt; attribute until a week or so ago.  I &lt;a href=&quot;http://www.w3.org/TR/html401/struct/links.html#adef-rev&quot;&gt;read the HTML spec on links&lt;/a&gt; again.  Within 10 minutes of reading the spec, my understanding became this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;rel=&quot;{X}&quot;&lt;/code&gt; — &quot;this link means {X} in relation to the current page&quot;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rev=&quot;{X}&quot;&lt;/code&gt; — &quot;this current page means {X} in relation to this link&quot;.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I may have misunderstood it—if so, explain to me how and I'll admit it's harder to understand than I think.  There are harder concepts in the HTML 4 spec.&lt;/p&gt;

&lt;h3&gt;The &lt;code&gt;rev&lt;/code&gt; attribute is removed in HTML5&lt;/h3&gt;

&lt;p&gt;That's too bad for HTML5.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2006-July/006888.html&quot;&gt;The rationale given for the removal&lt;/a&gt; seems sensible enough.  But, I'd say the rationale for removal is weakened if someone finds a use for the attribute and uses it correctly.&lt;/p&gt;

&lt;h3&gt;&lt;code&gt;rel=&quot;shorter&quot;&lt;/code&gt; / &lt;code&gt;rel=&quot;short&quot;&lt;/code&gt; is better and more explicit.&lt;/h3&gt;

&lt;p&gt;I like this idea in general, and I don't &lt;em&gt;really&lt;/em&gt; care strongly enough about &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; vs &lt;code&gt;rel=&quot;short&quot;&lt;/code&gt; to make much noise beyond this blog post.&lt;/p&gt;

&lt;p&gt;But, I prefer the semantics of &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt;, I don't think &lt;code&gt;rel=&quot;short(er)&quot;&lt;/code&gt; is better, and actually I think the less explicit assertion is a feature.  I've not yet been convinced otherwise—but realistically, if either catches on, I'll probably use the most popular.&lt;/p&gt;

&lt;h3&gt;&lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; doesn't mean &quot;shorter URL&quot;&lt;/h3&gt;

&lt;p&gt;That's okay—what if I don't &lt;em&gt;want&lt;/em&gt; you to have shortened versions of my URLs?  Doesn't fit in your tweet?  Screw you.  I didn't want you to link to me that badly anyway.  Bah.&lt;/p&gt;

&lt;p&gt;That, of course, is self-defeating.  Conventional use of the attribute will probably yield shorter URLs out of self-interest.  Furthermore, I could even offer a half-dozen URL variations, and you could use the string length function in the language of your choice to pick one on the basis of shortness.  There's a lot of choice to go around here.&lt;/p&gt;

&lt;p&gt;Also, feed auto-discovery links don't always lead to truly alternate versions of the current page—but instead to a useful set of items, many of which may currently appear somewhere on the page.  So, even the &quot;clear&quot; semantics have some play in them as used in the wild.&lt;/p&gt;

&lt;h3&gt;&lt;a href=&quot;http://shiflett.org/blog/2009/apr/a-rev-canonical-http-header&quot;&gt;A &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; HTTP header is better.&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Hmm, maybe.  It would certainly allow for possibly lighter-weight HEAD requests in determining the alternative URL for a given URL.  But, I would expect it to fall apart in collections of static HTML pages baked by an offline script where web server configuration might not make setting custom headers easy.&lt;/p&gt;

&lt;p&gt;Not everyone has the luxury / inclination to have a dynamic language capable of setting headers running in their web server.&lt;/p&gt;

&lt;h3&gt;&lt;a href=&quot;http://adactio.com/journal/1568/&quot;&gt;&lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; should appear on hyperlinks in the body of the page&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://decafbad.com/blog/2005/05/08/whats-old-scraping-is-new-again-microformats&quot;&gt;I like microformats&lt;/a&gt;, &lt;a href=&quot;http://decafbad.com/blog/2005/05/17/magic-microformat-forms&quot;&gt;in general&lt;/a&gt;.  But, I don't really want to potentially parse a whole page to find the shorter URL that might be in the footer.  With &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; in the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, I only have to parse so far before I find it or give up.&lt;/p&gt;

&lt;p&gt;There's a lot of prior art on this with relation to feed autodiscovery—we used to mainly look for RSS feed URLs inside the page, too.  It sucked.&lt;/p&gt;

&lt;h3&gt;&lt;a href=&quot;http://benramsey.com/archives/a-revcanonical-rebuttal/#comment-288465&quot;&gt;Claiming to be canonical for another URL is trouble.&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Okay, how about requiring a reciprocal &lt;code&gt;rel=&quot;canonical&quot;&lt;/code&gt; on the same page with &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Trust but verify—and only accept &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; where &lt;code&gt;rel=&quot;canonical&quot;&lt;/code&gt; matches the current URL &lt;em&gt;and&lt;/em&gt; &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; yields a 301 redirect to the &lt;code&gt;rel=&quot;canonical&quot;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I can't see this verification process being necessarily more burdensome than using a 3rd-party shortener API—and that's &lt;em&gt;if&lt;/em&gt; you're paranoid and building an index that needs some measure of resistance to gaming.&lt;/p&gt;

&lt;h3&gt;&lt;a href=&quot;http://samj.net/2009/04/revcanonical-considered-harmful.html?showComment=1239617160000#c7231589643969293690&quot;&gt;A single character slip from &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; to &lt;code&gt;rel=&quot;canonical&quot;&lt;/code&gt; could wreck your Googlejuice!&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;So, don't do that.&lt;/p&gt;

&lt;p&gt;Maybe Googlejuice should be more resilient.  Maybe it actually is—has anyone actually soured their juice yet with a mistake like this and lived to tell the tale?&lt;/p&gt;

&lt;p&gt;Either way, characters mean things in computer languages, so make sure you use the right ones in the right order.&lt;/p&gt;

&lt;h3&gt;You guys are moving on this stuff too fast!&lt;/h3&gt;

&lt;p&gt;Welcome to 2002, when lots of us had more spare time than employment and we deployed new crap like this on our blogs and sites daily.&lt;/p&gt;

&lt;p&gt;Back in those olden days, we manipulated raw HTML with our bare hands and deployed radioactive code using our teeth—all without benefit of protective change control.  We probably all have cancer of the access logs now, but it was all in the name of Web Science!&lt;/p&gt;

&lt;h3&gt;Too long; didn't read&lt;/h3&gt;

&lt;p&gt;So, yeah.  I like the idea behind &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; and I prefer its expression as &lt;code&gt;rev=&quot;canonical&quot;&lt;/code&gt; best—but the idea is the important thing.  Let's get over the expression part fast and spend more time exploring the nuts and bolts and implications of the concept itself.&lt;/p&gt;

&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091011&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://pigsonthewing.org.uk/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=4e160e713acf1ab8547d1c36233389c3&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://pigsonthewing.org.uk/&quot;&gt;http://pigsonthewing.org.uk/&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091011&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-13T14:00:04&quot;&gt;2009-04-13T14:00:04&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Forget rel=&quot;short&quot; or rel=&quot;shorter&quot;. Try rel=&quot;shortcut&quot;.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091013&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091013&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-13T14:22:53&quot;&gt;2009-04-13T14:22:53&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;...or I could try rev=&quot;canonical&quot; like I said up there.  An actual rationale might be more productive here.  :)&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091015&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://spindrop.us/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=35b8de09a3685277188d8b8be0e5e3ac&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://spindrop.us/&quot;&gt;Dave Dash&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091015&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-13T14:37:21&quot;&gt;2009-04-13T14:37:21&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;So yes, you are understanding &quot;rev&quot; correctly per the spec.  The problem I have is this:&lt;/p&gt;

&lt;p&gt;rel=canonical was introduced so when people went to various urls that a search engine would know that the url specified in rel=canonical was the real one.  Let's do this to make life easier:&lt;/p&gt;

&lt;p&gt;http://foo.com/A
and 
http://foo.com/B&lt;/p&gt;

&lt;p&gt;both go to the exact same page, and the publisher can't for some reason redirect to the canonicalized page (maybe it's amazon and they have stupid large urls with affiliate codes).&lt;/p&gt;

&lt;p&gt;so if the former is canonical then this is present:&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;whether you go to /A or /B.&lt;/p&gt;

&lt;p&gt;if they use rev=&quot;canonical&quot;:&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Should only be shown if they are visitng /A not /B otherwise that rev statement implies that /A or /B are the canonical forms of &quot;http://f.us/A&quot;.&lt;/p&gt;

&lt;p&gt;I think that's why the rev attribute isn't a very good one.  Honestly I liked the suggestion (you made it maybe) for using rel=&quot;shortcut alternative&quot; or something.&lt;/p&gt;

&lt;p&gt;Am I seeing potential ambiguity when there isn't?&lt;/p&gt;

&lt;p&gt;-d&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091016&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091016&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-13T15:36:42&quot;&gt;2009-04-13T15:36:42&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@Dave: I think you may have used some markup in your comment that got filtered out - I'm not exactly sure what you mean. :/&lt;/p&gt;

&lt;p&gt;If we have this URL:&lt;/p&gt;

&lt;p&gt;http://example.com/this/url/is/too/long&lt;/p&gt;

&lt;p&gt;With these links in the head:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;rel=&quot;canonical&quot; href=&quot;http://example.com/this/url/is/too/long&quot;
  rev=&quot;canonical&quot; href=&quot;http://ex.pl/ab&quot;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then, the URL http://ex.pl/ab will ideally lead to a 301 redirect.  But, if not, it should have the same content as http://example.com/this/url/is/too/long — and therefore list the same reciprocal &quot;canonical&quot; relationship that leads back to the original page.&lt;/p&gt;

&lt;p&gt;That seems disambiguated to me—even more so than &lt;code&gt;rel=&quot;shorter&quot;&lt;/code&gt; or whatnot.  If the URL for a &lt;code&gt;rel=&quot;shorter&quot;&lt;/code&gt; link didn't yield a redirect, we'd never know what was the original page without a corresponding &lt;code&gt;rel=&quot;canonical&quot;&lt;/code&gt; anyway.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091017&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.jm3.net/&quot;&gt;&lt;img src=&quot;http://disqus.com/api/users/avatars/jm3.jpg&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.jm3.net/&quot;&gt;John Manoogian III (jm3)&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091017&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-14T01:59:04&quot;&gt;2009-04-14T01:59:04&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;LOL at &quot;soured their juice.&quot; Well written and well reasoned as usual, Les.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091018&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://samj.net/&quot;&gt;&lt;img src=&quot;http://disqus.com/api/users/avatars/samj.jpg&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://samj.net/&quot;&gt;samj&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091018&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-14T02:39:30&quot;&gt;2009-04-14T02:39:30&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I've comprehensively rebutted your argument &lt;a href=&quot;http://groups.google.com/group/shortlink/browse_thread/thread/885894c42cbdf8ad/d50be9d1c74bad7a?#d50be9d1c74bad7a&quot; rel=&quot;nofollow&quot;&gt;over there&lt;/a&gt; so I'm not going to do it again here, except to say that given you concede that rel=short* is just as good as rev=canonical, only it's a&amp;gt; not deprecated and b&amp;gt; cannot possibly make sites drop off the face of the Internet, why do you even care enough to write this blog post?&lt;/p&gt;

&lt;p&gt;Sam&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091020&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://samj.net/&quot;&gt;&lt;img src=&quot;http://disqus.com/api/users/avatars/samj.jpg&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://samj.net/&quot;&gt;samj&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091020&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-14T02:42:35&quot;&gt;2009-04-14T02:42:35&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Oh, and let's not forget that you can only use this &quot;solution&quot; on the canonical URL itself since it implies that the page it is attached to is itself canonical. That means you're going to have to find another solution for a potentially infinite number of other links to the same content, or risk leaking google juice all over the place.&lt;/p&gt;

&lt;p&gt;Sam&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091023&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091023&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-14T03:51:48&quot;&gt;2009-04-14T03:51:48&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;blockquote&gt;
  &lt;p&gt;why do you even care enough to write this blog post?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Because &lt;a href=&quot;http://xkcd.com/386/&quot; rel=&quot;nofollow&quot;&gt;someone is wrong on the Internet&lt;/a&gt;!  And I haven't blogged in awhile, so I needed an excuse.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091024&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://spindrop.us/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=35b8de09a3685277188d8b8be0e5e3ac&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://spindrop.us/&quot;&gt;Dave Dash&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091024&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-14T04:15:57&quot;&gt;2009-04-14T04:15:57&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Les,&lt;/p&gt;

&lt;p&gt;I not good with words today.  I was trying to say what Sam said:&lt;/p&gt;

&lt;p&gt;&quot;this “solution” on the canonical URL itself since it implies that the page it is attached to is itself canonical&quot;&lt;/p&gt;

&lt;p&gt;Hence, I'd stick with a solution that uses rel - so long as we can just pick an attribute &quot;shorter alternative&quot; or whatever that we can agree on :)&lt;/p&gt;

&lt;p&gt;-d&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091026&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://erikvold.com/index.cfm&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8fa21a16e24905fba4413501e3afb36e&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://erikvold.com/index.cfm&quot;&gt;Erik Vold&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091026&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-21T03:47:01&quot;&gt;2009-04-21T03:47:01&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Nice rebuttal to all of this rev=canonical opposition, but you gave in man wth?!&lt;/p&gt;

&lt;p&gt;Let me try to back you up a bit, maybe you'll agree with your gut again.&lt;/p&gt;

&lt;p&gt;First I must start with the removal of @rev in html 5. That was an amazingly dumb move, luckily it is a draft still is all I can say. Here is why I believe this:
1) 1 char diff argument: shut up you nub programmers
2) misuse: it's night vs day, black vs white, there is no gray area except that which your confused minds have created. The confusion -I think- usually comes in to play when considering a value, which is easy if you truly understand the diff between @rel and @rev.
3) @rev values can be represented as @rel values: sure I agree but this can not be true without adding more rel values then are necessary with a @rev which is already in the html 4 spec for a reason. If you remove something with use you cause confusion on multiple fronts: first people have to become aware of the change, then they need to understand why the change was made, then they need to make the changes to their code base, and finally when they want to express rev=canonical with a @rel value, debates over what best @rel value represents the equivalent of another @rel value if it were used in @rev occur..&lt;/p&gt;

&lt;p&gt;I submit the debate which the opposition to rev=canonical are having over rel=short* as evidence that @rev is required. A link with rev=canonical that is short is a short url of the canonical url by definition, thus rel=short* is redundant for the use case of discovering a short url for the canonical url of some document. Albeit, I think rel=shorturl (or whatever is finally decided on) could be used by the publisher to indicate a preferred short url(s), if say there were &amp;gt;1 rev=canonical.&lt;/p&gt;

&lt;p&gt;In an algorithm to discover a short url for a document one method could be to scan all links and find the shortest rev=canonical, or if a rel=shorturl is provided then use that and stop scanning immediately. My point is that rev=canonical should be used. Also rel=shorturl adds a marginal benefit to rev=canonical.&lt;/p&gt;

&lt;p&gt;Another point, a rel=shorturl is rev=canonical by definition, thus if you were to use rel=shorturl and @rev were alive and well as it should be, you should automatically add rev=canonical (even though it is implied).&lt;/p&gt;

&lt;p&gt;Another argument the opposition make to using rev=canonical is that the number of rev=canonical's are possibly infinite, so I say only list the rev=canonical's which a user may find of interest for the use cases you can imagine.&lt;/p&gt;

&lt;p&gt;Another case for using rev=canonical is using rev=canonical with rel=mobile perhaps? so that a user can scan rev=canonical's for a rel=mobile url which is short enough to fit in the newest microblog gadget. Where a rel=mobile without rev=canonical could be the mobile site's homepage, even better for this link would be rel=&quot;mobile home&quot; without rev=canonical.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091029&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://erikvold.com/index.cfm&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8fa21a16e24905fba4413501e3afb36e&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://erikvold.com/index.cfm&quot;&gt;Erik Vold&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091029&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-21T05:17:14&quot;&gt;2009-04-21T05:17:14&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;The reasons why I like rev=canonical: http://erikvold.com/blog/index.cfm/2009/4/21/rev_canonical_good&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221091030&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221091030&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-04-28T05:31:35&quot;&gt;2009-04-28T05:31:35&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@Erik: Well, I &quot;gave in&quot; mainly because I wasn't really looking for a fight and had a vacation to attend to.&lt;/p&gt;

&lt;p&gt;After that, the amount of hyperbolic stop energy being slung around rel=short{foo} has exhausted my care for the subject.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    

    <entry>
        <title>using Twitterrific with identi.ca</title>
        <link href="http://decafbad.com/blog/2008/07/18/using-twitterrific-with-identica"/>
        <updated>2008-07-18T21:56:18+00:00</updated>
        <id>http://decafbad.com/blog/2008/07/18/using-twitterrific-with-identica</id>
        <content type="html">&lt;p&gt;Since &lt;a href=&quot;http://identi.ca&quot;&gt;identi.ca&lt;/a&gt; &lt;a href=&quot;http://www.scripting.com/stories/2008/07/18/identicaImplementsTheTwitt.html&quot;&gt;has introduced support&lt;/a&gt; for the &lt;a href=&quot;http://twitter.com/help/api&quot;&gt;Twitter API&lt;/a&gt;, switching &lt;a href=&quot;http://iconfactory.com/software/twitterrific&quot;&gt;Twitterrific&lt;/a&gt; over seems to be as easy as entering this command in a &lt;a href=&quot;http://www.osxterminal.com/launch_terminal/&quot;&gt;Terminal&lt;/a&gt; window:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;defaults write com.iconfactory.Twitterrific baseUrl -string 'identi.ca/api'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The command to switch back is the following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;defaults write com.iconfactory.Twitterrific baseUrl -string 'twitter.com'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You'll also need to restart &lt;a href=&quot;http://iconfactory.com/software/twitterrific&quot;&gt;Twitterrific&lt;/a&gt; after each of these to see the change working.&lt;/p&gt;

&lt;p&gt;It took me awhile to figure this out, because I didn't realize that they'd hidden the details in plain sight.  You know, like, in the README file that comes with the Twitterrific download.  Sheesh.  Who reads those?&lt;/p&gt;

&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088721&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.twofishcreative.com/michael/blog&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8f163120341854b69991cff1c39829ad&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.twofishcreative.com/michael/blog&quot;&gt;Michael C. Harris&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088721&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-19T01:25:32&quot;&gt;2008-07-19T01:25:32&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I still follow people on Twitter using Twitterrific. If I could just get updates from multiple sources, I'd be happy.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088722&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/zach&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=da6574cae7fd3215e2a8faa447b5bb63&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/zach&quot;&gt;Zach Copley&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088722&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-19T07:45:45&quot;&gt;2008-07-19T07:45:45&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I found it useful to go to the configuration menu (click the wrench) and turn OFF:&lt;/p&gt;

&lt;p&gt;Tweets -&amp;gt; Include your direct messages
System -&amp;gt; Show errors in tweet list&lt;/p&gt;

&lt;p&gt;So Twitterrific wont complain in the list about the features that aren't implemented yet.  After that, it works beautifully for me with identi.ca/Laconica.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088723&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://Factoryjoe.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8403e20f058363f718144dd51faa65a7&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://Factoryjoe.com&quot;&gt;Chris Messina&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088723&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-19T13:29:34&quot;&gt;2008-07-19T13:29:34&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Any idea how to under the stored username/password? Since I actually use a different password for each site, switching the baseUrl is only a start -- how do I switch account credentials?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088724&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088724&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-19T16:03:30&quot;&gt;2008-07-19T16:03:30&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@chris: The login credentials, alas, aren't as easily switchable I don't think.  The API baseUrl is an app-level default, but the user/pass is part of the app preferences.  &lt;/p&gt;

&lt;p&gt;Hmm... I haven't tried it, but I suppose you might be able to swap between copies of ~/Library/Preferences/com.iconfactory.Twitterrific.plist with each configured using a different user/pass pair.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088725&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/danyork/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=f4118dd2db0be616ddaf36cd465213bb&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/danyork/&quot;&gt;Dan York&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088725&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-22T18:39:22&quot;&gt;2008-07-22T18:39:22&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Very cool!  And nice to see.  Out of curiousity, will this also work with Twitterific on the iPhone?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088726&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/evan&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=94cd7f2250788b7c7148ceef55a224af&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/evan&quot;&gt;Evan Prodromou&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088726&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-23T20:55:43&quot;&gt;2008-07-23T20:55:43&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;So, does this work with iPhone Twitterrific?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088727&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://pattimst3k.livejournal.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=404400e23c8a644635e9eeeec19a2175&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://pattimst3k.livejournal.com&quot;&gt;TeacherPatti&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088727&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-24T22:49:42&quot;&gt;2008-07-24T22:49:42&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Hey Les!
Nice meeting  you at the A2B3 today!  Holy shit--you weren't kidding when you said you were into social networking sites :)
Patti
PS: I friended you on Flickr, so if you see TeacherPatti, that's me!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088729&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.flammableanimals.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=1781703dd27a4e512719267b277d8cab&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.flammableanimals.com&quot;&gt;Mike&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088729&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-27T19:16:14&quot;&gt;2008-07-27T19:16:14&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Evan: No, probably not.  There's no terminal on the iPhone.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088730&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://vinismo.com/en/User:Nikolai35&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2071e56650fac90b3f966a52cac13197&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://vinismo.com/en/User:Nikolai35&quot;&gt;Nicolas Ritoux&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088730&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-09-02T18:27:18&quot;&gt;2008-09-02T18:27:18&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Thank you so much!!! This is so simple and efficient. I was missing that smooth client interface with identi.ca. Now I can permanently switch over to identi.ca. &lt;/p&gt;

&lt;p&gt;Niko - identi.ca user nikolai35&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221088733&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=f5b8d2ff46fc2d6200afec126cb22cd6&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;dan.diemer@gmail.com&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221088733&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-09-23T08:50:58&quot;&gt;2008-09-23T08:50:58&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;not working now =( Twitteriffic just hangs&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    

    <entry>
        <title>Queue everything and delight everyone</title>
        <link href="http://decafbad.com/blog/2008/07/04/queue-everything-and-delight-everyone"/>
        <updated>2008-07-04T19:17:18+00:00</updated>
        <id>http://decafbad.com/blog/2008/07/04/queue-everything-and-delight-everyone</id>
        <content type="html">&lt;p&gt;This is a blog post I've had simmering in my brainmeats for well over a year or two.  I'm suddenly inspired to break blog-radio-silence and get it out of my head.&lt;/p&gt;

&lt;p&gt;From &lt;a href=&quot;http://www.russellbeattie.com/blog/let-the-microblogs-bloom&quot;&gt;Let the microblogs bloom - RussellBeattie.com&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;Once this is widely accepted (and I'm sure there are many that would argue with me), the thing that will separate these types of services won't be whether they stay up (ala Twitter), but how fast your subscription messages are updated. Some services might be smaller or offer more features but not update as quickly whereas others will pride themselves on being as close to real-time as possible. The key is that it's all about messaging, not publishing. (Oh, and this also facilitates federation as well, but that's another topic).&lt;/blockquote&gt;


&lt;p&gt;See also: &lt;a href=&quot;http://randomfoo.net/blog/id/4182&quot;&gt;Rearchitecting Twitter: Brought to You By the 17th Letter of the Alphabet - random($foo)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the problems it seems most modern web apps face is the tendency to want to do everything all at once, and all in the same code that responds directly to a user.  Because, while you're in there building a user interface, it's &lt;em&gt;easy&lt;/em&gt; to implement everything else that needs to happen in that same UI module or library.&lt;/p&gt;

&lt;p&gt;Someone wants to post a bookmark?  Someone wants to post a message?  Well, of course you want the system to cross-reference and deliver that new piece of User Generated Content through every permutation of tag, recipient, keyword, and notification channel supported by your system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But&lt;/strong&gt;, do you &lt;em&gt;really&lt;/em&gt; have to do everything all at once—while the person who generated that content is tapping his or her foot, waiting for the web interface to respond with feedback?  Are all of these things immediately vital to the person watching the browser spin, &lt;em&gt;right now&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;No.  Your user wants to get on with things.  He or she wants to see the submitted content get accepted and, as feedback and confirmation, see it reflected in a personal view immediately.  Does it matter—to &lt;em&gt;this person&lt;/em&gt;, at &lt;em&gt;this moment&lt;/em&gt;—whether it shows up &lt;em&gt;simultaneously&lt;/em&gt; in a friend's inbox, the public timeline, a global tag page, or even an RSS or Atom feed?&lt;/p&gt;

&lt;p&gt;Again, no, simultaneity doesn't really matter—because no human beings actually appreciate it.  Instead, imagine a ripple effect of concentric social and attention contexts with associated people spreading out from the original submission.  (This probably rates the creation of a diagram someday.)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;To make the person who's submitting something happy, offer feedback visible in their own personal context in under 50-200 milliseconds.  (That is, less than half-a-second at worst, in people terms.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The next person to delight is someone following the first person's published content—and humanly speaking, delays of &lt;em&gt;tens of thousands of milliseconds&lt;/em&gt; can be acceptable here.  (That is, 1-10 seconds at worst, in people terms.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finally, you can start worrying about strangers, allowing the content to propagate to tag pages, keyword tracking pages, and other public views—and I'd assert that delays of &lt;em&gt;hundreds of thousands of milliseconds&lt;/em&gt; are acceptable here.  (That is, 1-2 minutes at worst, in people terms.)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The idea here is that the social structure can help you scale, while still delighting people.  Even with these delays, the system is still better at getting the word out than the original content creator would be at notifying all the others involved with an out-of-band system like IM or email.  And that's at worst—on most good days, all the delays should tend to be on the order of seconds or less.&lt;/p&gt;

&lt;p&gt;And how do you do all of this?  Use queues.  Sure, the original submission of content can and should be done all at once—just enough to get the content into the user's collection.  Then, queue a job for further processing and get out of the way.  In fact, just queue one job from the user interface—the processor of &lt;em&gt;that&lt;/em&gt; queue can then queue further jobs for all the other individual processing tasks that are likely susceptible to plenty of parallel processing and horizontal scaling.&lt;/p&gt;

&lt;p&gt;Meanwhile, the original user creating content has been thanked for their submission and life goes on.  In fact, their life may include going on to submit many more pieces of content in rapid succession, thanks to your delightfully responsive web user interface.&lt;/p&gt;

&lt;p&gt;And, in the end, that's really the purpose of a web-based content creation interface—accepting something as quickly as possible to make the user happy enough to continue submitting more.  The other part of the user interface, retrieval, serves simply to get the original content distributed as fast as can be reasonably expected.&lt;/p&gt;

&lt;p&gt;Now, preparing for fast retrieval is another story.  The flip side to processing queues are message inboxes—expect content duplicated everywhere and fetched simply, rather than using cleverly expressed SQL joins that bring a system to its knees.  But, that's another post altogether. :)&lt;/p&gt;

&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083313&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://fatalerror.in&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=15516fd23722eeca86b8ea91738eea4b&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://fatalerror.in&quot;&gt;shyam&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083313&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T21:12:46&quot;&gt;2008-07-04T21:12:46&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Interesting bits of conversation happening all over the place regarding queues and the irony of it all - the much maligned Java has had workqueues since the early days.&lt;/p&gt;

&lt;p&gt;What everyone will learn, rather painfully in in cases like Twitter, is that all data is not created, consumed or processed equally. If you write your system which treats data equally you'll wind up with many Twitters all over the place.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083314&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083314&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T21:37:30&quot;&gt;2008-07-04T21:37:30&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Oh, definitely.  Work queues are not a new thing at all.  It's just that I think there're a lot of modern web app builders who skipped Java &quot;enterprise&quot; software—skipped, or hoped to run away—and are rediscovering the whole set of problems.  Maybe the solutions will be less over-engineered this time.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083315&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://mikewarot.blogspot.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=04f21a4b6a007063d191b66c34f71710&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://mikewarot.blogspot.com&quot;&gt;Mike Warot&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083315&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T21:40:15&quot;&gt;2008-07-04T21:40:15&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;The thing that drives me nuts about twitter is that the core data rate is only about 30k/second... yet it kept going down. It's easy to spit out a broadcast to a subnet and never even miss a packet if there are only 100 of them per second or so. There's no reason on god's green earth that twitter should be anywhere near overloaded.&lt;/p&gt;

&lt;p&gt;Bad architecture, on the other hand, is the work of Satan. ;-)&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083317&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://simonwillison.net/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=ac7005eff7720218df4cf0c72ddf6a3d&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://simonwillison.net/&quot;&gt;Simon Willison&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083317&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T21:40:39&quot;&gt;2008-07-04T21:40:39&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Thank you! I've been trying to put my thumb on why queues are so interesting for months; this expresses it perfectly.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083319&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://blog.wachob.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=5c8ad784d2b5d12d57cf707dded1d58c&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://blog.wachob.com&quot;&gt;Gabe Wachob&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083319&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T22:54:10&quot;&gt;2008-07-04T22:54:10&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Usually I would have something serious to say in agreement with you, because I do so much agree with you.&lt;/p&gt;

&lt;p&gt;But I have just one comment: &lt;/p&gt;

&lt;p&gt;DUH!!!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083320&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.docuverse.com/blog/donpark/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=88f2ee32d146425a422f58f8eab5424b&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.docuverse.com/blog/donpark/&quot;&gt;Don Park&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083320&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-06T05:16:32&quot;&gt;2008-07-06T05:16:32&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Good suggestions. For social services like Twitter, I would also add one more item:&lt;/p&gt;

&lt;p&gt;Prioritize by Relationship&lt;/p&gt;

&lt;p&gt;For example, two-way Twitter relationships (mutual-follow or recent @ or direct message exchange) should be refreshed before one-way. One can go further by placing higher priority on users whom poster sent messages to or received from within past X-hours.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083323&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.rabbitmq.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=6f355ae1f33640b777cae294092116ff&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.rabbitmq.com&quot;&gt;alexis&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083323&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-10T12:35:25&quot;&gt;2008-07-10T12:35:25&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;er... eventually consistent social graphs anyone?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083324&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://cosmicrealms.com&quot;&gt;&lt;img src=&quot;http://disqus.com/api/users/avatars/Sembiance.jpg&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://cosmicrealms.com&quot;&gt;Robert Schultz&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083324&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-10T13:36:22&quot;&gt;2008-07-10T13:36:22&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I agree with everything you've said. Especially the last part, duplicating data in the format it will be retrieved in rather than using complicated and CPU intensive SQL queries. This is especially true for any sort of statistics or reporting. I learned this by seeing my website's statistics growing slower and slower to retrieve as more and more traffic caused the database to become larger and larger and all of a sudden those queries that ran nearly instantly, even with good indexing were taking several seconds to return.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083326&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8acae029d9833597f8eb1623f94ef7e6&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;citric&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083326&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-10T21:49:19&quot;&gt;2008-07-10T21:49:19&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Web apps doing things while the user waits unnecessarily is an old phenomenon. I think it's often a matter of developers not wanting to (and/or being politically unable to) venture into what they consider the sysadmin's domain. Take the way-too-common case of apps that make the client wait while it does housekeeping. Why isn't this in a cron job? One reason is maybe this is KewlOSSBlogWikiPackage and it's simpler to say &quot;just untar the package under htdocs and you're done&quot; instead of saying &quot;also, unpack these scripts in a non-servable area and set them up to run hourly, but not all at the same time; stagger them a little. And run them with the same UID your web server is running as&quot;. But we end up with a lot of apps that (badly) reimplement basic tools their OS ships with in the first place.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083327&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://webseitz.fluxent.com/wiki&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=1d7a7610cb0f02de44be3c4186f82ac3&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://webseitz.fluxent.com/wiki&quot;&gt;Bill Seitz&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083327&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-28T21:23:06&quot;&gt;2008-07-28T21:23:06&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I wonder if you're still setting the bar too high for low-priority connections. I mean, microblogging &lt;em&gt;isn't&lt;/em&gt; really messaging, and maybe isn't (shouldn't-be?) conversation. &lt;/p&gt;

&lt;p&gt;So why wouldn't 10-15min be good enough?&lt;/p&gt;

&lt;p&gt;What % of &quot;messages&quot; are &lt;em&gt;read&lt;/em&gt; instantly after they hit an inbox?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083328&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.yukes.com/2008/11/jimdo-dropr-php-messa&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=151a00c8656ea5c733dff2ac3adb27a3&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.yukes.com/2008/11/jimdo-dropr-php-messa&quot;&gt;Jay Yukes&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083328&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-11-23T10:35:55&quot;&gt;2008-11-23T10:35:55&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I had to solve a similar problem.  Needed the fastest possible response, so had to rule out interacting with the Database directly from the web app.  Used PHP message queue Dropr to defer all DB work.  It is very fast, easily over 1000 messages/second&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083329&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=70c1729db01a21a2a9d236f336e3beff&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;jmxz&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083329&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-02-13T20:00:13&quot;&gt;2009-02-13T20:00:13&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Wow those comments make me feel old.  I remember when these java queues everyone's referring to reminded me of how I had a VAX dedicated to queuing and scheduling batch jobs for a Cray.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083331&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://chr.ishenry.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=4ab185c23be3076c02c2b7b7f48062d1&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://chr.ishenry.com&quot;&gt;Chris Henry&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083331&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-06-11T20:09:47&quot;&gt;2009-06-11T20:09:47&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Handling load is probably one of the biggest problems facing websites today.  Queueing is definitely the way to go, but like you said, sites need the type of architecture where it's easy to deploy services to different machines.  Usually by the time the site is under load, it's too late...&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221083333&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://9fans.net&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=5b5f08225c299dd0955eb13d6b5c043c&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://9fans.net&quot;&gt;maht&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221083333&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2010-05-04T14:50:05&quot;&gt;2010-05-04T14:50:05&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I use Inotify as my queue messaging system&lt;/p&gt;

&lt;p&gt;http://maht0x0r.blogspot.com/2009/06/serialising-multiple-writers-in-shell_20.html&lt;/p&gt;

&lt;p&gt;Inotify can wait on MOVED_TO or CLOSE_WRITE events so that you can add them to the queue when the upload has finished.&lt;/p&gt;

&lt;p&gt;It should also be noted that this is a mnethod of load balacing too. Instead of 1000 parallel thumbnails being produced all context switching away, you can determine how many processes get spawned, use the OS' resource managing features etc.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    

    <entry>
        <title>Why I'm playing with Laconica</title>
        <link href="http://decafbad.com/blog/2008/07/03/why-im-playing-with-laconica"/>
        <updated>2008-07-03T20:32:40+00:00</updated>
        <id>http://decafbad.com/blog/2008/07/03/why-im-playing-with-laconica</id>
        <content type="html">&lt;p&gt;I just posted &lt;a href=&quot;http://decafbad.com/blog/2008/07/03/getting-laconica-up-and-running&quot;&gt;a quick writeup&lt;/a&gt; on Laconica installation.  But, beyond the how, there's the why.&lt;/p&gt;

&lt;p&gt;As I mentioned in that entry, I've started and neglected at least two attempts at building a distributed Twitter clone.  That's mostly been a function of how busy I've been; how long I screwed around with making my own PHP framework; how far I wandered playing with the look and feel; how well Twitter was working; and how bored I got.&lt;/p&gt;

&lt;p&gt;As for Laconica, I'm somewhat displeased with the state of the Laconica code and the installation process—and it certainly needs many more features.  In other words, it's very itchy to me.  But, the important things are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It exists and it works.&lt;/li&gt;
&lt;li&gt;Someone's actively hosting it.&lt;/li&gt;
&lt;li&gt;Others are trying to install it.&lt;/li&gt;
&lt;li&gt;Someone got off their ass and persisted long enough to get it to this point.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;That's more than I can say for my own efforts—because mere &lt;a href=&quot;http://decafbad.com/blog/2002/08/26/ooobeh&quot;&gt;ideas are worthless&lt;/a&gt;—so maybe I can find a way to help. :)&lt;/p&gt;

&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084948&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://dave.cridland.net/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=20b1f9bb3ac4d2d735e884479822e0e0&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://dave.cridland.net/&quot;&gt;Dave Cridland&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084948&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T09:15:24&quot;&gt;2008-07-04T09:15:24&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;One thing that would be interesting would be to write a new implementation of the same &quot;OpenMicroBlogging&quot; spec, or indeed take an existing microblogging project you prefer the look of, and add the support in there. It might even be less work that way, and it'd certainly be a valuable contribution.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084949&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://mipovia.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=78a966d33bba2b1fba1dc4f0c80a993a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://mipovia.com&quot;&gt;Mi&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084949&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T21:47:53&quot;&gt;2008-07-04T21:47:53&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Yes, the installation is A Process .. I couldn't get it running, yet. But I like it the way it is. Where I live, the retarded ISP has blocked twittering services, twitter, plurk &amp;amp; etc... Thanks for your how-to it really helped.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084950&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://zeitgeisty.net&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=e27fdacb063c35c2a8d86438bc4f1c82&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://zeitgeisty.net&quot;&gt;Kai&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084950&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-06T04:35:58&quot;&gt;2008-07-06T04:35:58&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I tried and succeeded. Unfortunately I tried it before finding your how to. The only thing not working is the IM bot... but that's another point! Thanks for the writeup!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084951&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://rasterweb.net/raster/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=db0fab74bcb564ebb09295498b892fb6&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://rasterweb.net/raster/&quot;&gt;Pete Prodoehl&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084951&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-08T15:53:41&quot;&gt;2008-07-08T15:53:41&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Les, keep playing with Laconica! I think it could really benefit from your input.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    

    <entry>
        <title>Getting Laconica up and running</title>
        <link href="http://decafbad.com/blog/2008/07/03/getting-laconica-up-and-running"/>
        <updated>2008-07-03T19:21:35+00:00</updated>
        <id>http://decafbad.com/blog/2008/07/03/getting-laconica-up-and-running</id>
        <content type="html">&lt;p&gt;&lt;em&gt;Update, 30 Sep 2008&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You don't want to follow the directions on this page—instead, leave this page and read this:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://laconi.ca/darcs/README&quot;&gt;http://laconi.ca/darcs/README&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At one point, very early on in Laconica-time, this blog post offered useful information on getting Laconica up and running.  But since then, my time has taken me away from playing with Laconica and thus this guide has fallen far behind.  Hopefully soon I'll get back around to Laconica hacking, but not today.&lt;/p&gt;

&lt;p&gt;I'm leaving the original text of this post here for posterity, but this is &lt;em&gt;no longer current&lt;/em&gt; and following this guide will &lt;em&gt;do more harm than good&lt;/em&gt; in confusing you about Laconica installation!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Again, to learn about getting Laconica up and running, leave this page and read this&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://laconi.ca/darcs/README&quot;&gt;http://laconi.ca/darcs/README&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The latest mini-sensations to arrive through my firehoses are &lt;a href=&quot;http://identi.ca&quot;&gt;identi.ca&lt;/a&gt;, a Twitter-clone / microblogging site, and the Open Source software &lt;a href=&quot;http://laconi.ca&quot;&gt;Laconica&lt;/a&gt;, which powers the aforementioned site.&lt;/p&gt;

&lt;p&gt;Having started and neglected two Twitter cloning attempts of my own, &lt;a href=&quot;http://decafbad.com/svn/trunk/Cuckoo&quot;&gt;Cuckoo&lt;/a&gt; and &lt;a href=&quot;http://decafbad.com/svn/trunk/OpenInterocitor&quot;&gt;OpenInterocitor&lt;/a&gt;, seeing someone else carry the torch with any modicum of momentum is attractive to me.  So, I spent a little bit last night getting the code running on my own servers, and managed to do it twice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://decafbad.com/laconica&quot;&gt;decafbad.com/laconica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://lmorchard.com/laconica&quot;&gt;lmorchard.com/laconica&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;See, the interesting thing promised by &lt;a href=&quot;http://laconi.ca&quot;&gt;Laconica&lt;/a&gt;—and something I wanted in my own clones—is the ability to federate instances of the software.  That is, users on one &lt;a href=&quot;http://laconi.ca&quot;&gt;Laconica&lt;/a&gt;-based site should be able to subscribe to the updates from users on another site, by way of the &lt;a href=&quot;http://openmicroblogging.org/&quot;&gt;OpenMicroblogging specification&lt;/a&gt;.  Although federation isn't a silver bullet to a web-scale Twitter clone, I do think it's one of the most important bootstrap steps—but that's another blog post entirely.&lt;/p&gt;

&lt;p&gt;Thus, since I'd like to see &lt;em&gt;you&lt;/em&gt; run a Laconica site (or something like it) for mine to talk to, I figured I'd document how I got the thing running.  My server is running Ubuntu Gutsy, so your mileage may vary.  This is a long one, so check out the how-to after the jump...&lt;/p&gt;

&lt;!--more--&gt;


&lt;h2&gt;Get the Laconica code&lt;/h2&gt;

&lt;p&gt;I got my copy of the code by using &lt;a href=&quot;http://darcs.net/&quot;&gt;&lt;code&gt;darcs&lt;/code&gt;&lt;/a&gt;, as described on &lt;a href=&quot;http://laconi.ca/Main/Source&quot;&gt;the Laconica source page&lt;/a&gt;, like so:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo apt-get install darcs
darcs get --partial http://laconi.ca/darcs/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But, if you can't or don't want to use &lt;code&gt;darcs&lt;/code&gt; right now, you can &lt;a href=&quot;http://laconi.ca/laconica-0.4.1.tar.gz&quot;&gt;grab a Laconica tarball&lt;/a&gt; to get started.&lt;/p&gt;

&lt;h2&gt;Get modules and third-party prerequisites&lt;/h2&gt;

&lt;p&gt;I had already installed PHP and Apache, along with lighttpd, on my server.  But, I found I needed a few more things.  So, here's a slew of packages you may or may not already have:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo apt-get install libapache2-mod-php5 php5-cgi php5-cli php-pear php5-gd php5-mysql
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Next, now that you've got PHP and PEAR, you can install some of the PEAR-based prerequisites:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo pear channel-update pear.php.net
sudo pear install channel://pear.php.net/Validate-0.8.1
sudo pear install DB_DataObject
sudo pear install Mail
sudo pear install Net_SMTP
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;After this, there are a few libraries that need to be downloaded by hand.  For this, I created an &lt;code&gt;extlib/&lt;/code&gt; directory to keep them in, separate from Laconica's own &lt;code&gt;lib/&lt;/code&gt; which will be subject to updates to the software itself:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;mkdir extlib xfers
cd xfers
curl -O http://openidenabled.com/files/php-openid/packages/php-openid-2.1.1.zip    
curl -O http://michelf.com/docs/projets/php-markdown-1.0.1m.zip
curl -O http://oauth.googlecode.com/svn/code/php/OAuth.php
curl -O http://xmpphp.googlecode.com/files/xmpphp-0.1beta-r21.tar.gz
unzip php-markdown-1.0.1m.zip
cp 'PHP Markdown 1.0.1m/markdown.php' ../extlib/
unzip php-openid-2.1.1.zip
cp -r php-openid-2.1.1/Auth ../extlib/
cp OAuth.php ../extlib/
tar -zxf xmpphp-0.1beta-r21.tar.gz
cp xmpphp/*.php ../extlib/
cd ..
rm -rf xfers
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Set up MySQL tables&lt;/h2&gt;

&lt;p&gt;I'll assume you already have MySQL installed.  To set up a database for Laconica, I did the following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;mysql -uroot -p -e 'create database laconica';
mysql -uroot -p -e &quot;grant all privileges on laconica.* to laconica@localhost identified by 'PASSWORD'&quot;;
mysql -uroot -p laconica &amp;lt; db/laconica.sql
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Configure Laconica&lt;/h2&gt;

&lt;p&gt;So far, I've found at least two config files that need tweaking—namely &lt;code&gt;config.php&lt;/code&gt; and &lt;code&gt;dataobject.ini&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The first thing I did to &lt;code&gt;config.php&lt;/code&gt; was to add the following at around line 6 to account for my &lt;code&gt;extlib/&lt;/code&gt; directory:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#If you have downloaded libraries in random little places, you
#can add the paths here
define('INSTALLDIR', dirname(__FILE__));
set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib');
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The rest of the settings in &lt;code&gt;config.php&lt;/code&gt; are somewhat self-explanatory.  These are the ones I changed for my installation:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$config['site']['name'] = 'cafeonica';
$config['site']['server'] = 'decafbad.com';
$config['site']['path'] = 'laconica';
$config['site']['fancy'] = true;
$config['site']['theme'] = 'stoica';
$config['site']['email'] = 'l.m.orchard@pobox.com';
$config['site']['broughtby'] = '0xDECAFBAD';
$config['site']['broughtbyurl'] = 'http://decafbad.com/';
$config['db']['database'] = 'mysql://laconica:PASSWORD@localhost/laconica';
$config['db']['ini_laconica'] = $config['db']['schema_location'].'/stoica.ini';
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;After this, I tweaked the first few settings of &lt;code&gt;dataobject.ini&lt;/code&gt; to the following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;database = mysql://laconica:PASSWORD@localhost/laconica 
schema_location = /www/decafbad.com/docs/laconica/classes 
class_location = /www/decafbad.com/docs/laconica/classes 
require_prefix = /www/decafbad.com/docs/laconica/classes/ 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Be sure to substitute your own web server paths and passwords in all the above.  And finally, in order to allow the upload of avatar images, you'll need to tweak the permissions on the &lt;code&gt;avatar/&lt;/code&gt; directory, like so:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo chown -R www-data avatar
sudo chmod -R ug+rw avatar/
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Configure Web Server&lt;/h2&gt;

&lt;p&gt;There isn't really much to configure if you're using Apache.  There's a file &lt;code&gt;htaccess.sample&lt;/code&gt; that needs to be copied to &lt;code&gt;.htaccess&lt;/code&gt;—this will put in place all the &lt;code&gt;mod_rewrite&lt;/code&gt; rules necessary to support &quot;fancy&quot; URLs.&lt;/p&gt;

&lt;p&gt;On the other hand, if you're okay with uglier URLs with query parameters and whatnot, leave &lt;code&gt;.htaccess&lt;/code&gt; alone and use &lt;code&gt;$config['site']['fancy'] = false&lt;/code&gt; in your &lt;code&gt;config.php&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For comparison, here are examples of non-fancy and fancy profile URLs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;http://decafbad.com/laconica/index.php?action=showstream&amp;amp;nickname=lmorchard&lt;/li&gt;
&lt;li&gt;http://decafbad.com/laconica/lmorchard&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;One catch to the non-fancy and fancy thing, though—if you start off with non-fancy URLs and later switch to fancy, all of the profiles registered before that switch will appear with non-fancy URLs in the timeline.  This is because the &lt;code&gt;profile&lt;/code&gt; table stores the original URLs at registration in the &lt;code&gt;profileurl&lt;/code&gt; column.  You could change these if you like, but there be dragons.&lt;/p&gt;

&lt;h3&gt;Configure Lighttpd for &quot;fancy&quot; URLs (optional)&lt;/h3&gt;

&lt;p&gt;If you're like me, though, you're using something other than Apache for your main web server.  Personally, I just got up and running with &lt;a href=&quot;http://www.lighttpd.net/&quot;&gt;lighttpd&lt;/a&gt; not too long ago.  Alas, that means the &lt;code&gt;.htaccess&lt;/code&gt; rewrite rules won't work directly.&lt;/p&gt;

&lt;p&gt;Admittedly, I am a novice to configuring &lt;a href=&quot;http://www.lighttpd.net/&quot;&gt;lighttpd&lt;/a&gt;, so the following rules I added to my config could probably use some help:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;url.rewrite-final += (
    &quot;^/laconica/index.php(.*)$&quot; =&amp;gt; &quot;$0&quot;,

    &quot;^/laconica/$&quot; =&amp;gt; &quot;/laconica/index.php?action=public&quot;,
    &quot;^/laconica/rss$&quot; =&amp;gt; &quot;/laconica/index.php?action=publicrss&quot;,
    &quot;^/laconica/xrds$&quot; =&amp;gt; &quot;/laconica/index.php?action=publicxrds&quot;,

    &quot;^/laconica/doc/about$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=about&quot;,
    &quot;^/laconica/doc/contact$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=contact&quot;,
    &quot;^/laconica/doc/faq$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=faq&quot;,
    &quot;^/laconica/doc/help$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=help&quot;,
    &quot;^/laconica/doc/im$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=im&quot;,
    &quot;^/laconica/doc/openid$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=openid&quot;,
    &quot;^/laconica/doc/openmublog$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=openmublog&quot;,
    &quot;^/laconica/doc/privacy$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=privacy&quot;,
    &quot;^/laconica/doc/source$&quot; =&amp;gt; &quot;/laconica/index.php?action=doc&amp;amp;title=source&quot;,

    &quot;^/laconica/main/login$&quot; =&amp;gt; &quot;/laconica/index.php?action=login&quot;,
    &quot;^/laconica/main/logout$&quot; =&amp;gt; &quot;/laconica/index.php?action=logout&quot;,
    &quot;^/laconica/main/register$&quot; =&amp;gt; &quot;/laconica/index.php?action=register&quot;,
    &quot;^/laconica/main/openid(?:\?(.*)|$)$&quot; =&amp;gt; &quot;/laconica/index.php?action=openidlogin&amp;amp;$1&quot;,
    &quot;^/laconica/main/remote(?:\?(.*)|$)$&quot; =&amp;gt; &quot;/laconica/index.php?action=remotesubscribe&amp;amp;$1&quot;,

    &quot;^/laconica/main/subscribe$&quot; =&amp;gt; &quot;/laconica/index.php?action=subscribe&quot;,
    &quot;^/laconica/main/unsubscribe$&quot; =&amp;gt; &quot;/laconica/index.php?action=unsubscribe&quot;,
    &quot;^/laconica/main/confirmaddress$&quot; =&amp;gt; &quot;/laconica/index.php?action=confirmaddress&quot;,
    &quot;^/laconica/main/confirmaddress/(.*)$&quot; =&amp;gt; &quot;/laconica/index.php?action=confirmaddress&amp;amp;code=$1&quot;,
    &quot;^/laconica/main/recoverpassword$&quot; =&amp;gt; &quot;/laconica/index.php?action=recoverpassword&quot;,
    &quot;^/laconica/main/recoverpassword/(.*)$&quot; =&amp;gt; &quot;/laconica/index.php?action=recoverpassword&amp;amp;code=$1&quot;,

    &quot;^/laconica/settings/avatar$&quot; =&amp;gt; &quot;/laconica/index.php?action=avatar&quot;,
    &quot;^/laconica/settings/password$&quot; =&amp;gt; &quot;/laconica/index.php?action=password&quot;,
    &quot;^/laconica/settings/profile$&quot; =&amp;gt; &quot;/laconica/index.php?action=profilesettings&quot;,
    &quot;^/laconica/settings/openid$&quot; =&amp;gt; &quot;/laconica/index.php?action=openidsettings&quot;,
    &quot;^/laconica/settings/im$&quot; =&amp;gt; &quot;/laconica/index.php?action=imsettings&quot;,

    &quot;^/laconica/notice/new$&quot; =&amp;gt; &quot;/laconica/index.php?action=newnotice&quot;,
    &quot;^/laconica/notice/(\d+)$&quot; =&amp;gt; &quot;/laconica/index.php?action=shownotice&amp;amp;notice=$1&quot;,

    &quot;^/laconica/user/(\d+)$&quot; =&amp;gt; &quot;/laconica/index.php?action=userbyid&amp;amp;id=$1&quot;,

    &quot;^/laconica/(\w+)/subscriptions$&quot; =&amp;gt; &quot;/laconica/index.php?action=subscriptions&amp;amp;nickname=$1&quot;,
    &quot;^/laconica/(\w+)/subscribers$&quot; =&amp;gt; &quot;/laconica/index.php?action=subscribers&amp;amp;nickname=$1&quot;,
    &quot;^/laconica/(\w+)/xrds$&quot; =&amp;gt; &quot;/laconica/index.php?action=xrds&amp;amp;nickname=$1&quot;,
    &quot;^/laconica/(\w+)/rss$&quot; =&amp;gt; &quot;/laconica/index.php?action=userrss&amp;amp;nickname=$1&quot;,
    &quot;^/laconica/(\w+)/all$&quot; =&amp;gt; &quot;/laconica/index.php?action=all&amp;amp;nickname=$1&quot;,
    &quot;^/laconica/(\w+)/all/rss$&quot; =&amp;gt; &quot;/laconica/index.php?action=allrss&amp;amp;nickname=$1&quot;,
    &quot;^/laconica/(\w+)/foaf$&quot; =&amp;gt; &quot;/laconica/index.php?action=foaf&amp;amp;nickname=$1&quot;,

    &quot;^/laconica/(\w+)$&quot; =&amp;gt; &quot;/laconica/index.php?action=showstream&amp;amp;nickname=$1&quot;
)
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;That's it (for now)&lt;/h2&gt;

&lt;p&gt;And that's all I've got for you for now.  At this point, it looks like my two Laconica installs are mostly working.  I've not yet played with the XMPP bot, nor have I been able to see the &lt;a href=&quot;http://openmicroblogging.org/&quot;&gt;OpenMicroblogging&lt;/a&gt; stuff working with remore subscriptions.  However, I have been able to log in via OpenID, so that's something.&lt;/p&gt;

&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085627&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://pseudopost.org/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=761b6be3778aefa25a27dbbe3e65b641&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://pseudopost.org/&quot;&gt;Fabian Neumann&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085627&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-03T22:36:12&quot;&gt;2008-07-03T22:36:12&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Tried to remotely subscribe to you, but no success so far. Your laconica instance replied &quot;Not expecting this response!&quot; after what seemed like a successful oauth redirection :|&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085630&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085630&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-03T23:27:14&quot;&gt;2008-07-03T23:27:14&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Fabian: Unfortunately so far, that's been the thing I've seen between all Laconica instances I've seen—even identi.ca.  Hopefully, it's something simple to work out&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085631&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://blog.doomicile.de&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=5c23e9c0240d6c70ab841ab54b334a2a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://blog.doomicile.de&quot;&gt;Igor&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085631&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T11:56:43&quot;&gt;2008-07-04T11:56:43&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Great!!! Thank you.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085633&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://nonsmokingarea.com/blog&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=f2c281c37ac25d6438c2cdd2dd06a9b1&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://nonsmokingarea.com/blog&quot;&gt;michael kamleitner&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085633&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T18:11:56&quot;&gt;2008-07-04T18:11:56&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;yeah, great work man! 
you might add a note that php 5.2.1 is required for the function sys-get-temp-dir (though it's easy to add this function forolder php-installs, just see http://php.m-otion.at/manual/en/function.sys-get-temp-dir.php&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085634&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/evan&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=94cd7f2250788b7c7148ceef55a224af&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/evan&quot;&gt;Evan Prodromou&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085634&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T18:55:33&quot;&gt;2008-07-04T18:55:33&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Great! I'm so excited this is working. Question: can you help me with this bug: http://laconi.ca/PITS/00004 ? Also, maybe there's a bug in the finishremotesubscribe script? I've got a few people remote-subscribed in identi.ca, I'll find out what the problem was there.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085635&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/evan&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=94cd7f2250788b7c7148ceef55a224af&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://identi.ca/evan&quot;&gt;Evan Prodromou&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085635&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T18:57:19&quot;&gt;2008-07-04T18:57:19&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Oh, also: you shouldn't have to update dataobject.ini! &lt;/p&gt;

&lt;p&gt;And we need to set a mode for approved registration, for private instances... Wanna work on it?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085636&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085636&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T19:03:01&quot;&gt;2008-07-04T19:03:01&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@Evan: Huh, I could've sworn things didn't work until I made those changes to dataobject.ini — I probably changed something else at the same time and though the dataobject.ini tweaks did it :)&lt;/p&gt;

&lt;p&gt;I may also poke around at an INSTALL and maybe an approved reg mode too, after watching some fireworks and eating too much food...&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085637&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://deys.ca&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=25168840fcc536c128975b57561ba79d&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://deys.ca&quot;&gt;Bill Deys&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085637&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T19:20:58&quot;&gt;2008-07-04T19:20:58&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Is there anyone out there that is helping people troubleshoot getting a site up and going. I'm having a hell of a time, but I'm betting it's an issue with my web server. I think the root of the problem is I don't have DB_DataObject in Pear. This has been a great help, just not smrt enough when things go off track! Thanks&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085638&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://georgology.com/laconica&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=105450f69a4b7503d4d66f196f8650ef&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://georgology.com/laconica&quot;&gt;Andrew Bashore&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085638&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T19:33:50&quot;&gt;2008-07-04T19:33:50&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I keep getting this error after following all your steps above. &lt;/p&gt;

&lt;p&gt;DB_DataObject Error: Unable to load schema for database and table (turn debugging up to 5 for full error message)&lt;/p&gt;

&lt;p&gt;Do you have any idea how I might fix this?&lt;/p&gt;

&lt;p&gt;My installation is at http://www.georgology.com/laconica/&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085639&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085639&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T20:22:27&quot;&gt;2008-07-04T20:22:27&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@Andrew: Hmm... I just removed a chunk of the instructions about tweaking dataobject.ini — I just readded it.  Evan says it doesn't need changing, but I swear that your error is the exact thing I resolved by modifying dataobject.ini &lt;/p&gt;

&lt;p&gt;You may want to give it a try.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085640&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://rewiv.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=80451b0a1d985a4ef4f5dabd9f3647d1&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://rewiv.com&quot;&gt;Eric&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085640&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T21:57:34&quot;&gt;2008-07-04T21:57:34&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Very, nice article, alot of help!  Thanks&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085642&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.facepwn.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=f2011de7dfdaed830c176cd2dc64dd56&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.facepwn.com&quot;&gt;Nick&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085642&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-04T22:19:40&quot;&gt;2008-07-04T22:19:40&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Thanks for the guide, after a bit of trial and error, it works perfectly!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085643&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=ee84c601cb10e5ffab86cae9cc4ad3b7&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Kevin&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085643&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-05T03:28:57&quot;&gt;2008-07-05T03:28:57&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I'm getting the &lt;/p&gt;

&lt;p&gt;&quot;Warning: main(DB/DataObject.php) [function.main]: failed to open stream: No such file or directory in /home/xxxx/public_html/blogging/lib/common.php on line 32&quot;&lt;/p&gt;

&lt;p&gt;what am I missing? Thx for any help, I'm sure is something I've over looked.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085645&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.nbrightside.com/blog/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=fa5fa46df4e0c7535042e5280e26271a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.nbrightside.com/blog/&quot;&gt;Andy C&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085645&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-05T11:34:22&quot;&gt;2008-07-05T11:34:22&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Thanks for the HOWTO which was really helpful. I am trying to install laconica on Bluehost.&lt;/p&gt;

&lt;p&gt;However I get a DB connection error (CONNECT: Checking for database database_ in options'). This is strange because I can access the laconica schema using the same DSN using a small test PEAR script.&lt;/p&gt;

&lt;p&gt;Is it possible to get laconica to dump the DSN so I can check it is correct ?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085646&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://georgology.com/laconica&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=105450f69a4b7503d4d66f196f8650ef&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://georgology.com/laconica&quot;&gt;Andrew Bashore&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085646&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-05T14:33:03&quot;&gt;2008-07-05T14:33:03&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I have solved the error in my previous comment. 
&quot;DB_DataObject Error: Unable to load schema for database and table (turn debugging up to 5 for full error message)&quot;
The solution was to rename the &quot;classes/stoica.ini&quot; file to &quot;classes/.ini&quot;. This has solved the problem on two installations. Also remember to set debugging back to &quot;0&quot;.&lt;/p&gt;

&lt;p&gt;Kevin:&lt;/p&gt;

&lt;p&gt;Its probably a PEAR dependency that is not installed.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085647&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://georgology.com/laconica&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=105450f69a4b7503d4d66f196f8650ef&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://georgology.com/laconica&quot;&gt;Andrew Bashore&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085647&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-05T14:38:03&quot;&gt;2008-07-05T14:38:03&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Error in my last comment. It should be &quot;classes/YOUR DATABASE NAME.ini&quot; not &quot;classes/.ini&quot;. Sorry&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085648&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://georgology.com/laconica&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=105450f69a4b7503d4d66f196f8650ef&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://georgology.com/laconica&quot;&gt;Andrew Bashore&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085648&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-05T14:47:11&quot;&gt;2008-07-05T14:47:11&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;One more thing. I did not have to modify anything in &quot;dataobject.ini&quot;&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085649&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=ee84c601cb10e5ffab86cae9cc4ad3b7&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Kevin&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085649&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-05T15:05:38&quot;&gt;2008-07-05T15:05:38&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Thanks Andrew, I thought that pear is loaded I'll double check and make sure.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085650&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=ee84c601cb10e5ffab86cae9cc4ad3b7&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Kevin&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085650&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-05T16:50:58&quot;&gt;2008-07-05T16:50:58&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;PEAR is loaded, BUT I just noted that laconica requires PHP 5, and my box is running PHP 4.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085651&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=85c59f19fa20b821b0b627c28912509a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;WebGuy&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085651&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-06T01:20:53&quot;&gt;2008-07-06T01:20:53&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Followed all the steps and everything, things seems to be working fine, but when i try to add an IM i get this error -&amp;gt; Fatal error: Class 'XMPPHP_XMPP' not found in /var/www/lib/jabber.php on line 47. Any idea how to fix that ?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085653&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.mrlocke.net&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=3de2ae6e2e78b988f28b6d2ac65007e3&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.mrlocke.net&quot;&gt;Neal Locke&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085653&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-06T04:22:13&quot;&gt;2008-07-06T04:22:13&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Getting the following error message:&lt;/p&gt;

&lt;p&gt;Warning: require_once(DB/DataObject.php) [function.require-once]: failed to open stream: No such file or directory in /home/.matuxa/iraneal/opensourcefaith.org/lib/common.php on line 32&lt;/p&gt;

&lt;p&gt;Fatal error: require&lt;em&gt;once() [function.require]: Failed opening required 'DB/DataObject.php' (include&lt;/em&gt;path='.:/usr/local/php5/lib/php:/usr/local/lib/php') in /home/.matuxa/iraneal/opensourcefaith.org/lib/common.php on line 32&lt;/p&gt;

&lt;p&gt;Looks similar to Kevin's but I know I have php5.  I'm trying to install on shared hosting (dreamhost) at domain http://www.opensourcefaith.org/&lt;/p&gt;

&lt;p&gt;Any suggestions?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085654&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://yerb.net/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2bafc32036b9714cbc8af666b9d138a0&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://yerb.net/&quot;&gt;Breyten&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085654&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-06T13:51:02&quot;&gt;2008-07-06T13:51:02&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@WebGuy, ln -s . XMPP &amp;amp;&amp;amp; mv xmpp.php XMPP.php solved this issue for me. (Alternatively, you could mkdir instead)&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085655&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=d63263bfbb716b1c11cce5ce500ced32&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Howard N&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085655&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-07T00:05:24&quot;&gt;2008-07-07T00:05:24&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Andy C did you have any luck resolving your issue with the PEAR error:&lt;/p&gt;

&lt;p&gt;Checking for database database_ in options&lt;/p&gt;

&lt;p&gt;I've slowly been working my way through getting laconia set up (thanks for the guide!) but have hit a wall with this error.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085658&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.ainotenshi.org/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=1d00968221b83e513890d353fc1dbe72&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.ainotenshi.org/&quot;&gt;MRiGnS&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085658&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-07T12:31:39&quot;&gt;2008-07-07T12:31:39&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I got it set up but registration is not possbile, it displays this error:&lt;/p&gt;

&lt;p&gt;Catchable fatal error: Object of class DB&lt;em&gt;DataObject&lt;/em&gt;Cast could not be converted to string in /www/htdocs/test/lib/util.php on line 1001&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085660&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.nbrightside.com/blog/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=fa5fa46df4e0c7535042e5280e26271a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.nbrightside.com/blog/&quot;&gt;Andy C&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085660&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-07T17:39:57&quot;&gt;2008-07-07T17:39:57&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;HowardN - Yes.I discovered that my settings in 'config.php' (specifically [config][db]) weren't getting applied correctly so I modified the same settings 'lib/common.php' which worked. I &lt;em&gt;know&lt;/em&gt; this shouldn't be needed and I &lt;em&gt;know&lt;/em&gt; it's not correct but I'm just want to play with Laconica.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085663&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.nbrightside.com/blog/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=fa5fa46df4e0c7535042e5280e26271a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.nbrightside.com/blog/&quot;&gt;Andy C&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085663&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-07T18:44:27&quot;&gt;2008-07-07T18:44:27&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Remote sub from identi.ca to decafbad seems to be working now. Did you have to change anything on your end ? Are you on the latest Darcs code ? I am using the 0.4.1 tarball and get 'Not expecting this response'.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085664&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://rid.cabbitmedia.com/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=6f7a710dccc047bd49ad778977752f8c&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://rid.cabbitmedia.com/&quot;&gt;rid&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085664&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-07T20:35:51&quot;&gt;2008-07-07T20:35:51&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;somewhat got something up using this guide at http://laconica.cabbitmedia.com/ but with a few bugs.&lt;/p&gt;

&lt;p&gt;it's running on slackware 12.0.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085665&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=64219a9ada0c5554c664b4e3532d1937&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Big Eclipse&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085665&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-07T22:34:03&quot;&gt;2008-07-07T22:34:03&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Page is blank.  After following the steps and ensuring that everything is as it should be, the installation seem to have gone well.  Not receiving any errors, but the page is just blank -- like an 'Untitled' page.  Any ideas?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085670&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=0839bed78f8f75c8cca3d4477a7fa637&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Don Park&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085670&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-08T00:17:53&quot;&gt;2008-07-08T00:17:53&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@webguy, according to evan, the tarball is out of date. get the subversion trunk with: 
svn co svn://netflint.net/xmpphp&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085671&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://basissap.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=a9e41d14e2d0e4b2af819d0fbde85f9a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://basissap.com&quot;&gt;martin english&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085671&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-08T06:27:43&quot;&gt;2008-07-08T06:27:43&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Neal_Locke:
I'm attempting to install on dreamhost as well.  I've spent a bit of time and found the following link - http://wiki.dreamhost.com/PEAR - which basically says PEAR on dreamhost is buggered.  It does describe how to get a full installation of PEAR in your own domain, but it requries shell access which i can't get from work.&lt;/p&gt;

&lt;p&gt;I'll post tomite with (any) results....&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085672&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://leeclemmer.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=47fa92e81c98cb0418d3897f99d60ef6&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://leeclemmer.com&quot;&gt;Lee&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085672&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-08T20:26:10&quot;&gt;2008-07-08T20:26:10&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Hey guys, I've got lacania almost working; when I go to register, I get the following error:&lt;/p&gt;

&lt;p&gt;Catchable fatal error: Object of class DB&lt;em&gt;DataObject&lt;/em&gt;Cast could not be converted to string in C:xampphtdocsmessaginglibutil.php on line 1001&lt;/p&gt;

&lt;p&gt;I'm also a little bit weirded out that I am getting the web page, but when I go check out the database no tables have been created... is this right?  When and what code will actually create the database tables?&lt;/p&gt;

&lt;p&gt;Thanks so much for your help!
- Lee&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085673&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://danbri.org/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=f3016aadafbda36fe5818d44e32499f0&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://danbri.org/&quot;&gt;Dan Brickley&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085673&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-10T09:06:30&quot;&gt;2008-07-10T09:06:30&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I'm collected some Dreamhost-specific notes that build on this: http://laconi.ca/Main/LaconicaOnDreamhost including a fix for Neal's &quot;Failed opening required 'DB/DataObject.php'&quot; problem. Help welcomed if others have experience w/ DH.&lt;/p&gt;

&lt;p&gt;In short re DataObject, see this bit: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your lib/common.php MUST be changed to ensure PEAR files can be found.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Add (with appropriate changes):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# set up a non-root PEAR repo (before we need it)
$extra_path = array(&quot;/home/path-to-your-stuff/pear/php&quot;);
set_include_path(implode(PATH_SEPARATOR, $extra_path) . PATH_SEPARATOR . get_include_path());
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;...before this bit:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;global configuration object &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;require_once('PEAR.php');&lt;/p&gt;

&lt;p&gt;If it doesn't work, try replacing path-to-your-stuff with the path to your stuff.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085674&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://noone.org/blog&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=9e699d89aa0d5001efb14c91034cee2a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://noone.org/blog&quot;&gt;Axel Beckert&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085674&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-13T14:15:27&quot;&gt;2008-07-13T14:15:27&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;PHP Markdown is also available via PEAR:&lt;/p&gt;

pear channel-discover pear.michelf.com

pear install michelf/markdown&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085677&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=a2397d4f3f3927b7cdc3ab26607fc66e&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;raghav&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085677&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-15T10:59:09&quot;&gt;2008-07-15T10:59:09&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;hey i am having trouble with my copy of laconica ......everything has been installed perfectly........but there are two troubles:-
1.there is not theme been shown on the laconica pages......its complete white
2.when clicked on home link nothing comes up ........please help cos i am newbie in coding after hours of working i installed it but of no use...................
here is the link
&lt;a href='http://www.earnstop.com/raghav1211/laconica3/laconica/' rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085679&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=a2397d4f3f3927b7cdc3ab26607fc66e&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;raghav&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085679&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-15T11:00:16&quot;&gt;2008-07-15T11:00:16&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;sorry the link is this.........................&lt;/p&gt;

&lt;p&gt;http://www.earnstop.com/raghav1211/laconica3/laconica/&lt;/p&gt;

&lt;p&gt;http://www.earnstop.com/raghav1211/laconica3/laconica/&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085680&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=1ff3d26e10560a02cade856bac212ec5&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Herman&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085680&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-17T10:22:14&quot;&gt;2008-07-17T10:22:14&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;I am trying to get a laconica install up on a box running RHEL 5.1, PHP 5.1.6 with Apache/2.2.3.  However after completing all the steps recommended in your (very kewl) post above I run into the same brick wall as i did later when following the directions on http://www.orient-lodge.com/node/3051&lt;/p&gt;

&lt;p&gt;The error I keep getting is &quot;Call to undefined method XMLWriter::fullEndElement()&quot; in util.php on line 98.&lt;/p&gt;

&lt;p&gt;Could there possibly be something that I am overlooking as I have on a previous install attempted to descend into the rabbit hole of &quot;fixing&quot; the laconica code which I am sure cannot be broken as so many other people have successfully deployed it?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085681&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=219ded085ef7954bc42a21a24b81c8cd&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Eric_A&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085681&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-17T16:18:50&quot;&gt;2008-07-17T16:18:50&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Use the latest release of XMPP if you are getting XMPP errors with the latest version of laconica&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085682&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=a2397d4f3f3927b7cdc3ab26607fc66e&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;raghav&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085682&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-18T06:34:31&quot;&gt;2008-07-18T06:34:31&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;i solved my earlier problem of theme but now another problem is emerging that of configuring xmpphp.......can anyone explain it in detail how to install cos many people are not able to activate xmpphp in their laconica apps..........if i get the solution myself i would post it here............&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085683&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=1ff3d26e10560a02cade856bac212ec5&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Herman&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085683&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-18T15:12:49&quot;&gt;2008-07-18T15:12:49&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Hey,&lt;/p&gt;

&lt;p&gt;So the problem with my the error mentioned in my previous post was that when PHP was compiled for the server in question the XmlWriter/Reader components were disabled.  After re-compiling PHP on this server etc the error went away.&lt;/p&gt;

&lt;p&gt;Now the error is the inability to connect to the MySQL server?  This with the relevant connection string entries being made in config.php &amp;amp; dataobject.ini?  These settings are definately correct as I am able to connect to the database from the command line copying and pasting the entries from these files.&lt;/p&gt;

&lt;p&gt;However it seems like access is trying to be gained on a &quot;strange&quot; port?  Is there some specific place where this has to be configured?  The error I am getting boils down to this: &quot;nativecode=Can't connect to local MySQL server through socket&quot;&lt;/p&gt;

&lt;p&gt;Any input regarding this problem would be greatly appreciated!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085685&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=1ff3d26e10560a02cade856bac212ec5&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Herman&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085685&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-18T15:14:36&quot;&gt;2008-07-18T15:14:36&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085686&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.nedrichards.com/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=7998e3215aae5f66f3f9503848e10a53&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.nedrichards.com/&quot;&gt;Nick&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085686&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-23T08:41:39&quot;&gt;2008-07-23T08:41:39&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Just to note for more recent install 0.4.4 and onwards you need XMP-PHP at least 0.1-r50 or up. Available &lt;a href=&quot;http://code.google.com/p/xmpphp/downloads/detail?name=xmpphp-0.1beta-r50.tar.gz&amp;amp;can=2&amp;amp;q=&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085688&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=1ff3d26e10560a02cade856bac212ec5&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Herman&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085688&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-23T10:37:32&quot;&gt;2008-07-23T10:37:32&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;All the issues I experienced ended up being server related.  After sorting my server out the laconica install went like a dream.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085689&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=5205203588500898bdd26a19a5e063d2&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;tagnu&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085689&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-23T21:39:20&quot;&gt;2008-07-23T21:39:20&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;Please merge the comments 15,16 regarding &quot;DB_DataObject Error&quot;&lt;/p&gt;

&lt;p&gt;It may confuse first timers.&lt;/p&gt;

&lt;p&gt;Wonderful post!!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085690&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=e1cf776be906a7f016a66e14103627e0&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;sasi&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085690&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-26T06:37:48&quot;&gt;2008-07-26T06:37:48&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Thanks for your post, i was able to install laconica (after much pain - mainly due to server issues)
But when i do a notice, i get this message&lt;/p&gt;

&lt;p&gt;Problem saving notice.&lt;/p&gt;

&lt;p&gt;Did anyone had similar problem...&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085692&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8ba7b4a8cef7076956e42feb8412950e&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Brian&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085692&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-27T17:05:15&quot;&gt;2008-07-27T17:05:15&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I can't start the xmppdaemon. I'm stuck:&lt;/p&gt;

&lt;p&gt;Unknown error type: [2048] Non-static method PEAR::getStaticProperty() should not be called statically
Unknown error type: [2048] Assigning the return value of new by reference is deprecated
1217178205 [INFO]: Connecting to tcp://xxxx.com:5222
1217178205 [VERBOSE]: SENT: 
1217178205 [VERBOSE]: RECV: &lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085694&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.smallbizpod.co.uk&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=3a4541c5d4d1cba01af02d9bb61254e5&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.smallbizpod.co.uk&quot;&gt;Alex Bellinger&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085694&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-28T23:32:19&quot;&gt;2008-07-28T23:32:19&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I've installed Laconica using the excellent instructions above, but am getting a couple of odd responses as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;on logging out and after submitting a 'dent', laconica returns a blank page&lt;/li&gt;
&lt;li&gt;when I turn debut to 5 I see I get the following errors: DB_DataObject: ERROR: No Data return from get [and then userid or hash]&lt;/li&gt;
&lt;li&gt;error_log files are returning &quot;Cannot modify header information - headers already sent by (output started at /usr/share/pear/DB/DataObject.php:4006) in ... /util.php on line 876&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any ideas what I need to tweak in order to correct these errors?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085696&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.krazyness.net/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=931edb10ae9070e85a2ad53ddb836c89&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.krazyness.net/&quot;&gt;Edward&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085696&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-07-31T19:11:10&quot;&gt;2008-07-31T19:11:10&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I'm getting problems installing Laconica.&lt;/p&gt;

&lt;p&gt;&quot;&lt;b&gt;Fatal error&lt;/b&gt;:  Call to undefined method XMLWriter::fullEndElement() in &lt;b&gt;/var/www/html/vbtwitter/lib/util.php&lt;/b&gt; on line &lt;b&gt;98&lt;/b&gt;&quot;&lt;/p&gt;

&lt;p&gt;I have XMLWriter installed though - PHPInfo shows that it's enabled. Any ideas?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085697&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://saigonnezumi.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2d768af06ac71dac69c9316647d9d0cd&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://saigonnezumi.com&quot;&gt;SaigonNezumi (Kevin)&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085697&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-07T15:14:27&quot;&gt;2008-08-07T15:14:27&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Great guide.  I am working on this project with my high school students here in Vietnam.  They want to see if they can do a start-up company with this application marketed at students.  Great guide.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085698&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://360.yahoo.com/chutuoc2005&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8e4a0f80398fac4281394cf45d4c6bbd&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://360.yahoo.com/chutuoc2005&quot;&gt;IT_V&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085698&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-10T10:02:08&quot;&gt;2008-08-10T10:02:08&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Warning: require_once(markdown.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/darcs/lib/common.php on line 122&lt;/p&gt;

&lt;p&gt;Fatal error: require&lt;em&gt;once() [function.require]: Failed opening required 'markdown.php' (include&lt;/em&gt;path='.:/usr/share/php:/usr/share/pear:/var/www/darcs/extlib') in /var/www/darcs/lib/common.php on line 122&lt;/p&gt;

&lt;p&gt;WHo can help me huhuh.. i got this problem ...&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085699&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8e4a0f80398fac4281394cf45d4c6bbd&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;IT_V&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085699&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-10T10:02:54&quot;&gt;2008-08-10T10:02:54&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Warning: require_once(markdown.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/darcs/lib/common.php on line 122&lt;/p&gt;

&lt;p&gt;Fatal error: require&lt;em&gt;once() [function.require]: Failed opening required 'markdown.php' (include&lt;/em&gt;path='.:/usr/share/php:/usr/share/pear:/var/www/darcs/extlib') in /var/www/darcs/lib/common.php on line 122&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085700&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=8e4a0f80398fac4281394cf45d4c6bbd&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;IT_V&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085700&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-10T10:53:58&quot;&gt;2008-08-10T10:53:58&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;ok i almost done but i got problem again .... when i click on the login it gave me blank page ... and when i click on openID i gave me this error&lt;/p&gt;

&lt;p&gt;Warning: require_once(Auth/OpenID.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/darcs/lib/openid.php on line 24&lt;/p&gt;

&lt;p&gt;Fatal error: require&lt;em&gt;once() [function.require]: Failed opening required 'Auth/OpenID.php' (include&lt;/em&gt;path='.:/usr/share/php:/usr/share/pear:/var/www/darcs/extlib') in /var/www/darcs/lib/openid.php on line 24&lt;/p&gt;

&lt;p&gt;anyone can help me fix that ... thanks alot&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085701&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://neildurbin.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=d6a40f0afbb4054b40dc3c826e813ad4&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://neildurbin.com&quot;&gt;Durbin&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085701&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-17T20:38:33&quot;&gt;2008-08-17T20:38:33&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;To everyone who is getting XMLWriter problems, My guess is its because there are XMLWriter functions like fullEndElement() that were added or modified from php5.1.6 to php5.2.5.  Unfortunately centos and redhat don't support php past 5.1.6 so i've been searching for a hack that allows 5.2.5 on centos of redhat, found a couple but haven't got them to work.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085702&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://neildurbin.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=d6a40f0afbb4054b40dc3c826e813ad4&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://neildurbin.com&quot;&gt;Durbin&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085702&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-17T23:37:05&quot;&gt;2008-08-17T23:37:05&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;found a solution for the &quot;Call to undefined method XMLWriter::fullEndElement()&quot; problems.  It is due to the fact that these functions aren't included in older versions of php, see here. http://us2.php.net/manual/en/migration52.functions.php&lt;/p&gt;

&lt;p&gt;but here is a great wiki on upgrading to php5.2.x on centos or redhat&lt;/p&gt;

&lt;p&gt;http://www.atomicorp.com/wiki/index.php/PHP&lt;/p&gt;

&lt;p&gt;once I upgraded everything worked properly.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085704&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://army.twit.tv&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=68d93be700edec53fdcf153335d87ef5&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://army.twit.tv&quot;&gt;Leo Laporte&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085704&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-22T05:12:47&quot;&gt;2008-08-22T05:12:47&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Excellent and very useful instructions. We're up and running. I'd love to get XMPP and XRDS running, but all in good time! Thanks so much!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085705&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://koldfront.dk/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=f0eb53c993d09b1135375938f9727c28&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://koldfront.dk/&quot;&gt;Adam Sjøgren&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085705&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-24T19:20:37&quot;&gt;2008-08-24T19:20:37&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I can log in to identi.ca with my OpenID, but neither to your laconica instance on decafbad.com or Leo Laportes on army.twit.tv - my guess is that you don't allow OpenID Provider endpoints with self-signed SSL-certificates - do you know what identi.ca has set up differently, since they seem to allow self-signed certs?&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085707&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=572197696d3d01b698dec4d5bca522fd&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Marco&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085707&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-08-29T12:19:25&quot;&gt;2008-08-29T12:19:25&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Hi, I cannot install PEAR or other dependencies and I tried install laconica3, is a development tarball based on 0.4.3, but I received following error: Parse error: syntax error, unexpected T&lt;em&gt;STRING in /home/web/public&lt;/em&gt;html/laconica/lib/util.php on line 468. Could you help me? Thanks&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085708&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=94744f391cdcd7b729c49922ef0a91d3&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Friedrich Zohmann&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085708&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-09-04T15:35:35&quot;&gt;2008-09-04T15:35:35&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I installed Laconia using this manual and its working fine, but I dont know how to get it federated. Can you please tell me, where to find info on that.&lt;/p&gt;

&lt;p&gt;thanks, Friedrich&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085710&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=9a08bc30f7ed6146adee1cf28befcffe&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Håkan Eriksson&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085710&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-09-14T22:35:00&quot;&gt;2008-09-14T22:35:00&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I have Laconica 0.5.0 up and running at the adress: http://www.korvmedbrod.com&lt;/p&gt;

&lt;p&gt;I have this installed on Dreamhost PS
I have trouble to get XMPP daemon to work, I only get error mess when i use $ ./scripts/startdaemon.sh .
Like this: 
Starting xmppdaemon.php...
Parse error: syntax error, unexpected T_STRING in /my_laconica_path/lib/util.php on line 543
DONE.&lt;/p&gt;

&lt;p&gt;I have switched over to PHP5 in the DH panel, can anybody help me, please!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085712&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=52ebf2886689d49f720426ac88337f9f&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;Webcubes&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085712&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-09-15T09:23:59&quot;&gt;2008-09-15T09:23:59&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Hello,
I have a laconica installation and it works well except for the IM and mail stuff.
When I run xmppdaemon.php, I get the daemon working and can post notices, but the daemon dtops working and the jabber(update@domain.com) get signed off. I get the following error while I run xmppdaemon
on a PHP5 linux box.&lt;/p&gt;

&lt;p&gt;Unknown error type: [2048] Assigning the return value of new by reference is deprecated (/home/adelphus/public_html/pear/PEAR.php:563)
Unknown error type: [2048] Assigning the return value of new by reference is deprecated (/home/adelphus/public_html/pear/PEAR.php:566)
Unknown error type: [2048] Non-static method PEAR::getStaticProperty() should not be called statically (/home/adelphus/public_html/blog/lib/common.php:93)
Unknown error type: [2048] Assigning the return value of new by reference is deprecated (/home/adelphus/public_html/pear/Mail.php:154)
Unknown error type: [8] Undefined offset:  3 (/home/adelphus/public_html/blog/lib/jabber.php:57)
Unknown error type: [8] Use of undefined constant CLAIM_TIMEOUT - assumed 'CLAIM_TIMEOUT' (/home/adelphus/public_html/blog/xmppdaemon.php:341)
Unknown error type: [2048] Non-static method PEAR::getStaticProperty() should not be called statically, assuming $this from incompatible context (/home/adelphus/public_html/pear/DB/DataObject.php:4101)
Unknown error type: [2048] Non-static method PEAR::getStaticProperty() should not be called statically, assuming $this from incompatible context (/home/adelphus/public_html/pear/DB/DataObject.php:2236)
Unknown error type: [2048] Non-static method DB::connect() should not be called statically, assuming $this from incompatible context (/home/adelphus/public_html/pear/DB/DataObject.php:2241)
Unknown error type: [2048] Non-static method DB::parseDSN() should not be called statically, assuming $this from incompatible context (/home/adelphus/public_html/pear/DB.php:520)
Unknown error type: [2048] Assigning the return value of new by reference is deprecated (/home/adelphus/public_html/pear/DB/common.php:1017)
Unknown error type: [2048] Assigning the return value of new by reference is deprecated (/home/adelphus/public_html/pear/DB/common.php:1220)
Unknown error type: [2048] Non-static method DB::isError() should not be called statically, assuming $this from incompatible context (/home/adelphus/public_html/pear/DB.php:557)
Unknown error type: [2048] Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context (/home/adelphus/public_html/pear/DB/DataObject.php:2260)
Unknown error type: [2048] is_a(): Deprecated. Please use the instanceof operator (/home/adelphus/public_html/pear/PEAR.php:275)
Unknown error type: [2048] Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context (/home/adelphus/public_html/pear/DB/DataObject.php:2132)
...........&lt;/p&gt;

&lt;p&gt;Can anyone help me with this issue?&lt;/p&gt;

&lt;p&gt;Thanks,
Webcubes&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085715&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=dce9ab336a72f676e33929c4fed7664d&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;ta&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085715&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-09-19T00:14:12&quot;&gt;2008-09-19T00:14:12&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;It would be great if somebody can help me on this:&lt;/p&gt;

&lt;p&gt;XML Parsing Error: no element found
Location: http://localhost/laconica/index.php?action=public
Line Number 1, Column 1:&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085718&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://raseel.in/techblog&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=4f84cfc2e3b54a9d2f9977d3d34fa323&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://raseel.in/techblog&quot;&gt;Raseel&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085718&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2008-09-27T21:37:58&quot;&gt;2008-09-27T21:37:58&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;How do you fix the following error : 
&quot;Parse error: syntax error, unexpected T_STRING in /my_laconica_path/lib/util.php on line 532&quot;&lt;/p&gt;

&lt;p&gt;Its in the function common_set_user()/&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    

    <entry>
        <title>Outsourcing creativity via APIs</title>
        <link href="http://decafbad.com/blog/2007/11/01/outsourcing-creativity-via-apis"/>
        <updated>2007-11-01T18:17:21+00:00</updated>
        <id>http://decafbad.com/blog/2007/11/01/outsourcing-creativity-via-apis</id>
        <content type="html">&lt;p&gt;&lt;a href=&quot;http://valleywag.com/tech/pownce/pownce-documents-self+promotion-api-316869.php&quot;&gt;Tim Faulkner at Valleywag&lt;/a&gt;: &quot;&lt;i&gt;I blame Twitter. It's not enough to be a website anymore. Oh no. You must be a platform. Have an API. Court developers. Build an &quot;ecosystem.&quot; Whatever. You know what an application programming interface really is? An admission that you're too poor, cheap, or uncreative to build all the features your website needs.&lt;/i&gt;&quot;&lt;/p&gt;

&lt;p&gt;Welcome to Web 2.0, Tim - we've been doing this thing for most of a decade or longer now.   I know this is coming from Valleywag and fine-tuned as trollbait and all, but this just struck me as particularly dumb.&lt;/p&gt;

&lt;p&gt;It's probably because most of my job right now is working on APIs and feeds for delicious, and I'm partial to the concept in general.  Because, yeah, really:  An API &lt;b&gt;is&lt;/b&gt; an admission that you haven't the creativity or time to build everything your website needs.  No one does.  Anyone who doesn't make (or denies) that admission is either lying, clueless, or sadly mistaken.  Anyone who starts with that admission and manages to open up to let users fill in their own gaps has a chance at hosting something really interesting.&lt;/p&gt;

&lt;p&gt;And, yeah, thanks to the swooning hype over Facebook and others, it's a little over-exposed right now and tickling curmudgeonly snark-emitters.  But, that doesn't mean the concept's a bad one or that it's going away.&lt;/p&gt;

&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221086718&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://plasmasturm.org/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=e17949267bbfe21a0fadf1bbf00592b4&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://plasmasturm.org/&quot;&gt;Aristotle Pagaltzis&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221086718&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-11-01T21:46:19&quot;&gt;2007-11-01T21:46:19&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Obviously he is waxing nostalgic about the days when people screen scraped HTML rather than having a formal API. That, or he’s too naïve to realise that every web site is a service, &lt;em&gt;by definition&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    

    <entry>
        <title>Twitter's Mojo Bubble</title>
        <link href="http://decafbad.com/blog/2007/10/18/twitters-mojo-bubble"/>
        <updated>2007-10-18T02:36:55+00:00</updated>
        <id>http://decafbad.com/blog/2007/10/18/twitters-mojo-bubble</id>
        <content type="html">&lt;p&gt;&lt;a href=&quot;http://weblogs.jupiterresearch.com/analysts/gartenberg/archives/2007/10/still_not_twitt.html&quot;&gt;Michael Gartenberg&lt;/a&gt;: &quot;&lt;i&gt;First, it's another queue to check. ... It looks like I could add Twitter into the flow of RSS feeds but do I really want to do that?&lt;/i&gt;&quot;&lt;/p&gt;


&lt;p&gt;No, you don't want to do that.&lt;/p&gt;


&lt;p&gt;If you're &quot;checking your Twitter queue&quot; - you're doing it wrong.  You should be using something like &lt;a href=&quot;http://iconfactory.com/software/twitterrific&quot;&gt;Twitteriffic&lt;/a&gt; or a good IM client that semi-unobtrusively surfaces recent Twitter activity in the periphery of your screen.  Things either catch your eye occasionally, or the messages pass you by.  It's okay to miss things.  In fact, it's mandatory to miss lots of things at a fully attentive and conscious level.&lt;/p&gt;


&lt;p&gt;And, if you think &quot;I'm going to post to my Twitter Blog now&quot; - you're doing it wrong in that way too.  You should be absentmindedly emitting something barely edited and pondered from your stream of consciousness every now and then.  Maybe drop something a little more well-considered every now and then.  But, spend any more than 3 seconds or so at a time spewing something into the ether, and you've likely missed the Twitter magic.&lt;/p&gt;


&lt;p&gt;This stance toward Twitter interaction is where I find the mojo.  Outside of those fine lines, the Twitter soap bubble bursts and the magic smoke escapes.&lt;/p&gt;




&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221086076&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://slackorama.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=15b474c86cd73c2d12c1d77af11c1d8a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://slackorama.com&quot;&gt;seth&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221086076&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-10-18T08:23:34&quot;&gt;2007-10-18T08:23:34&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Be still my beating heart!  Three posts in a single day to your classic blog.  Go!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221086077&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221086077&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-10-18T14:34:42&quot;&gt;2007-10-18T14:34:42&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Yeah, I know - like, I think I almost hurt myself.  :)&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221086079&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://brian.cors.org&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=7b3073e125f3ac8f09130950ef5d7790&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://brian.cors.org&quot;&gt;brian cors&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221086079&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-10-18T15:48:04&quot;&gt;2007-10-18T15:48:04&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I actually use Twitter more than I &quot;normally&quot; blog.   But I do, in fact, have Tweets for each day archived on my WordPress blog, for archiving—in case a nuke-yuh-luhr bomb hits Twitter HQ, etc.   All in all, it's working out quite well for me.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221086081&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://vielmetti.typepad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=e377f3e2140297d32460ae9a4b38ff98&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://vielmetti.typepad.com&quot;&gt;Edward Vielmetti&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221086081&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-10-22T11:25:17&quot;&gt;2007-10-22T11:25:17&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Semi-conscious twitters are amusing,but remember that if you can't twitter something nice, don't twitter anything at all.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    

    <entry>
        <title>Sticky Tags for Twitter?</title>
        <link href="http://decafbad.com/blog/2007/08/22/sticky-tags-for-twitter"/>
        <updated>2007-08-22T03:31:26+00:00</updated>
        <id>http://decafbad.com/blog/2007/08/22/sticky-tags-for-twitter</id>
        <content type="html">&lt;p&gt;I should elaborate on what I mean by &lt;a href=&quot;http://twitter.com/lmorchard/statuses/218773732&quot;&gt;tags in Twitter&lt;/a&gt;, since I got a few head-scratching responses.&lt;/p&gt;


&lt;p&gt;No, fitting tags into the 140 characters for a message won't work.  And, no, tagging every tweet as you go is a horrible approach - no one will do it.  What I've thought might work, though, are &lt;i&gt;sticky tags&lt;/i&gt;.&lt;/p&gt;


&lt;p&gt;Sticky tags would persist from update to update.  From the web UI, you could drop &quot;work&quot; or &quot;gnomedex&quot; or &quot;l:95051 beer concert somerandomband&quot; into an additional tags field and all tweets from then on will gain those tags until you empty the tag field.&lt;/p&gt;


&lt;p&gt;There could be shortcut commands to change or clear tags - ala &quot;d someone&quot; for direct messaging.  This would be especially useful while out and about and mobile.  Say you text &quot;t bus commute&quot; to Twitter when you get on the bus for home, then anything you might emit from then on, until you change the tags, gets tagged with &quot;bus&quot; and &quot;commute&quot;.&lt;/p&gt;


&lt;p&gt;Then, you and others could follow this particular thread of tweets via &lt;a href=&quot;http://twitter.com/yourname/commute&quot;&gt;http://twitter.com/yourname/commute&lt;/a&gt; - or even with tag intersections ala delicious: &lt;a href=&quot;http://twitter.com/yourname/commute+bus&quot;&gt;http://twitter.com/yourname/commute+bus&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Going to be at SxSW for awhile?  Drop &quot;sxsw&quot; into your sticky tags.  Maybe someday everyone who doesn't want to hear it can filter out tweets with that tag rather than stop following you altogether.&lt;/p&gt;


&lt;p&gt;Having some sticky tags can allow a bit of metadata and filtering hooks to follow you for awhile without requiring you to do or remember much.  Keeping them as free-form text strings allows some cow-pathing as people invent conventions.&lt;/p&gt;


&lt;p&gt;Think of these tags as kind of long-running &lt;i&gt;meta&lt;/i&gt;-status.  &lt;/p&gt;




&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085861&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.ecademy.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=ce83a8e239c0cfce3488d3fec4d5d8de&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.ecademy.com&quot;&gt;Julian Bond&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085861&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-22T07:35:44&quot;&gt;2007-08-22T07:35:44&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Dave Troy's location nanoformat does this already as you've shown above. There's potential for some third party to do exactly the same thing. Invent a format like 
T:my&lt;em&gt;current&lt;/em&gt;tag
And then provide some UI to do something with the aggregated tags.
The problem with this, as with Twittervision, is the need to take a backup of the whole twitter stream to work on.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085863&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085863&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-22T08:25:09&quot;&gt;2007-08-22T08:25:09&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;The problem with tag-as-nanoformat is that there's already enough message trying to get crammed into the 140 characters, adding more metacrap there just squishes that even further and doesn't get the stickiness to boot.&lt;/p&gt;

&lt;p&gt;I could address the second in my browser with a GreaseMonkey script, and maybe build a proxy to which I can text from my phone to manage tag stickiness there...  But, it's not just the ability to express the tags - it's also being able to filter updates incoming in the present and retrieve them later by way of tags.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085865&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=c51d39fe0d256f16e0d743cde9f71cc2&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;&quot;&gt;karl&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085865&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-22T09:15:17&quot;&gt;2007-08-22T09:15:17&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;simpler, make every words a tag. 
The fact that some words will become more used will be natural.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085867&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.joegrossberg.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=f288a8afe5302a16a366d5e9d34f2fec&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.joegrossberg.com&quot;&gt;Joe Grossberg&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085867&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-22T13:13:10&quot;&gt;2007-08-22T13:13:10&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;With all due respect ... PLEASE NO. Keep it simple. That's the beauty of Twitter. No comments. No titles. No extended entries. No metadata other than username and datetime.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085868&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://webseitz.fluxent.com/wiki&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=1d7a7610cb0f02de44be3c4186f82ac3&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://webseitz.fluxent.com/wiki&quot;&gt;Bill Seitz&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085868&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-22T15:29:10&quot;&gt;2007-08-22T15:29:10&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Les, you know what I'm gonna say: WikiWordAsTag&lt;/p&gt;

&lt;p&gt;http://webseitz.fluxent.com/wiki/WikiWordAsTag&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085869&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085869&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-22T17:17:55&quot;&gt;2007-08-22T17:17:55&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I do agree that simplicity is the beauty of Twitter.  I don't want titles, comments, or extended entries - that's what a blog is for.  I don't want features added just for coolness sake or whatever.&lt;/p&gt;

&lt;p&gt;But, I can see a set of problems with the Twitter experience that might be helped with something that adds a bit more context - and something like tags seems like a lightweight and somewhat simple way to do it.  Making them sticky helps make them less cumbersome to use.&lt;/p&gt;

&lt;p&gt;I'd really like to be able to pick and choose the sorts of updates I receive from people I follow, across different means of receiving them.  For example, I might not want to get all of someone's random ponderings on my phone, but I'd like to get pinged when they start talking about when they're leaving for the party tonight.  If they switch to a new set of tags I'm watching for, this can happen.&lt;/p&gt;

&lt;p&gt;Or, maybe after a Hack Day London, I'd like to go back and see what the chatter was about - ie. I can &lt;em&gt;see&lt;/em&gt; what went on via the hackdaylondon tag on Flickr, and I'd like something like that for Twitter.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085870&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.elroyjetson.org&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=4a34cf8d239b6589024fc004cfdad5b8&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.elroyjetson.org&quot;&gt;Elroy Jetson&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085870&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-22T17:48:55&quot;&gt;2007-08-22T17:48:55&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I have to agree that having tags would make it nice to filter the wheat from the chafe.  Let's face it.  Not everything someone microblogs about is important to me.  &lt;/p&gt;

&lt;p&gt;Take this post from Robert Scoble who does occasionally have something intelligent to say, but not in this case:  &quot;I'm done filling up Twitter and peeing in the pool for tonight. Good night!&quot;&lt;/p&gt;

&lt;p&gt;I don't really need this zipping in to my cell phone when I am looking for that golden nugget of information.  By tagging I could have filtered this out.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085872&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://twitter.com/zachhale&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=d204ba1147a9dfb76320a8a2a4b1e5f8&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://twitter.com/zachhale&quot;&gt;Zach Hale&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085872&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-23T01:07:36&quot;&gt;2007-08-23T01:07:36&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;This idea for sticky tags seems like it may be useful for rare mass gatherings like SXSW but I can't see this to be anything more than a headache other times. Most of the time messages I post and I see others post to Twitter are random and inconsistent. In these normal circumstances having to send TWO messages to set the tags then send the tweet would be absurd.&lt;/p&gt;

&lt;p&gt;I like the idea but, for sticky tags, I can't see anything more than a conference tag to be actually useful AND easy to manage.&lt;/p&gt;

&lt;p&gt;Tagging IN the message might be useful but seems like a lot of overhead when we're already limited to 140 characters and not something I could see people actually starting to use. I don't ever wish I could filter out my friends posts. I never know what I'm interested in until I hear it -- that's the beauty of Twitter!&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085873&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://laughingmeme.org&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=01457d1a0f0e533062cd0d1033fb4d7a&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://laughingmeme.org&quot;&gt;kellan&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085873&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-23T01:19:03&quot;&gt;2007-08-23T01:19:03&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Because no one ever got confused by sticky tags in CVS!  :)  &lt;/p&gt;

&lt;p&gt;Though really this is the only possible version of tagging on twitter which could work, statuses tagged with inherited context.&lt;/p&gt;

&lt;p&gt;That said I think that features which need new syntax are going to appear very very slowly cf. groups.&lt;/p&gt;

&lt;p&gt;Thinking a capital A at the beginning of the line should clear all sticky tags.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085874&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://twitter.com/zachhale&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=d204ba1147a9dfb76320a8a2a4b1e5f8&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://twitter.com/zachhale&quot;&gt;Zach Hale&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085874&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-23T04:51:06&quot;&gt;2007-08-23T04:51:06&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Adding to my previous comments, I really like what &lt;a href=&quot;http://decafbad.com/blog/2007/08/21/sticky-tags-for-twitter#comment-236717&quot; rel=&quot;nofollow&quot;&gt;karl said&lt;/a&gt; about making every word a tag. Why not? This would allow almost infinite flexibility with how the user would like to add tags to their content.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085875&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://xiled.rss-central.net/blog&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=750dbcc9cc192bfad37a3daa4edf139e&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://xiled.rss-central.net/blog&quot;&gt;megalar&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085875&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-24T01:15:38&quot;&gt;2007-08-24T01:15:38&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I concur and obviously this can't be a user created convention by something in the post. The 140 character limit would require the developers to add a field to the db if regular tagging was used, which given the past db issues at twitter might be unlikely. This might be more workable with the sticky tags method.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085876&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://microformats.org/wiki/twitternanoformats&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=38ee225a74381dd88e29fedf03dec158&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://microformats.org/wiki/twitternanoformats&quot;&gt;Teketen&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085876&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-08-30T05:24:38&quot;&gt;2007-08-30T05:24:38&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Do you know nanoformats? I'm working in this for a time. For example we are using some nanoformats to construct events and then transform to microformats (http://www.txioka.net/ekitaldiak.php is an example). Tag nanoformat exist an is used to give people the oportunnity to filter information.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085879&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://vielmetti.typepad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=e377f3e2140297d32460ae9a4b38ff98&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://vielmetti.typepad.com&quot;&gt;Edward Vielmetti&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085879&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-09-18T17:18:01&quot;&gt;2007-09-18T17:18:01&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@stoweboyd has been experimenting with the leading octothorpe as a tag indicator, used thusly: #tag&lt;/p&gt;

&lt;p&gt;I find that it looks kind of goofy, since I associate that character with a name of an IRC channel.  That does suggest though the use of a # namespace where you could reasonably tag something with a tag like #a2b3 and then have a way to tune into everyone who used that tag recently (a la what you can do if you are a user and someone tags a post with @username).&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221085880&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://tweetertags.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=ab6f5b63751601a3a578b0fbcef784a1&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://tweetertags.com&quot;&gt;jonoble&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221085880&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2009-02-18T11:09:48&quot;&gt;2009-02-18T11:09:48&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;I know this is quite an old post now, but at risk of sounding like comment spam, I wanted to mention a new Twitter app that we've recently launched which may be of interest to you - tweetertags.com lets you tag your Twitter profile, not individual tweets. The intention is to help you find, and be found by, people with similar interest on Twitter. Please check us out and we'd welcome any feedback to @tweetertags on Twitter.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    

    <entry>
        <title>Damn kids!  Get off my web!</title>
        <link href="http://decafbad.com/blog/2007/05/16/damn-kids-get-off-my-web"/>
        <updated>2007-05-16T17:31:13+00:00</updated>
        <id>http://decafbad.com/blog/2007/05/16/damn-kids-get-off-my-web</id>
        <content type="html">&lt;p&gt;&lt;a href=&quot;http://www.scottburkett.com/index.php/misc/2007-05-08/stop-twittering-and-go-solve-a-problem.html&quot;&gt;Scott Burkett, Stop Twittering and Go Solve a Problem&lt;/a&gt;: &quot;Aside from aesthetically looking like something a 12 year old cobbled up, the entire tool seems utterly pointless to me.&quot;&lt;/p&gt;


&lt;p&gt;For Scott, Twitter probably &lt;i&gt;is&lt;/i&gt; pointless at first glance.  And that's because no one's talking to him.  Really, this should be a FAQ for all social media, to be read by all journalists and commentators:  Listening in on random strangers' conversations is more likely to be boring than not, and that's what you're doing if you just go to &lt;a href=&quot;http://twitter.com&quot;&gt;twitter.com&lt;/a&gt; and start clicking around.  But, to assume because &lt;i&gt;you're&lt;/i&gt; bored that the service as a &lt;i&gt;whole&lt;/i&gt; is boring is, again, to be one of the &lt;a href=&quot;http://www.noogenesis.com/pineapple/blind_men_elephant.html&quot;&gt;Blind Men with an Elephant&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Twitter becomes immensely interesting when it turns out that you've amassed a group of contacts who tend to run in similar circles as you, because even their off-handed remarks and random burps have a decent chance of surfacing something interesting or entertaining.  When it's good, this sets up a nice ambient chatter like sitting in a coffee shop filled with just your kind of people.&lt;/p&gt;


&lt;p&gt;This same &quot;I'm bored, so it's boring&quot; mistake has popped up again and again - applied to blogging, MMORPGs, social bookmarking, MySpace, what have you.  Replace &quot;bored/boring&quot; with &quot;confused/confusing&quot; or &quot;annoyed/annoying&quot; and you've got my own early reactions to MySpace.&lt;/p&gt;


&lt;p&gt;But, really, it's not &lt;i&gt;addressed to you&lt;/i&gt; if there's a buzz and you're not groking it.  That's a clue that you're probably missing something.  Granted, people can be insane, but it really is more likely that you're missing something - even if it's just that there's a particular brand of entertaining insanity in progress to which you're not attuned.&lt;/p&gt;




&lt;div id=&quot;comments&quot; class=&quot;comments archived-comments&quot;&gt;
            &lt;h3&gt;Archived Comments&lt;/h3&gt;
            
        &lt;ul class=&quot;comments&quot;&gt;
            
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084309&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://decafbad.net&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=ab21890e84fd31ff0d651d77bc82d118&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://decafbad.net&quot;&gt;CraigM&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084309&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-05-16T21:46:56&quot;&gt;2007-05-16T21:46:56&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;No, I'm pretty much missing out on the appeal of MySpace and Twitter, but that's because I'm an electronic hermit. Welcome to the Social? Screw that. Welcome to my front lawn, kids, and you're welcome to get off of it. :)&lt;/p&gt;

&lt;p&gt;All kidding aside, I think there's plenty of room for any kind of project people want to put together. I thought KDE and GNOME were silly for trying to recreate CDE, but they saw further than CDE. Had I been vocal, I might have dissuaded someone from contributing to the project. What kind of an asshole would I have been had I kept one of the main developers of these projects from developing? So, if Twitter, MySpace, Live Journal, or one of the hundreds of other social networks speaks to someone, by all means have fun. Me? I might check out Twitter. Most of the bands I like have MySapce pages now, so I think it'll be inevitable before I start a MySpace account. &lt;/p&gt;

&lt;p&gt;Heck, it took me a while before I started up my Last.fm account, so one thing at a time. :)&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084311&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://decafbad.net&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=ab21890e84fd31ff0d651d77bc82d118&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://decafbad.net&quot;&gt;CraigM&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084311&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-05-16T21:53:52&quot;&gt;2007-05-16T21:53:52&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Oh, and my lovely corporate overlords think Twitter might lead to dating or personals, so they've helpfully blocked it. They're so thoughtful.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084312&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.scottburkett.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=09bac4c3a40c7f3031c394478b2baa9c&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.scottburkett.com&quot;&gt;Scott Burkett&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084312&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-05-17T04:05:21&quot;&gt;2007-05-17T04:05:21&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Interesting post, but I should clarify a few things.&lt;/p&gt;

&lt;p&gt;First, I never used the words &quot;boring&quot;, &quot;confused&quot; or &quot;annoying&quot; in my post.  I simply stated my own dislike of the tool. Twitter is a very polarizing tool - if you find value in it, great. But neither of us are alone.&lt;/p&gt;

&lt;p&gt;Second, I am a big MMO guy, and use plenty of other social media tools (hell, my last two startups were community/social media plays.)&lt;/p&gt;

&lt;p&gt;Third, the whole point of my original post was to point out the very old business trap that a particular young entrepreneur was about to fall into.&lt;/p&gt;

&lt;p&gt;If you get value out of Twitter, great.  That wasn't my point.&lt;/p&gt;

&lt;p&gt;Cheers.
Scott&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084313&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084313&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-05-17T06:51:11&quot;&gt;2007-05-17T06:51:11&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@CraigM: Being a digital hermit, now that's a perfectly fine and reasonable excuse to miss out on Twitter and MySpace.  I'm mostly an introvert in person, but somehow am semi-extroverted online to compensate.  Some people don't need that.  :)&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084314&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=2377f34a68801b861c3e54e1301f0dce&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://www.decafbad.com&quot;&gt;l.m.orchard&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084314&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-05-17T07:26:41&quot;&gt;2007-05-17T07:26:41&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;@Scott Burkett:  No, you didn't use “boring”, “confused” or “annoying” - though others have.  What you said really prompted me to comment on what I've seen happen over and over again, so it's not just (or even mostly) you.&lt;/p&gt;

&lt;p&gt;Though, when you write &quot;stop worrying about creating mindless tools to keep track of everything your friends are doing, and start solving real problems&quot; - I have to respond that keeping track of everything your friends are doing is a real problem some people want solved. :)  Now, whether there's still room in that market beyond Twitter... well, I dunno.  I have a hunch yes, that they're onto something big - but I'm not personally putting money down on it.&lt;/p&gt;

&lt;p&gt;On the other hand, the point I take your post otherwise is that just being a copy-cat isn't enough.  Twitter's addressing a problem for some people.  That problem might have room to be solved more effectively.  But, if you can't figure that out, or if the problem's really not that deep, then yeah:  Find something else to make.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;li class=&quot;comment&quot; id=&quot;comment-221084315&quot;&gt;
            &lt;div class=&quot;meta&quot;&gt;
                &lt;div class=&quot;author&quot;&gt;
                    &lt;a class=&quot;avatar image&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://howtosplitanatom.com/&quot;&gt;&lt;img src=&quot;http://www.gravatar.com/avatar.php?gravatar_id=78b54231739cec1bbd916962715fac5e&amp;amp;size=32&amp;amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png&quot;/&gt;&lt;/a&gt;
                    &lt;a class=&quot;avatar name&quot; rel=&quot;nofollow&quot; 
                       href=&quot;http://howtosplitanatom.com/&quot;&gt;Steve S&lt;/a&gt;
                &lt;/div&gt;
                &lt;a href=&quot;#comment-221084315&quot; class=&quot;permalink&quot;&gt;&lt;time datetime=&quot;2007-05-24T14:38:59&quot;&gt;2007-05-24T14:38:59&lt;/time&gt;&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class=&quot;content&quot;&gt;&lt;p&gt;Twitter is in no way useless, simple maybe but not useless. I agree completely. It seems that their is a distinct lack of patience among the web going public when it comes to certain technologies. If it doesn't immediately wow them with AJAX then it serves no purpose.&lt;/p&gt;&lt;/div&gt;
            
        &lt;/li&gt;
    
        &lt;/ul&gt;
    
        &lt;/div&gt;



</content>
    </entry>
    
    
</feed>

