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:
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.
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...
Putting the Sexy into Firefox Theme Browsing
As mentioned back in week 3, I'd started work on bug 419647 to "add a sexy theme browser" to addons.mozilla.org.
Well, I'm not sure about my success in imbuing it with the required sexiness, but it's at least been noticed by someone.
Firefox 3 Download Day Mega Widget
Update: Oh, and rumor has it that this widget will switch to reporting on downloads, rather than pledges, once the main event has begun.
Update 2: It didn't quite go like clockwork, but this widget is now showing estimated downloads by countries, rather than pledges.
Thanks to the completion of bug 435967, I can offer this totally unofficial hack of a mega widget (better late than never):
If you'd like, you can include this on your own site with a Copy-and-Paste of the following:
This is a total 2-hour cut, paste, reformat, and slight rejigger of Kent Brewster's work on Content Syndication with Case-Hardened JavaScript. Hopefully it works, because I'm releasing early before I've had a chance to check it out on anything besides the browsers in my lap.
Week 3 at Mozilla
So, it's getting to the end of my third week at Mozilla, and I'm a part of the Planet now—hooray! Having gotten a membership into that club, I feel like I should start making some noise about what I'm doing at work. Having stayed mostly quiet about day job affairs thus far in my career, it's going to take a bit to get used to a place as open as Mozilla.
Being a noob, I haven't started anything earthshaking yet. But, I have gotten a couple of starter bugs thrown my way:
Bug 395271 - Use memcache to cache output pages for non logged in users
SUMO is support.mozilla.org, a humongous and mostly volunteer-driven support effort for Mozilla products. I've never really been to the site before myself, so this bug is an iceberg-tip intro to the effort for me. I'm wading chest deep into TikiWiki and plonking memcached into the middle of it to try to make knowledge base wiki page views a lot less expensive.
Oh, and the source I'm working on is in subversion. Weird. Like, you could go look at it right now, and tell me how bad my code is.
Bug 419647 - Add a sexy theme browser
AMO is addons.mozilla.org, another humongous effort to support distribution and developers of extensions for Firefox and more. This is a site I've been to plenty of times, but never as an extension developer. And so, here's another opportunity to start wading into the deep end. For this particular bug, the goal is to work up a presentation of themes more easily scanned visually.
Nothing checked into SVN for this one yet, so you'll have to withhold ridicule for a little bit yet.
I'm really working on squashing my nerd fanboy tendencies. Because, I remember downloading the original Mozilla Open Source release, staying home from work to compile it on Windows with Visual Studio, and getting just one or two page views out of it before it fell over and caught on fire. And of course, long before that, I remember using the original lizard in monochrome on a Sun workstation, freaking out over everything and looking up Earth 2 episode guides.
So, although I'm kinda subdued in general right now—subdued as in beat about the head and shoulders—I've got a serious amount of breathlessness going on while trying hard to just kinda be nonchalant.
Markdown, Oh the Humanity
I use Markdown to write for this blog, and I don't think I could write much online without it. (Of course, that's not saying much lately—but nevermind that for now.)
Although I do appreciate all the effort put toward enhancing <textareas> on the web, I'm not a fan of WYSIWYG writing interfaces. They hide too much in an effort to make things "easy"—yet, for all that ease, they make me miss Reveal Codes in WordPerfect 5.1 for DOS. Hell, I wish I could write books using Markdown instead of Microsoft Word. (And, yeah, I know that some O'Reilly authors have written books in perlpod—but that's a bit too far even for me.)
Anyway, I think the issue is that it really bothers me to compose HTML in the same mental context as writing prose—HTML is too much like code. Coding and prosing are two different modes for me, and I don't like the constant context-switching thrash. (And, yes, I've just learned today that prosing is a word.)
So, apropos of this, there's been a thread in the blogophere lately naysaying non-HTML, wiki-text, and smart-ASCII formats. They seem to be mostly attacking the idea from a technical perspective, where it's more like a usability problem to me.
I don't see where Jeff Atwood's "Is HTML a Humane Markup Language?" makes the case for HTML as humane. As far as I can tell, the inhumanity is that markup schemes are harder to keep track of than HTML. Yet, there's a kind of coder macho thing going on there that's decidedly not humane—i.e. real programmers should be fine with getting their eyes poked by angle brackets on a regular basis.
Anyway, I do agree that some of these formats are horrendous. Wikipedia markup and BBCode are nasty in particular. Though, Wikipedia markup at least has some semantic purpose beyond HTML. But, I can't follow from that to seeing how the whole idea is wrong.
I used Textile for awhile, and then switched to Markdown when it came around. At this point, I've been using Markdown since it came out in 2004. I now plug Markdown into everything I can where I'll be doing any writing. There's a version of Markdown in just about every language known to the web these days—you can even find Markdown in Javascript. I write notes to myself in Markdown, even when there's no URL to view it. I've even used Markdown semi-consciously when writing by hand in a paper journal.
Perhaps I've said too much.
Anyway, I'll expend as many brain cells as it takes to not need to compose raw HTML by hand in the course of writing. As it happens, I can usually just use Markdown, so those brain cells were spent years ago. And thus, I feel I've saved more brain cells in avoiding coding/prosing thrash. So, it could just be personal preference, but I agree with the reasons why the original wiki doesn't use HTML.
Go Midwest, Young Man!
Reminiscent of this time almost two years ago, it's been a busy period so far. I've been working on another book, entitled Professional JavaScript Frameworks, and have changed jobs twice since leaving Yahoo! in early April.
I think I'm done bouncing around now, though: As you may or may not already know, I've started working for the Mozilla Corporation—I've got a username and everything! I'm a little overwhelmed at the moment by changes and drinking from a new firehose, so my enthusiasm may not yet be readily apparent. But, remember that I'm a complete web geek—and it's hard to get closer to web geekery than this.
But, one of the nicest things about this new Mozilla gig is that I'm going to start telecommuting. And the reason that's nice is because—and here's the next big thing—my wife and I have bought a beautiful house in Livonia, Michigan, and we're moving back to the Midwest in a month and some change.
Why? Because, after almost two years out here in the valley, we've discovered that being away from family and old friends while trying to make new friends and adjust to a very different locale was a lot harder than first imagined. And, well, it would've been much longer than we'd've liked before we could have afforded a house at all—let alone something anything like what we'll be enjoying back in Michigan.
The thing is, though, I've still got a lot of love for the Bay Area and its goings on—I've been pining for this place since at least the age of eight, after all. And, we have made a few good friends out here, despite the difficulties we've experienced.
So luckily, this Mozilla gig looks like the ideal thing. I'm hoping it will ensure regular return visits to enjoy SuperHappyDevHouses, the scent of star jasmine in the summer, and amazing cloudless skies lasting for days.
But, on the other hand—although I'm certainly not relishing the thought of readjusting to cold, clouds, and snow in a few months—I'm getting excited about the prospects of being back in southeastern Michigan. Our house will be pretty close to both Ann Arbor and Detroit, and it seems like some interesting things have started warming up since we left. Also, I suspect (and hope) we'll discover a lot of friends and like-minded associates in short order upon our return.
Lots of change. Very busy. Not a little exciting. But, I'm hopeful that things are going to get a lot better very soon.
In retrospect
When I first created this blog back in February 2002, I was talking to myself and I knew it. But, that didn't really matter: Since becoming newly digital in 1983, I'd already spent years plugging away at personal projects big and small, frequently abandoned, talking to myself all the time anyway.
So, blogging, I thought, would give me a real or imagined motivation to finish some projects. The difference between writing a blog and working alone in the basement, is that there's a chance someone outside my physical neighborhood might catch a few mutterings and knock on my door to have a chat—rather than just walking a little faster and avoiding my house in the future, like the local neighbors usually do when I find myself really going off on a tear.
Thus if someone, somewhere showed interest in things I was doing and describing—then maybe I might just stick with one or two of them long enough to declare a version worthy of a freshmeat.net release. (It's been awhile, but that used to be my gold standard for Real Software.)
However, I've realized that occasional visitors won't magically help me finish software. I've come to accept that I'm far too much a serial enthusiast to release much at v1.0 without a paycheck or some other substantial incentive. But that's okay, because tinkering with unfinished software still seems to attract occasional visitors. And, where there are visitors, there are contacts and conversations. And, where there are contacts and conversations, there's learning and fulfillment—two of my favorite things.
Apropos of conversations, though, I've gone habitually quiet in the past few years. I've gone from claiming that hacking is my World of Warcraft to just getting sucked into WoW proper. It's gotten to the point that I've wondered what I ever talked about here. Yeah, I've written this kind of entry many times before—but I don't feel it's gotten better.
I'm really out of the flow here, but I don't think giving it up is the right thing to do. I've been doing some retrospection (in volumes one and two), and have been reviewing what I've done here. I'm getting some ideas, and hoping I can get myself back into acting on them.
It might be a little while before I produce anything on a regular basis, because I'm currently working on a third book, entitled Professional JavaScript Frameworks. And, on top of that, I've got a bit of a transition going on in my life right now.
But, waking things up here is something I'd like to make part of that transition.
Greatest Hits Vol. 2, the Babble Bits
Following right on the heels of Greatest Hits Vol. 1 is another volume, this time including the entries that were more made of babble or ramble and not so much with code. Again I welcome additions, comments, criticisms, and complaints.
- 2007 Sep 25: l.m.orchard's OPML blog: Tuesday, September 25, 2007
- My dad passed away, and I tried to take something positive away from it.
- 2006 Sep 18: Just call me "Crash"
- The conditions for my hermitage in Silicon Valley were established early.
- 2006 Aug 09: Hacking del.icio.us is out and about!
- Wherein I celebrate my second book appearing on store shelves.
- 2006 Jun 24: Go West, Young Man!
- The one where we pack it all up and head to California.
- 2006 Jun 09: Wedding Day is Today
- An announcement of becoming the luckiest man on the planet.
- 2006 May 26: Confessions of a Serial Enthusiast
- An analysis of my inability to finish anything on my own site.
- 2006 Feb 09: A Long-Tailed Creative Yawp
- A celebration of the long tail and befriendable creators.
- 2006 Jan 27: Don't Pee in the Potato Chips
- Wherein I try to acknowledge some of the things I owe to Dave Winer and be nice in the future.
- 2006 Jan 01: Look, Mom, I'm on the radio!
- I got interviewed on a radio show about my first book, yay!
- 2005 Sep 13: Hacking RSS and Atom is out!
- Wherein I celebrate my first book hitting the shelves.
- 2005 Jun 17: We're engaged!
- An announcement of intention of becoming the luckiest man on the planet.
- 2005 Jan 07: Beginner’s Mind versus Teacher’s Mind
- Cultivating an open mind and an attenuated ego.
- 2004 Dec 03: If you snore, get tested for sleep apnea. Now.
- Sleep apnea sucks. If you snore, get checked out.
- 2004 Nov 02: I ran out of costume ideas
- The one where I dress up like an iPod for Halloween.
- 2004 Oct 11: All Growed Up as an Info Freako
- A reflection on how I grew up to be this odd and information addicted.
- 2004 Oct 07: Falling for the Podcasting Hype
- Wherein I express my early interest in podcasting, despite or because of amateurism.
- 2004 Jul 14: Dork Funk
- Another periodic navel-gaze into my life as a blogger and a dork.
- 2004 May 25: I was a pre-teen Transactor author wannabe (and still am!)
- A declaration of what my perfect blog might look like.
- 2003 Jul 23: This evening’s sleep brought to me by science
- Wherein I first start using a CPAP machine and treat my sleep apnea. Go get tested if you snore.
- 2003 Oct 16: Seeking Out Opposites
- Another way to keep forcing brain expansion.
Greatest Hits Vol. 1, the Tinkery Bits
As you may have noticed, I've been shaking things up around here a little. Sorry for turbulence in the feeds! I've moved to a new server, and I've been trying out Movable Type again, but with mixed luck.
Why? Because I've been using WordPress for a few years, and I felt like a change. Maybe in another few months I'll convert over to Blosxom again, or try ExpressionEngine for the first time. Now, if only I could get all the timestamps right so some of my late-night posts don't have broken permalinks due to day changes. Maybe I'll end up just sticking with WordPress after all.
But anyway, I'm also having another bout of periodic existential doubt about what I'm doing here with a blog. So, in navel-gaze mode, I spent time a few nights ago skimming and reading through all 1000 or so entries I've written here. I do this periodically with the scores of paper journals I've accumulated to recenter and reconnect with myself, but I've never done it here.
So, for my own reference more than anything, here's 0xDECAFBAD Greatest Hits Vol 1, the Tinkery Bits.
It may be presumptuous to ask, but if anyone actually reads through this list and thinks of something worth surfacing that I missed—by all means, let me know. I'm trying to remind myself what I started this thing for.
- 2008 Jan 31: Metablogging
- A look at all the different tools I've tried using for blogging lately.
- 2007 Dec 24: An Accumulator for all my stuff
- About building my own lifestreaming thingy.
- 2007 Oct 17: OPML reading lists in FeedMagick2
- More work on OPML reading lists and merging feeds.
- 2007 Jul 23: A Curmudgeon Playing with the CodeIgniter Framework and OpenID
- Reporting on learning a new PHP framework.
- 2006 Apr 21: An S3 AJAX Wiki
- Building a wiki based on Amazon S3 and client-side code.
- 2006 Mar 25: About XoxoOutliner
- Building a browser-based outliner that deals in XHTML and XOXO.
- 2005 Dec 13: FeedMagick, the feed filter that doesn’t know much about feeds
- Munging, converting, and merging feeds without destroying content.
- 2005 Oct 05: FeedSpool is progressing nicely
- Fetching, caching, and spooling up feed updates without destroying content.
- 2005 Jul 12: In-browser XOXO Outliner Experiment
- Early experiments in microformat-based outlining.
- 2005 Jun 08: Magic Microformat Forms Redux, Now with GreaseMonkey!
- Expressing my enthusiasm for microformats in code.
- 2004 Dec 12: Building an Address Book as a Modern Web App
- An unfinished attempt to demonstrate what everyone would soon be doing with AJAX.
- 2004 Nov 30: Next generation web apps using REST, XML, XSLT, and XmlHTTPRequest
- Wherein I try to talk about AJAX before the the name was coined.
- 2004 Jun 16: Wish-of-the-Month Club, Part 1 of 3
- The first in a series of articles building a wishlist project atop Amazon web services, an attempt at writing something publication-worthy.
- 2003 Sep 02: Using web services and XSLT to scrape RSS from HTML
- Progressing from perl scraping hacks to cleaner XSLT-based feed scraping.
- 2003 Aug 31: Bookmark Blogger in Python
- I would later abandon this entirely for del.icio.us, but I've been bookmark-blogging for awhile.
- 2003 Aug 22: Scraping HTML with curl, tidy, and XSL
- Trying to bring some cleaner approaches to web scraping beyond regular expressions.
- 2003 Jun 19: Desktop server + Flash GUI?
- Eventually, things like Adobe Air would fill this niche, I think.
- 2003 Mar 06: Building Pipelines with Web Services
- I still haven't seen much work toward using pipelined HTTP-based web services.
- 2003 Feb 15: Say hello to Agent Frank
- This project got abandoned, but I did release this overly-complex Java-based personal HTTP proxy.
- 2003 Feb 04: Bookmark blogging from Safari via a quick hack
- Prescient of my eventual extreme enthusiasm for del.icio.us, I started blogging my bookmarks.
- 2002 Dec 28: Universal personal proxies & agent companions
- Initial thoughts toward Agent Frank and filtering / analyzing my own web consumption.
- 2002 Nov 26: XML-RPC, a mini case study
- Wherein I talk about how XML-RPC has worked for me.
- 2002 May 31: RSS autodiscovery via the HTML LINK element
- It's the orange feed button everywhere now—here's how it started.
- 2002 Apr 18: Auto-backlinks from blog entries via referral logs
- Building backlinks from referer logs to help weave the blogosphere. It was great until the spammers ruined it, though Sam Ruby has a neat implementation.
- 2002 Apr 18: Pipelining the web makes for messy URLs
- It's awkward to express pipelines on the web using URLs.
- 2002 Apr 17: REST. What is it good for?
- At one point, I was pretty dubious about this REST thing.
- 2002 Feb 26: Almost done with another implementation of the Wiki XML-RPC API
- I was working on XML-RPC APIs for various wiki installs at one point.
amazing visitors
And I'm amazed that people seem to still visit this blog, despite the near-complete inactivity. That reminds me, I really should do something with that MyBlogLog API sometime — I'm totally digging what Kent Brewster is doing with it.
Metablogging
Back in November, I built decafbad recaffeinated using Tinderbox. Through it, I wanted to finally get my head around playing with the web publishing features of Tinderbox — and I hoped that after the Yak Shaving, I would enjoy the results enough to be motivated to continue pushing out small particles of thought. That worked for awhile. Thanks to my serial enthusiasm, though, the shine wore off after a month or two and my output has since dwindled. The interface is pretty cool, but there are just enough clunky bits to make me think twice about starting up the app.
In December, I built 0xDECAFBAD accumulator in an attempt to automatically capture and accumulate in one spot all the stuff I leave behind on 15 services or so across the net. A month later, it's still running. It's filled with crap day after day. It's all my crap, and I'm glad to have my crap all in one pile, but it's very noisy.
Between recaffeination and accumulation, I think I'm bracketing the same issues. On one side, I've got John Henry hammering down the microcontent spikes, and on the other I've got the machine cronjobbing away. What I really want is something a bit in between: Maybe a crap pile for myself and an easy manual selection method that I'll remember to use habitually for editorial control. It's all really just attempts to try to reconstitute the diffuse spew that used to be more or less concentrated into one spot.
Twitter sucked the blogging out of Molly, but I was already well down that path long before I think Twitter was a glimmer in Obvious eyes.
Apropos of that, here I am back at my traditional blog. The blog where I've been hoping to get myself writing again. Maybe I'll swing back this way and not make this the last post for another few months. I've certainly got lots in my head, and there's certainly been lots going on worth thinking about out loud — but I've also got plenty I shouldn't or couldn't actually babble about in mixed company.
So, what to expect from me, then? Eh, who knows. This might be the last post here for another few months.
Comments fixed
Oh, hey. Nothing like putting out a request for comments and then learning that my comments are broken, and have been since I upgraded to WordPress from SVN.
Not that it's the fault of WordPress - I renamed my comment form on the filesystem and in my theme to obscure it from spambots, but then blew away the renamed PHP file with the SVN upgrade. Blah.
Next serial enthusiasm?
Update: Yeah - I sent out a request for comments after breaking my comments. Ugh. Thanks if you tried commenting, and I hope you might try again. If not, thanks for stopping by anyway!
So, I've been basically hacking on nothing after work for quite some time now. I've had a few false starts, but have been finding it hard to get motivated to move on anything. There are a few things I've started, though, which might be worth returning to and finishing. If I were to do that - or start something new - which of these do you think might be worth my time?
- FeedMagick2 - web command-line toolkit for munging and filtering feeds, written in PHP 5
- XoxoOutliner - a browser-based outliner with a REST API, written in PHP 5
- Learn Django or Pylons, do social networky stuff and explore OpenID and OAuth?
- Explore CodeIgniter or Kohana further, do social networky stuff that can ideally be installed alongside WordPress and PHP 5?
- Something else? OpenSocial? Keep hacking on my Centro's Blazer browser and do something silly and Web 2.0?
- Level my troll to 70 and work on getting sweet PvP gear?


