0xDECAFBAD accumulator by l.m.orchard

Display Preferences

There's a lot of stuff here, and you might only care about a little bit of it. So, here are some options you can use to narrow down the display. These preferences are saved in a browser cookie and should be retained for your next visit.

Exclude Sources

  • twitterfaves
  • skein
  • opml
  • trac
  • youtube
  • twitter
  • bucket
  • delicious
  • recaffeinated
  • flickr
  • decafbad
  • flickrfaves
  • digg

Exclude Tags

  • code
  • elsewhere
  • links
  • tumblelog
  • bucket
  • asides
  • fiction
  • blog
  • video
  • decafbad-com
  • images

And, yeah, this feature - like this site - is experimental. I'm still working on the style to handle the missing entries - it breaks a bit sometimes.

  1. 2008 JAN 04

  2. the best sign so far

  3. lmorchard: Hmm. I do think I may have managed to migrate my SVN repo to Mercurial. http://decafbad.com/hg/

    lmorchard: Hmm. I do think I may have managed to migrate my SVN repo to Mercurial. http://decafbad.com/hg/
  4. SharedSSH - Mercurial

    "This page describes how to create such repositories accessible via a shared ssh account without needing to give full shell access to other people. "

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  5. Converting The Repos | .: SNH Homepage :.

  6. on what should I hack next?

    I know this isn't LiveJournal, but I just found what looks like a decent poll plugin for WordPress. So, I'll try it out and solicit your opinion all at once:

    Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.

  7. 2008 JAN 03

  8. Laser Tattoo - Instructables - DIY, How To, art, life - BBQ PDQ Contest Entry

    "As long as you don't think about the fact that the small wisp of smoke trailing the light, is actually vaporized skin, everything will be fine."

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  9. lmorchard: hmm. svn to hg conversion seems like a mixed bag. also, ConvertExtension seems to have bombed on me.

    lmorchard: hmm. svn to hg conversion seems like a mixed bag. also, ConvertExtension seems to have bombed on me.
  10. Why I’m playing with Laconica

    I just posted a quick writeup on Laconica installation. But, beyond the how, there's the why.

    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.

    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:

    • It exists and it works.
    • Someone's actively hosting it.
    • Others are trying to install it.
    • Someone got off their ass and persisted long enough to get it to this point.

    That's more than I can say for my own efforts—because mere ideas are worthless—so maybe I can find a way to help. :)

  11. lmorchard: @dria playing WoW again? realm / race / class? (which is, of course, the new a/s/l) :)

    lmorchard: @dria playing WoW again? realm / race / class? (which is, of course, the new a/s/l) :)
  12. Why Less Is More And How To Unlock the Web

    "Determine a basic need -> Create a service that satisfies it in the simplest way possible -> Open it up. "

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  13. Getting Laconica up and running

    The latest mini-sensations to arrive through my firehoses are identi.ca, a Twitter-clone / microblogging site, and the Open Source software Laconica, which powers the aforementioned site.

    Having started and neglected two Twitter cloning attempts of my own, Cuckoo and OpenInterocitor, 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:

    See, the interesting thing promised by Laconica—and something I wanted in my own clones—is the ability to federate instances of the software. That is, users on one Laconica-based site should be able to subscribe to the updates from users on another site, by way of the OpenMicroblogging specification. 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.

    Thus, since I'd like to see you 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...

    Get the Laconica code

    I got my copy of the code by using darcs, as described on the Laconica source page, like so:

    sudo apt-get install darcs
    darcs get --partial http://laconi.ca/darcs/
    

    But, if you can't or don't want to use darcs right now, you can grab a Laconica tarball to get started.

    Get modules and third-party prerequisites

    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:

    sudo apt-get install libapache2-mod-php5 php5-cgi php5-cli php-pear php5-gd php5-mysql
    

    Next, now that you've got PHP and PEAR, you can install some of the PEAR-based prerequisites:

    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
    

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

    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
    

    Set up MySQL tables

    I'll assume you already have MySQL installed. To set up a database for Laconica, I did the following:

    mysql -uroot -p -e 'create database laconica';
    mysql -uroot -p -e "grant all privileges on laconica.* to laconica@localhost identified by 'PASSWORD'";
    mysql -uroot -p laconica < db/laconica.sql
    

    Configure Laconica

    So far, I've found at least two config files that need tweaking—namely config.php and dataobject.ini.

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

    #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');
    

    The rest of the settings in config.php are somewhat self-explanatory. These are the ones I changed for my installation:

    $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';
    

    After this, I tweaked the first few settings of dataobject.ini to the following:

    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/
    

    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 avatar/ directory, like so:

    sudo chown -R www-data avatar
    sudo chmod -R ug+rw avatar/
    

    Configure Web Server

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

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

    For comparison, here are examples of non-fancy and fancy profile URLs:

    • http://decafbad.com/laconica/index.php?action=showstream&nickname=lmorchard
    • http://decafbad.com/laconica/lmorchard

    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 profile table stores the original URLs at registration in the profileurl column. You could change these if you like, but there be dragons.

    Configure Lighttpd for "fancy" URLs (optional)

    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 lighttpd not too long ago. Alas, that means the .htaccess rewrite rules won't work directly.

    Admittedly, I am a novice to configuring lighttpd, so the following rules I added to my config could probably use some help:

    url.rewrite-final += (
        "^/laconica/index.php(.*)$" => "$0",
        "^/laconica/$" => "/laconica/index.php?action=public",
        "^/laconica/rss$" => "/laconica/index.php?action=publicrss",
        "^/laconica/xrds$" => "/laconica/index.php?action=publicxrds",
        "^/laconica/doc/about$" => "/laconica/index.php?action=doc&title=about",
        "^/laconica/doc/contact$" => "/laconica/index.php?action=doc&title=contact",
        "^/laconica/doc/faq$" => "/laconica/index.php?action=doc&title=faq",
        "^/laconica/doc/help$" => "/laconica/index.php?action=doc&title=help",
        "^/laconica/doc/im$" => "/laconica/index.php?action=doc&title=im",
        "^/laconica/doc/openid$" => "/laconica/index.php?action=doc&title=openid",
        "^/laconica/doc/openmublog$" => "/laconica/index.php?action=doc&title=openmublog",
        "^/laconica/doc/privacy$" => "/laconica/index.php?action=doc&title=privacy",
        "^/laconica/doc/source$" => "/laconica/index.php?action=doc&title=source",
        "^/laconica/main/login$" => "/laconica/index.php?action=login",
        "^/laconica/main/logout$" => "/laconica/index.php?action=logout",
        "^/laconica/main/register$" => "/laconica/index.php?action=register",
        "^/laconica/main/openid(?:\?(.*)|$)$" => "/laconica/index.php?action=openidlogin&$1",
        "^/laconica/main/remote(?:\?(.*)|$)$" => "/laconica/index.php?action=remotesubscribe&$1",
        "^/laconica/main/subscribe$" => "/laconica/index.php?action=subscribe",
        "^/laconica/main/unsubscribe$" => "/laconica/index.php?action=unsubscribe",
        "^/laconica/main/confirmaddress$" => "/laconica/index.php?action=confirmaddress",
        "^/laconica/main/confirmaddress/(.*)$" => "/laconica/index.php?action=confirmaddress&code=$1",
        "^/laconica/main/recoverpassword$" => "/laconica/index.php?action=recoverpassword",
        "^/laconica/main/recoverpassword/(.*)$" => "/laconica/index.php?action=recoverpassword&code=$1",
        "^/laconica/settings/avatar$" => "/laconica/index.php?action=avatar",
        "^/laconica/settings/password$" => "/laconica/index.php?action=password",
        "^/laconica/settings/profile$" => "/laconica/index.php?action=profilesettings",
        "^/laconica/settings/openid$" => "/laconica/index.php?action=openidsettings",
        "^/laconica/settings/im$" => "/laconica/index.php?action=imsettings",
        "^/laconica/notice/new$" => "/laconica/index.php?action=newnotice",
        "^/laconica/notice/(\d+)$" => "/laconica/index.php?action=shownotice&notice=$1",
        "^/laconica/user/(\d+)$" => "/laconica/index.php?action=userbyid&id=$1",
        "^/laconica/(\w+)/subscriptions$" => "/laconica/index.php?action=subscriptions&nickname=$1",
        "^/laconica/(\w+)/subscribers$" => "/laconica/index.php?action=subscribers&nickname=$1",
        "^/laconica/(\w+)/xrds$" => "/laconica/index.php?action=xrds&nickname=$1",
        "^/laconica/(\w+)/rss$" => "/laconica/index.php?action=userrss&nickname=$1",
        "^/laconica/(\w+)/all$" => "/laconica/index.php?action=all&nickname=$1",
        "^/laconica/(\w+)/all/rss$" => "/laconica/index.php?action=allrss&nickname=$1",
        "^/laconica/(\w+)/foaf$" => "/laconica/index.php?action=foaf&nickname=$1",
        "^/laconica/(\w+)$" => "/laconica/index.php?action=showstream&nickname=$1"
    )
    

    That's it (for now)

    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 OpenMicroblogging stuff working with remore subscriptions. However, I have been able to log in via OpenID, so that's something.

  14. lmorchard: I thought it was soy milk I'd grabbed and poured in my coffee. No, it was orange juice. Yes, I tried it anyway. No, it was not good.

    lmorchard: I thought it was soy milk I'd grabbed and poured in my coffee. No, it was orange juice. Yes, I tried it anyway. No, it was not good.
  15. lmorchard: d'oh. i wondered why my menu-bar meteorologist was lying to me—it was still set to Cupertino weather. /cry

    lmorchard: d'oh. i wondered why my menu-bar meteorologist was lying to me—it was still set to Cupertino weather. /cry
  16. lmorchard: @lenlynch Maybe :) It's overcast and gloomy here - maybe that's what I need to start hacking again.

    lmorchard: @lenlynch Maybe :) It's overcast and gloomy here - maybe that's what I need to start hacking again.
  17. lenlynch: @lmorchard the northern-midwest hacker IS baaackkk... ;)

  18. lmorchard: considering switching my own code repo to from SVN to Mercurial, since it's what they use at Mozilla and I'll be soaking in it soon enough.

    lmorchard: considering switching my own code repo to from SVN to Mercurial, since it's what they use at Mozilla and I'll be soaking in it soon enough.
  19. lmorchard: laconica still seems kinda itchy. yet to figure out how to contribute code. darcs is new to me. pondering reviving my own twitter clone code

    lmorchard: laconica still seems kinda itchy. yet to figure out how to contribute code. darcs is new to me. pondering reviving my own twitter clone code
  20. innocentchild's Messages

    Best, horribly vulgar, funniest comments on Valleywag evar.

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  21. Man Killed In Ride On Steamroller - News Story - KIRO Seattle

    "Two 17-year-old boys and Wydur apparently entered the construction site and started up the piece of equipment. Police said the teens may have been drinking."

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  22. PHP-IRC, Modular PHP5 based IRC Bot

    "PHP-IRC is a modular IRC bot written in PHP5 with a combination of object based/oriented programming."

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  23. Radiolab » Earworms

    "First, we asked you to tell us what song gets stuck in your head. Then, we asked you how you got it out. Finally, we made a podcast."

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  24. Spheres of Chaos

    "Imagine a world where instead of using his experiences with LSD to become an evangelist of therapeutic psychadelia, Timothy Leary had instead opted to learn assembler and program low-budget shmups for pc-download."

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  25. shock: social science fiction

    "Shock: Social Science Fiction is a fiction game of culture and future shock"

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  26. lmorchard: gave identi.ca and laconica a few hours's attention. installed it on two domains. no federated microblogging love yet.

    lmorchard: gave identi.ca and laconica a few hours's attention. installed it on two domains. no federated microblogging love yet.
  27. ThinkGeek :: Pico USB Flash Drive

    "Barely bigger than the tip of your pinky, and less than 4mm thick, it's positively small. The polished chrome finish is certainly shiny, but at 8 gigabytes, it's redonkulously teeny!"

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  28. lmorchard: clear sign that I've not been a perl monger in a long while with it seems every machine on which I start cpan fires up initial configuration

    lmorchard: clear sign that I've not been a perl monger in a long while with it seems every machine on which I start cpan fires up initial configuration
  29. negatendo: I need to make a single shot webpage with the word FUCK completely covering the screen even when resized. Time to play with SVG....

  30. lmorchard: @cjuon The cats are always in a hurry because they nap until the last minute before they have to be somewhere.

    lmorchard: @cjuon The cats are always in a hurry because they nap until the last minute before they have to be somewhere.
  31. lmorchard: Let's see if this thing takes off http://identi.ca/lmorchard

    lmorchard: Let's see if this thing takes off http://identi.ca/lmorchard
  32. lmorchard: @wolfger Ain't that the irony though? :) It's stable and fully function, but without as many people.

    lmorchard: @wolfger Ain't that the irony though? :) It's stable and fully function, but without as many people.
  33. 2008 JAN 02

  34. Mozilla Sets World Record

    With over 8 million downloads Mozilla sets the Guinness World Record for most software downloads in 24 hours.
  35. disambiguity - » Some unformed thoughts on Ambient Intimacy for the next generation

    "For example, assuming that within the next few years, more and more people will have a social presence online, my little guy will have no real excuse to ‘lost contact’ with anyone he makes contact with."

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  36. Prism:Bundles - MDC

    "In addition to passing simple command line parameters, Prism can use a zipped bundle package to install a webapp."

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  37. lmorchard: OpenMicroblogging spec seems just like something I've been meaning to cobble together - only I'd want to extend / wrap AtomPub.

    lmorchard: OpenMicroblogging spec seems just like something I've been meaning to cobble together - only I'd want to extend / wrap AtomPub.
  38. lmorchard: @dave_dash plz give del 2.0 API an outbound message queue with AtomPub callbacks to user-registered URLs for topics of interest. thx bai. :)

    lmorchard: @dave_dash plz give del 2.0 API an outbound message queue with AtomPub callbacks to user-registered URLs for topics of interest. thx bai. :)
  39. lmorchard: @joshu I'd dig a general callback convention using AtomPub. POST updates as Atom entries w/ extensions. title/guid/link/desc not a bad base.

    lmorchard: @joshu I'd dig a general callback convention using AtomPub. POST updates as Atom entries w/ extensions. title/guid/link/desc not a bad base.
  40. 'Sarcasm Seen as Evolutionary Survival Skill' by Live Science - RichardDawkins.net

    "Thanks goodness, because life without out sarcasm would be a dull and way too nice place to be, if you ask me. "

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  41. Right Wing Watch: The Dangers of Auto-Replace

    "automatically replacing any use of the word “gay” with the word “homosexual” in any of the AP stories they run … leading to instances in which proper names are reformatted to meet their ridiculous standard"

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  42. joshu: as of yesterday, i am finally no longer a yahoo employee. anyone got any interesting projects for me?

  43. Social Media Camp: 7 City US Tour

  44. bucket for 2008-07-02

      • This space left unintentionally blank.

      /* vim: set formatoptions=l lbr syntax=mkd columns=94 lines=64: */

  45. Macworld | Mac OS X Hints | Convert ICNS files with sips

    "sips -s format png Dictionary.icns --out ~/Desktop/Dictionary_icon.png "

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  46. Hostin: It's Naked Cowboy, 1; naked M&M, 0 - CNN.com

    "plausibly argues that consumers would believe that the M&M Cowboy characters were promoting a product rather than merely parodying The Naked Cowboy, and that viewers would believe that The Naked Cowboy had endorsed M&Ms"

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  47. lmorchard: driving between in-laws' and our new house in Livonia, I pass the Awrey's bakery. smells like butter and cookies. nothing wrong with that.

    lmorchard: driving between in-laws' and our new house in Livonia, I pass the Awrey's bakery. smells like butter and cookies. nothing wrong with that.
  48. lmorchard: @codinghorror Kibo was the original egosurfer

    lmorchard: @codinghorror Kibo was the original egosurfer
  49. 2008 JAN 01

  50. lmorchard: running a Mozilla browser build again for the first time in a few years. go lil CPU, go!

    lmorchard: running a Mozilla browser build again for the first time in a few years. go lil CPU, go!
  51. lmorchard: @davglass Just curious - do you happen to have Firebug 1.2.0b4 installed?

    lmorchard: @davglass Just curious - do you happen to have Firebug 1.2.0b4 installed?
  52. The 11 Best Foods You Arent Eating - Well - Tara Parker-Pope - Health - New York Times Blog

    "Nutritionist and author Jonny Bowden has created several lists of healthful foods people should be eating but aren’t."

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  53. Eric Staller's Conference Bike!

    Saw one of these trundling across the lawn at Google. Totally odd.

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...
  54. The Chemistry Set » How I Lost My S#?! at the Apple Store

    Guy can't read a manual; can't find a Torx driver; can't Google for it; freaks when the Apple Genius Bar charges a $30 stupidity tax; and is amazed that things come from Taiwan. It's somehow Apple's fault, and worth drawing a comic to bitch about it.

    del.icio.us bookmark this on del.icio.us - posted by deusx to - more about this bookmark...