This book on his life and writing is good, though not as good as other books I've read like this. I enjoyed the personal passages about his life, more than the thoughts on his craft. The chapter written on his father's death stands out as a moving essay.
I have always been a fan of Graham Swift's fiction, so as a fan, I enjoyed this book. It's not as good as others like this I've read. Art Objects by Jeanette Winterson is better by a contemporary British author, and Mystery and Manners by Flannery O'Connor is a great example by an American author. Still, fans of Swift and other writers might enjoy this.
Every time I read a book like this, I wish for more books like this in my field (computer programming, for those who don't know me). I would love to read from great hackers on how they became the person they are, how life has affected craft, and so on.
I've got to lose weight. Working from home and the sweeties that line the red bar in the kitchen 6 feet from my desk are killing me. I can't do diets. So here are my simple principals for de-fatting myself that I plan to stick to for the next 3 months to see if it makes a difference.
No snacks between meals (at all!)
No desserts
Evening meal must be the smallest meal of the day
Drink lots of water
I'm going with the keep-it-simple path to see if just controlling my food consumption is enough. I'll let you all know how it's going in a few days.
Link | Posted by deryck on February 17, 2010 | 0 comments
Websites Don't Release Anything
A couple weeks ago I was in London for a Launchpad team leads sprint.
There were lots of cool discussions, focused mostly on processes within
Launchpad. Because of all this process talk, we ended up talking
about our release process a fair amount. I had some ideas forming
before this, but a week's worth of discussion helped cement my thinking
about "releases" for websites. Now some two weeks later, I'm still
thinking about this, so here's a quick sketch of what's on my mind.
First, websites don't "release" anything. It's a metaphor, and a
poor one at that. We update the site with some version of our code.
Different sites do this differently. With regular updates to
edge (our beta site which many of
our users use anyway) Launchpad has many levels of release -- code
updates to edge regularly, db updates to staging regularly, and roll
outs of both to the main site monthly. Other sites just continually do the
equivalent of svn up on trunk on their site and apply DB
updates as needed.
Using the term "release" so casually also makes you feel like you have
to build in artificial barriers to make the false release feel more
like a traditional software release. Version numbers are a prime
example of this. We give a version number to each month's "release"
on Launchpad, and I think the only purpose this serves is to confuse
developers and users about the meaning of the number. If I download
Django 1.1 and hate it, I can choose to download Django 1.0 and use
that instead. If you hate Launchpad 10.01, there's nothing you can do
about it. If we bork something in 10.01, it's not like we're rolling
back to December's release (whatever it was numbered). We will continue
moving forward, adding a new branch that removes the busted feature or
fixes the newly introduced bug, or what have you.
And it's this very act -- the act of continually moving forward -- that
makes me hate talking about website releases all the more. What
everyone who works on websites wants to do is move forward as quickly
as possible, constantly adding new features and bug fixes to a site.
The moment you place some arbitrary stopping point on the process and
name it a release, you slow down forward progress.
I realize some would argue this a good thing, that stopping causes you
to assess or do QA or ensure some other permanent quality is in the
"release." But there's nothing permanent on the web. I would argue
that rather than faking something permanent, your time would be better
spent getting features and fixes to your users more quickly. I know
I'm not alone in this, but still this word "release" hangs on, even in
web development.
I'm excited, then, to see some of the changes we're proposing to our
"release" process for Launchpad. Björn has proposed a way to
release
features when they are done which will require a new
merge workflow
for our work on Launchpad. These are all good things, even if the
specifics may change as we discuss this among LP developers. The only
thing that would make this better is to drop the word "release" from
any discussions of these new proposals. But old habits die hard, as
the saying goes.
Link | Posted by deryck on February 16, 2010 | 2 comments
Life Through the Lens of a Machine
Last night I watched
Surrogates,
which was a fun movie. (Yes, I have kids and watch every
movie later than the rest of the movie-going world.) I've also been
watching Caprica.
Then there's this little film called
Avatar, which it
seems the entire world has seen. As I finished watching Surrogates last night, I was struck by how much I'm seeing similar themes in sci-fi films and tv shows lately. These stories deal with people living their lives virtually through some intermediary -- an avatar in a virtual world, a robot, or a life-like robotic avatar, and so on. I suspect this will become even more common as time passes.
This suggests to me that there is a deep-seated sense among artists that such a future (or present) is immanent. People have been doing the machines-take-over-from-humans meme forever, but this is slightly different. This is humans-live-through-machines. Surrogates starts with a 10 year timeline that maps from creation of the first surrogate unit to world-wide adoption, which is realistic for how quickly technology can cause a paradigm shift. I think some form of this experience is very close to being a reality.
I say this as someone who views every activity of life through the "lens" of a computer screen. I'm not alone in this. Everyone I know might as well have a computer or smart phone attached to the body permanently.
I started reading The Singularity is Near some time last year. I've read bits and pieces but haven't committed to finishing it yet. I just recently moved this from "reading" to "to-read" on Goodreads because of this. I mention the book here because it deals with similar ideas -- this notion of a convergence of machine and humanity as we human beings push forward our own evolution. This can sound fantastic in the abstract, until you read the book, take an honest look at our computer-connected lives, or see a few stories like Surrogates, Caprica, or Avatar that make some version of this concept seem possible.
I'm not a technophobe, nor do I work in an area of software development that directly touches this kind of work. I do think, however, that inevitably I'll be connected to this kind of work, if I'm not already. "Everything that rises must converge" is not only a great Flannery O'Connor story, but also a great principal of life and technology. No one really knows what this future will look like, or what parts of it will be good or bad for us. It's nice to see artists wrestling with these questions, though. I'm sure the increase in stories like these only confirms how near such a future really is.
Link | Posted by deryck on February 12, 2010 | 0 comments
Anyone doing a lot of JavaScript development would benefit from reading this book. I feel very comfortable in the depth of my JavaScript knowledge, and I work with JavaScript on a weekly, if not daily, basis. I still learned things from this book. In many cases, I already knew about the particular peculiarity of JavaScript being outlined, but I learned a bit more about why a particular wart exists in the language.
Link | Posted by deryck on February 8, 2010 | 0 comments
2010 is here, now what?
With it being the new year, I feel compelled to do one of those predictions or new-year-resolutions posts. I'm not big on either so here's a bit about where I've been and where I'm going.
2009 saw me take a job with Canonical. I started working on the bugs app in Launchpad in April and have since been promoted to team lead for the bugs app team. It's been an amazing few months. Working for Canonical has been a wonderful experience for me. I went from working in companies as the lone telecommuter to a company filled with remote workers. It's wonderful and in the process I've learned a lot about being an effective telecommuter and managing a team remotely. I'll probably put these thoughts into a post sometime in the next couple months.
I'm also working with Zope more these days than Django. From 2005 until 2009, I was doing Django development heavily. There are days I miss Django, but I dip my hand in where I can, mostly with code that runs this site and a couple little toy projects I occasionally hack on. Launchpad is a Zope application, so since April, I've really tried to learn Zope as well as I can. I'm surrounded by great Zope developers on Launchpad, so like working with the Samba team, learning is made easier by absorbing from colleagues. I do like Zope, which may seem weird for a Django guy to say. I'm not a framework zealot, though, and I think Launchpad is a unique Zope app, so I should say, I like Launchpad's use of Zope. I need to do a simple Zope app at some point to get that perspective.
(I still don't love zcml, I have to be honest. The template language is growing on me, and I see it's power. Zope component architecture has won me over completely, though.)
Personally, I feel quite happy about where I'm at with balancing work and life as 2010 begins. I'm as productive as I ever been as both a manager and a coder, and I still have plenty of time with my kids and wife. Some of this is due to time shifting my day to better match European colleagues, but some of it is due to Canonical's focus on project management and communication in a distributed environment, which help to make work time very productive.
Some of my pet projects and hobbies languished a bit in 2009. Anytime you take a new job, this is to be expected. I didn't get the number of books read that I would have liked. I also didn't spend much time in world in Second Life, due to older hardware issues making the experience not so nice. So I want to read more and spend more time in world in Second Life. Discipline will help with the first, and the new laptop I got at Christmas will help with the second. I want to do some personal hacking a bit more, which is what I've always used Second Life for, honestly -- a bit of in world scripting to work on 3D math and similar concepts, viewer hacking to work on my C/C++ skills. I'm planning to work on being disciplined in releasing more of my personal, social-site hacking stuff, too, which is all Python and Django. I've swallowed the lean kool-aid, and I'm on a war against leaving work in progress. In everything personal and professional, I'm taking a task and seeing it through to completion before moving on to something new.
I guess that's my new year's resolution, if I have one -- no unfinished work in progress in 2010! With any luck, I won't wait until 2011 to post here again about how that's working out for me.
Link | Posted by deryck on January 10, 2010 | 0 comments
Kindle Crapped with Black Lines but Amazon Customer Service Rocks
I woke up Saturday morning and reached for my Kindle only to find the screen went boom when I slid the power switch to wake the device. Black lines filled the screen and the device was unusable.
This is what it looked like:
I have no idea what caused the screen to do this. I didn't use the device for about a week. It was sitting on my desk on top of a stack of paper books. Nothing was on top of the device and nothing around it.
Today my replacement Kindle arrived via FedEx. I only found time to call Amazon about the problem yesterday. Amazon's customer service rocks. I waited so long because I thought this was going to be a pain to deal with. The Kindle support site was nicely setup. It guided me through a form to submit a support ticket, and then the follow up email walked me through making a call to Amazon. A five minute phone call later, I had a new Kindle en-route, I assume covered by the warranty.
So while it was a bummer to have this happen, Amazon really is to be commended for making it better quickly.
Link | Posted by deryck on December 15, 2009 | 2 comments
The resemblance is uncanny. Except that my dog, Macy, has about 50 pounds on Gaiman's dog. I don't have any current pics of Macy but I'll try to snap a couple today.
I would include the pics, but can't. Go to his site and see for yourself.
This confirms my impeccable tastes, btw.
Link | Posted by deryck on December 11, 2009 | 0 comments
Book review: Web Component Development with Zope 3
This is a good introduction to Zope 3. I've been reading it off and on since I started working on Launchpad, which uses Zope. The book was good for helping me get the terms and conventions of Zope development, but Launchpad has a very particular use of Zope 3. Some of the more general web dev uses of Zope 3 covered in the book don't apply, for that reason.
But still, this is a good overview of web development using Zope 3. I would recommend the book if you're trying to get up to speed with Zope.
Link | Posted by deryck on November 28, 2009 | 0 comments
5 Years of Ubuntu
Yesterday was 5 years to the day from the first Ubuntu release,
Warty Warthog. 8 days from now we will have the eleventh release, Karmic Koala. I say "we" because
I work for Canonical now. While I don't have the historical
context that those who have been working on Ubuntu from the beginning have, I do share a sense of
wonder at what the last 5 years have been for Ubuntu.
I don't work on Ubuntu at Canonical; I work on Launchpad. But
I still feel very much a part of the development process of Ubuntu, just because Ubuntu is so tightly bound to
Launchpad. I have to say, too, that Canonical is unlike any company I have ever worked for. Everyone I work
with -- literally everyone -- is smart, kind, generous, motivated, and generally a pleasure
to work with. To me, this speaks to the heart of what Ubuntu is and what it means to me. Community,
collaboration, and a more human computing experience are not just concepts weaved into Ubuntu, but literally,
it's the ethos of the people involved in the project and in Canonical.
So my day to day experience of using Ubuntu and hacking on code that contributes to shipping an
Ubuntu release is an experience of the best parts of humanity and software development. And I'm quite
glad for the opportunity.
Here's to the last 5 years of Ubuntu! I hope I can keep this front-row seat for the next 5, and beyond.
Link | Posted by deryck on October 21, 2009 | 0 comments
Taking on a New Role in Launchpad
Today marked my official start as team lead for my team on Launchpad. I work on the Launchpad bugs app, a.k.a
malone, for those who might know yet know. I've only been working
for Canonical and working on
Launchpad for a little over 4 months, so it's an incredible honor to be
given this responsibility. Each of my co-workers is an amazing coder,
each one with an impressive set of skills, backgrounds, and abilities.
I've counted myself lucky every day since I joined Canonical to get to
work with Abel, Gavin, Graham, and Tom.
So I'm going to try hard not to suck as a team lead. :)
Here's to two weeks down, and a few more to go as we close out
Launchpad 3.0, and many more after that as we plan and work out
the next year of Launchpad 4.0 development.
Link | Posted by deryck on September 3, 2009 | 0 comments
I spent all summer on this book. I enjoyed my time in Sag Harbor so much that I couldn't bring myself to finish the book, even as I waited anxiously between reading spurts. The characters are so richly and lovingly drawn, the community is vivid. I just can't say enough good things about this book. When I finished, I wanted to start it again. Right then. I'm not sure if I've ever had that feeling about a book.
I've been a fan of Colson Whitehead since his first novel, The Intuitionist. I read Apex Hides the Hurt, too. I liked each of these, and liked them a lot even, but it's Sag Harbor that really has won my heart. This is a beautiful story about growing up in the 1980s that I could really identify with. And I could go on, on, on. It's really just that good.
I noticed Jono Lange changed the
topic in #launchpad on irc.freenode.net somewhere near midnight my
local time. Almost immediately after, I found Karl Fogel's email to our
Launchpad list announcing the open sourcing. I'm generally in bed
that late; however, I was trying to get a merge proposal submitted
before I went to bed, and then, I had some hacking to do on a personal
project I'm working on. I am glad circumstances contributed to
my being awake when the moment of open sourcing came.
I would really encourage any free/open source developer to look
closely at Launchpad for project hosting (or just code hosting, bug
tracking, mailing lists, etc. or any combination thereof). The code
is freely available, and you'll find a group of developers at Canonical who are excited about
seeing Launchpad succeed as both a great collaboration platform and a
free software project itself.
An if-substring-in-string Django Template Construction
Here's a quick tip for Django template hackers. It's a known fact of Django
templates that the syntax
is purposefully limited. I've been living with the need for an
if-substring-in-string construction. Of course, I could write a custom
template tag, but work is quitebusy. So on a
whim and a 10 minute break I tried this yesterday, and it worked well for me.
Take a look and let me know what you think.
First, the problem.
Bookmark Formatting
I have a custom app for pulling in my Delicious bookmarks and formatting them
as link posts here on this site. I include the HTML I want in the original
bookmark and have a bit of template code to insert preview images generated by
ShrinkTheWeb. When I link a YouTube
video, I do a quick cut-n-paste of the video to embed the player, and in these
cases, I don't want to include the preview image. In Python, this would be
super simple:
if 'http://www.youtube.com/' not in link_url:
show_thumb()
However, Django templates don't have a similiar syntax.
A Solution Using {% with %}
So here's what I did:
{% with link_url|slice:":23" as short_url %}
{% ifnotequal short_url "http://www.youtube.com/" %}
My ShrinkTheWeb image goes here.
{% endifnotequal %}
Other HTML common to all links goes here.
{% endwith %}
What do others think? A decent solution? There are some issues; if I want
to use multiple video sites, for example. At that point, I would be better to
use link categories or a custom tag. But for a 10 minute fix, I think it's
quite nice.
I've been doing a lot of JavaScript coding in my recent work on Launchpad. I mean, a lot! We're pushing to
get every
aspect of a bug page editable within the page itself, hopefully making it
easier to manage bugs without being directed to another web page. Everyone on
the Launchpad bugs team is working on some part of this. I haven't previously
done any JavaScript coding like this, and now I'm sitting with a 1400 line
JavaScript file that has grown unwieldy and needs to be tamed. I'm starting
on that refactor this morning and thinking on the things I've learned as this
file has grown seemingly with a mind of its own.
I should note some of the conditions that led to this. I wrote that I
haven't done JavaScript like this before, but it's not as if I lack experience
with js. I've done a lot of JavaScript coding both in previous jobs and for
fun, everything from minor usability improvments to extensive page
functionality in JavaScript. I've taught conference tutorials on AJAX and was
even working on a book on Google's use of
JavaScript in it's apps. (Yes, I'm a failed tech book author at this
point, but the point is still valid, I think.) But all the work I've done
previously either started in JavaScript and added server components as needed,
or started with the server-side and added JavaScript in targeted areas. This
work we're doing on Launchpad bugs has an existing, sophisticated server
component -- the bug tracker -- and now needs an extensive JavaScript
application built on top of that. Adding complexity is that the JavaScript
component is being built piece-by-piece in small branches, rather than with a
cohesive architecture. And by several developers at once.
It's this part about building an extensive JavaScript application in pieces
that is really the new part for me, and I've learned some things I'll carry
foward in terms of how to build a nice JavaScript module in small bites.
Global Module vars
Sticking variables into the global namespace of a module (so multiple
functions have access to the variables) is now my sure sign that I need to
refactor. From here on, I'll create an object rather than doing this.
This seems obvious but we're using
YUI3 where each module is akin to
an object itself, so it wasn't that clear to me. I would avoid module-level
globals, even inside the module pattern itself, and create distinct objects the
moment I begin to need state across objects or functions.
Closures
Again, YUI's module pattern and the way our Launchpad API is designed
encourage callbacks via anonymous function closures, especially when dealing
with XMLHttpRequest. And really this is a fine thing, and a common pattern
when doing async js coding. But it's easy to let the closures get out of
hand, which makes the code harder to read and maintain and makes debugging a
bit harder, too. So I'm trying to use closures only as I have to.
Custom Events
Given the previous point, I think it's good to fire custom events to signal
when to do some work. A custom event when an XHR has completed, or a custom
event when it's time to update the DOM. A custom event when some state is
initialized, and so on. Custom events are my new mantra going forward.
Perhaps I'll look back after this refactor and feel I've abused this pattern
as well, but I think it will be cleaner and will be easier to test.
Patterns for Reuse
And finally, the next time I get into some extended bit of JavaScript work,
I'm going to think about the patterns I'll be using and about the overall
architecture earlier. Even though I'm sure I'll still be doing small
branches that add small bits of functionality, I'll try to look ahead more to
where this code might be reused across Launchpad, where this pattern of
functionality or interaction might be repeated, and where the code I'm working
in is likely to go over the next two cycles.
Most everyone I work with knows this, but friends and family may not -- so
just in case you haven't heard -- my work schedule (which means the time I am available
online) has changed since I joined Canonical.
I am now up very early to better match European time zones, where the other
members of the Launchpad bugs team are located. How early, you ask?
I wake at 4:30 am, and I'm at work by 5:00.
A pause while that sinks in on all my musician friends.
Work hours are now 5:00am-2:00pm, but in practice I knock off closer to 2:30 or
3:00. I try to avoid being online after that. I usually spend the afternoons
playing with kids, cleaning the house or yard, or other such family/home activities.
I usually come back in the evenings for an hour or two of work before I go to bed,
but I rarely jump on IM or IRC in the evenings -- evenings are for quite work.
Note the usually in the previous sentence. This is not a work requirement
-- have I mentioned Canonical really is the best employer! -- and in the summer I'm
finding it harder to find time in the evenings with the kids out of school and staying
up later. Usually, the girls collapse by 7:00-7:30 on school nights, so I enjoy
coming back to the laptop for an hour or two to unwind. Sometimes this is work-related,
and sometimes it's just for fun hacking (which may even be work-related still, believe it or not!)
So all of this is to say, if you want to or need to catch me online via IM or IRC,
make it happen from 5:00am-2:00pm CST. For you west-coasters I may never see you online again, so ping me out a day early if I need to stay around to catch up with you. :)
While the schedule is different for me in terms of my time online, it really is
the perfect schedule for me. I'm focused early, getting a lot of work done, and enjoying
working on Launchpad a whole lot. And then there's still time in the day for doing
the things a husband and father likes to do.
Ian McEwan never disappoints, and this novel is no exception. While I found the build up to the final third of the book carefully constructed, if sometimes seemingly a bit slow moving, all of this was to lend greater wait to the final moments of conflict in the novel. I took my time reading this and enjoyed every moment. I finished this on my plane to Barcelona, Spain for Canonical AllHands, and the book really caused me to think on conflict and generosity among various peoples on the planet. I would highly recommend this book.
I've just finished my first night in Barcelona, Spain. This was
a fun night, a good night for catching up with people in person whom
I normally only see online. And, of course, Canonical is steadily growing,
so there are many people still to meet or get to know. This should be
a nice couple weeks.
That's right -- two weeks. This first week is for the Canonical AllHands
meeting; next week is for
UDS.
. It's a long time to be away from my family, but I really
feel it's time well spent.
I've been with Canonical for a little over a month now, and it's been a
busy few weeks. We're mid-cycle now on the 2.2.5 release, and looking at
our
2.2.5
progress page, you can get a good idea of what sort of work is going
into Launchpad Bugs this next release. Lots of words like "UI" and "inline"
on the page. I've been doing work on making subscribing to bugs happen on a
bug page, rather than having a user taken away to a "subscribe to bug XXXX"
page and redirected back again after confirmation.
This is the last week to land code this cycle, and with AllHands, I don't
know how much more I'll really get done. But I'm going to try to get in
some coding time this week. I would like to finish all of the subscribe-to-a-bug-inline
tickets this cycle, but I'm sure that's a bit unrealistic this
time. But tomorrow, tomorrow we'll see what happens.
Just not tonight... tonight, I'm dead. I need sleep. now.
I'm writing this from a plane, somewhere over New Mexico,
headed home from a few days working in Las Vegas. My last
few days, actually. As I write it's Friday (the posting of this is now Sunday), and
on Monday (tomorrow), I'll start
work for Canonical,
the company behind Ubuntu.
I will be working on Launchpad,
specifically joining the team working on the app's
bug tracker component.
While I have great friends I'm leaving behind at Greenspun,
I know the time is right for me to move on. My heart has always
been in free software first and media somewhere after that. The
group I've worked with is a progressive segment of the news/media
world, but at the end of the day, I've been doing closed, proprietary
development for the last few years. I'm excited to lend my hand
to free/open source software development again. I feel a bit like I
did when I joined the Samba Team, though experience has given me a
different set of eyes through which to view this coming change.
There will be plenty of challenges and new things to learn, certainly,
and I plan to just dive in, work hard, and contribute whatever I can
to Launchpad.
I will continue to work from home. Most of Canonical works from
home offices, and that will be a nice change, having so many peer
telecommuters. My day will be time shifted, with me starting earlier,
to better sync with my largely European teammates. This is a positive
for me, since I'll finish work earlier and have some time in the afternoon
with the kids after school. Because I'll be starting so early, I don't
plan to work from the attic office I was using, the one that also
houses my wife Wendy's business.
So there is the new job to start in the next few days, but also a whole
world of changes happening around that, all of which are positive and
exciting, and I truly can't wait to log on IRC Monday and get started.
I'm setting up a latop with a fresh install of Ubuntu.
I haven't done a clean install on a real machine in
who knows when, and over the last 3 months or so I've become a huge fan
of PPAs. I have
several PPAs to keep up to date with packages I use that have frequent
updates beyond what's available from Ubuntu updates. Since I'm adding
several at once, I'm adding a lot of PPA keys. Doing this reminded me
of a simple trick I use when running a frequent command. (Some form of
this is common among developers or sys admins, but if you're less
experienced with a shell or Linux this may be useful to know.)
So the easiest way to use this is to cycle back through your bash
history and replace the previous run with the new key and run again.
For me, I know I won't remember the particulars of this command in a
month or two when I need to run it again and it's no longer showing up
in my bash history. I'll end up having to consult a man page or the
Launchpad help pages. Not a
big deal, but with things like this -- commands I use semi-regularly
but not enough to keep in memory -- I usually add a little bash
script. For example, with this command I created a script called
add-ppa-key:
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: add-ppa-key KEY_FINGERPRINT"
exit 1
else
FINGER=$1
fi
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com $FINGER
I always add the usage test with each command like this, just so I
can use tab completion to find the command, run it with no arguments,
and get back a statement of what I need to do. I have a "bin"
directory in my home directory and append $HOME/bin
to $PATH in my .bashrc. I have several of these type of
scripts in this bin directory, for building software or even for simple
to remember but frequently used rsync commands or PythonPath export
statements. Not only does this make commands reusable without having
to completely remember them, it's also nice for documenting commands.
So the next time someone asks me what the command for installing a PPA
key is, I can do cat ~/bin/add-ppa-key and paste the
output into IRC, IM, or what have you.
When Bush was President all my liberal friends on Facebook constantly spammed my news feed with posts that had as their point, "Bush is (or will be) the downfall of America." Now that Obama has become President, all my conservative friends are filling my news feed with posts that say the exact same thing, with one minor difference, "Obama is (or will be) the downfall of America." This is why I've never taken to the liberal or conservative label, or the Democratic or Republican label -- I just don't care enough to spam my Facebook friends with FUD. Except for now. Now, I've found a cause worthy of a Facebook wall post. Moderates of the world unite!
What does it means to be a moderate, you ask? It means you have enough of both liberal and conservative friends that you can see how silly both sides look. Conservatives and liberals -- and here, I mean those of you who feel so strongly about that label that you have to post crap on the Internet to prove why you are the one who is correct -- you two are not that different from each other. You both want the other to wake up and become sensible and take up your obviously superior point of view. And if the other does not, then THE WORLD AS WE KNOW IT WILL COME TO AN END (emphasis yours).
So let us moderates unite in our laissez-faire wall post attitude and say to our liberal and conservative friends alike that we are tired of your anti-socialist or anti-anti-socialist messages. You are our news feed terrorists pals, yet we still love you. But we refuse to take sides in online pissing matches. The reason you don't know it's a pissing match is because you only have friends of the same political persuasion. And moderate friends, who of course never speak up.
So here we are, we are not loud, we are not proud. Not usually, anyway. We want to be friends with both conservatives and liberals, with both liberals and conservatives (see you both got top billing there, now be quiet) because there's something about each of you we like. We refuse to choose sides, and we're not backing down! And yes, just this once we moderates should post to Facebook so our bi-partisan, fearful friends can see how silly they look. Indeed, I am posting this to Facebook now, feel free to join me in my honest mediocre dissent. Moderates unite! If we don't stop the world-as-we-know-it-will-end-tomorrow wall posts then the world as we know it will end tomorrow. I'm only writing this because I don't care, not because I care. I am not afraid, and you can't make me be afraid.
Seriously, I'm sorry to offend, but if your political perspective requires me to live in fear, I just can't join your movement. I will forever remain moderately unaffiliated.
Now, where is that "post to Facebook" link...
Link | Posted by deryck on March 17, 2009 | 1 comment
How the Web Supplants Traditional Authority
I recently linked to
a NY Mag article on
the New York Times, citing it as a nice piece on the Web efforts at the
Times. I also posted some questions about a quote by the Times'
Aron Pilhofer.
Aron noticed the link and in turn
posted
a question back to me. Thanks Aron for taking the time to do that, and
what follows here is my response. Here's my take on why I suggested that the
Web "supplants and undermines any notion of 'authority.'"
On the point that the Web undermines authority on the Web, Aron
and I are in agreement (based on his comment on this site.) But what is it
about the Web that supplants authority?
By supplant, I mean that the Web substitutes one kind of authority for
another, that the Web itself is a system of authority, although a different
kind of authority. So not only does the Web remove barriers to publishing and
communication -- the barriers that others use to make claims of authority --
but the Web also institutes another kind of authority, although I like to
think of it as a kinder, gentler authority. This authority is based on
consensus among peers. It is relational authority -- many objects pointing to
another and confirming the legitimacy and authority of the other.
This authority is clearing typified in Google's
PageRank algorithm.
I do think, however, that the concept is writ large across the Web in
all kinds of ways. Social relationships on the Web are confirmed
by the relationships between sites on the Web -- i.e. my personal site
points to my Twitter page, my Facebook, etc. The same circle of "friends"
show up across various sites. My GPG key has been signed and verified by
other people's GPG keys, confirming my identity and creating a trust ring.
Using relationships as a structuring principal (and here I mean "relationship"
in the most encompassing sense of the word -- personal relationships, link
relationships, relational properties of data, etc.) creates a system of
authority, one in which a given object is deemed authoritative based on its
relationship to other objects.
To take this back to the news industry, which is where this discussion
began, something isn't really news on the Web only because
it appears on a news site. Something becomes news on the Web because
of the ground swell of linking that occurs around something when it becomes
popular. And think more than just backlinks from other web pages a la
PageRank. Think emails sent to friends, Facebook wall posts, tweets, IRC,
and on and on. News isn't news on the Web because it appears on
nytimes.com or
washingtonpost.com or any other
news web site. News is news on the Web when the right places begin
pointing to said object and declaring it news.
The only people for whom appearing on a major newspaper's Web site
is a prerequisite for being considered news is fellow journalists. And I
would argue that even that reinforces the notion that authority is derived
from relationships, i.e. this group of people agree that this
thing is authoritative as news, which is completely different from
previous systems where authority is claimed as divine right or as some
function of one's position in society or control of the means of
publication.
This is nothing new, really. Oral tradition gave way to the written word. The written word gave way to the printed page. The printed page gave way to the computer screen. And now here we are. Just the way mass-produced Bibles
in the vernacular killed the hand-written priestly Bible's claim to authority
so the Web kills the printing press's claim. The shift in authority from
page to pixel is much the same as the shift from a priestly class to a
publishing class. So if we're going to reinvent ourselves in this age,
let's don't stake our claim on trying to transition old models to a digital
age. Let's fully embrace the age for what it is, new system of authority and all that such a thing means.
Pop-culture Bibles FTW!
Link | Posted by deryck on January 29, 2009 | 2 comments
Comments Back Online and a New Combined Weblog Feed
I have made a few updates on the site here. I know have comments enabled again,
and I also have combined my links (which are really like mini-blog posts)
into the weblogs feed. Eventually, I'll break all these out -- one feed for
blog entries, one for links, and one which is a combined feed -- but for now, it's all
one feed.
If you're subscribed to me, you should start seeing link posts
appearing in the feed as well.
Link | Posted by deryck on January 15, 2009 | 0 comments
Ok, So What am I doing For Halloween?
Another day in the telecommuting office, even if it's Halloween. What's on tap for today? "Dad" costume, lunch, and iGoogle widgets, errr, gadgets.