<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.epcostello.net/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.epcostello.net/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
<title>ed costello: articles and essays</title>
<link rel="alternate" type="text/html" href="http://epcostello.net/articles/" />

<id>tag:epcostello.net,2008:/articles//6</id>
<link rel="service.post" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6" title="ed costello: articles and essays" />
<updated>2006-11-25T17:37:03Z</updated>
<subtitle>Non-fiction essays and articles, creative things to do with computers</subtitle>
<generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2</generator>
<link rel="self" href="http://feeds.epcostello.net/epcostello/essays" type="application/atom+xml" /><entry>
<title>Leashes and Water Coolers (or: Getting the EGR Valve Replaced)</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598343/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=2159" title="Leashes and Water Coolers (or: Getting the EGR Valve Replaced)" />
<id>tag:epcostello.net,2006:/articles//6.2159</id>
<published>2006-04-27T17:22:19Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>An essay about working in the post-office 2000s, with brief forays into my life as a technical writer, working out of a Starbucks, and some verbs.</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Work" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;So, we're down to driving the car about twice a month now on average.
Usually it's me taking the car out to meet with a friend for lunch once a month upstate, or the occasional need to fetch her highness Frisket from Monstermutt.&lt;/p&gt;
&lt;p&gt;Still, I take the car in regularly and try to keep it clean and in shape.  
And we tend to drive it more in the summer than the rest of the year.
So today is the one day a quarter I spend a morning (and likely much of the afternoon) somewhere in Queens.&lt;/p&gt;
&lt;p&gt;I'm not quite sure where I am, I take the &lt;acronym title="Brooklyn Queens Expressway"&gt;BQE&lt;/acronym&gt; north to Northern Boulevard, drive west a bit, and drop the car off at Paragon.
About two visits ago I discovered a Starbucks had opened about six blocks west on Northern.
Now, I hate coffee, but I love WiFi, so I'm spending the time in a Starbucks.&lt;/p&gt;
&lt;p&gt;I've never been one of the working-in-Starbucks crowd, probably because of the intense dislike for coffee (you want to see a horror face: give me a sip of your coffee).
It's an interesting mix of people: some reading books, newspapers, others tapping away at laptops.
One guy, an obvious regular since I saw him the last time I was here in December, has a whole corner locked up: laptop, phone out, headphones on and bluetooth headset at the ready.&lt;/p&gt;
&lt;p&gt;Another table was taken up by a pair of men.  
It became apparent that it was a new manager and an employee and they were &lt;em&gt;talking through some issues&lt;/em&gt;.
I can't tell how it went, there was some raised voices but they did seem to leave amicably.&lt;/p&gt;
&lt;p&gt;The downside of sitting in a Starbucks: I feel a guilty need to &lt;em&gt;buy something&lt;/em&gt;, so there's a collection of &lt;cite&gt;Jones Soda Co.&lt;/cite&gt; Root Beer on my little table.&lt;/p&gt;
&lt;p&gt;There was a stretch of time at IBM where the idea of sitting at a cafe, whiling away the time while working wirelessly seemed like a great idea.
Doonesbury even ran a series of strips where Mike Doonesbury works away in Paris, sitting at cafes all day.&lt;/p&gt;
&lt;p&gt;I never really got to try that out at IBM, and now that it's pervasive, I wonder how good it is to do this regularly.&lt;/p&gt;
&lt;p&gt;I mean, there are moments where I miss working in an office, but as I wrote in my &lt;a href="http://epcostello.net/articles/2006/04/a_meditation_on_sabbaticals.php"&gt;post on sabbaticals&lt;/a&gt;, the office I keep looking back to is the one I had when I first joined IBM: show up no later than 8:12 (my hiring manager said that that 12 minutes was for commuting, and that you actually were considered to be in the office at 8:00).
Log in, check your email, and then jaunt down to the company cafeteria for the morning bagel and diet Coke.&lt;/p&gt;
&lt;p&gt;Return, work for a bit, then back to the cafeteria for lunch.&lt;/p&gt;
&lt;p&gt;The afternoon was the longest stretch of work, though there was usually
time for another jaunt to the cafeteria. You also always had one or two people
&lt;em&gt;doing the rounds&lt;/em&gt;, gossiping mostly, sometimes touching base.
We had one coworker who was called &lt;cite&gt;The Deal&lt;/cite&gt;, who made a regular stop at our office between 2:00 and 2:15.
He'd dish out the goss, but also pass along useful bits of status on projects that we weren't directly involved in but
still found useful in our work.&lt;/p&gt;
&lt;p&gt;Communicating.&lt;/p&gt;
&lt;p&gt;All of these moments, as wasteful as they appear to my post-costcutting, post-layoffs eyes, brought people together to communicate.  Certainly much of the communication had nothing to do with what we were doing for the company, but a good chunk of it did.  We exchanged ideas, tidbits, knowledge learned on the job.  
&lt;q&gt;Have an acronym you can't decipher?  Just type &lt;code&gt;WHATIS&lt;/code&gt; at a CMS prompt.&lt;/q&gt;
It's how I learned to move from being a student to an employee, working to a schedule, deadlines, how to communicate with coworkers.&lt;/p&gt;
&lt;p&gt;And I know that that world is long lost, both within IBM and outside.&lt;/p&gt;
&lt;p&gt;We're all very optimized now, trying to squeeze as much out of each moment of time to &lt;em&gt;do work&lt;/em&gt;.
But I wonder what we've lost, working on our own in the cafes, Starbucks, etc.  
We seem to have gained time, but we've lost the interpersonal connections we had.&lt;/p&gt;
&lt;p&gt;You can argue that we've got I/M, email, Skype, newsgroups, mailing lists, blogs, feed aggregators: yes, truly we have more ways to keep in touch, communicate, that ever before.
But we're more often that not communicating &lt;em&gt;very precise information&lt;/em&gt;.
What time the meeting is, the answer to your question (&lt;q&gt;No, you can't have that domain name.&lt;/q&gt;).&lt;/p&gt;
&lt;p&gt;And what a torrent of information that is.
You can't unplug because you'll fall behind, so you check email on your phone, at public workstations.
You check the blogs (the biggest sinkhole of my time since I discovered &lt;code&gt;FORAVIEW&lt;/code&gt; many years ago).&lt;/p&gt;
&lt;p&gt;But are we learning anything?  
I feel, and this is wistful hindsight I'm sure, I feel I learned far more in those moments of talking to the people I worked with than in the months if not years I've spent reading and absorbing information online.
It's not that I feel I waste time reading stuff online, but the information is so dispersed, it's not concentrated, I have no personal connection to know whether or not this tidbit of advice is truly valuable.&lt;/p&gt;
&lt;p&gt;You read about people giving up blogging.
It's typically so-called &lt;em&gt;A-list&lt;/em&gt; bloggers that call attention to themselves by announcing that they are giving up blogging.
I wonder if it's because they feel they spend too much time reading, or too much time writing.&lt;/p&gt;
&lt;p&gt;We've adopted all of this new technology, but we have yet to learn how to use it efficiently.
I've been writing HTML for over ten years &lt;em&gt;by hand&lt;/em&gt; most of that time.
The last project I was involved in as an &lt;cite&gt;Information Developer&lt;/cite&gt; at IBM was to develop a
&lt;acronym title="What You See Is (allegedly) What you (may) Get"&gt;WYSIWYG&lt;/acronym&gt; editor for our shift to SGML from Bookmaster.  That was in 1993.
Now, while you can sort of do WYSIWYG editing of HTML, it's with specific platforms or tools.
I'm typing this in a web form for MovableType, and entering various tags etc. by hand.
I've used (alleged) WYSIWYG tools for blogging, and always find that I need just one specific tag that the tool doesn't support.  And not only does it not support it, if I enter it by hand the tool strips it out when I return to WYSIWYG mode.&lt;/p&gt;
&lt;p&gt;We keep building these silos, silos of applications, silos of information. &lt;/p&gt;
&lt;p&gt;Part of the whole Web 2.0 meme is mash-ups, taking bits of applications and data and mashing them together.  Sometimes, as with Google's Maps, the application owners support this explicitly.
Other times, as with the housing maps based off Craigslist, there isn't explicit support, but the data is there to be used as you see fit.
And still other application and data providers lock everything away. 
They prefer the customer they can squeeze over the potential customers they may gain by opening up.&lt;/p&gt;
&lt;p&gt;With good reason: if you give stuff away for free how can you make money?  
Forget even profit motive, how do you pay the bills?
A long time ago I was looking for an internship as part of my technical writing program.
One of the potential places was a well known free software advocacy organization. 
They needed someone to write or update the user manual for one of their projects.
In retrospect, it was silly to think I could just walk in and do the work, but I applied anyway.&lt;/p&gt;
&lt;p&gt;And pretty much had the job if I wanted it.
Only catch: no pay.
No pay, no salary, no benefits, no stipend to cover the cost of living in Boston.&lt;/p&gt;
&lt;p&gt;With a zillion dollars in student loans hanging around my neck I couldn't take the job (is it a job if you're not getting paid?).&lt;/p&gt;
&lt;p&gt;So, instead I took the positon at IBM.
My job was to create a booklet of commands for RACF.
Seemed simple enough, I had three months to do it and had completed much of the work in the first six weeks.&lt;/p&gt;
&lt;p&gt;Which was good, I didn't feel as guilty skipping out with the afternoon movie crowd, or spending as much time on the long lunches at the Poughkeepsie Galleria.&lt;/p&gt;
&lt;p&gt;And it was good as well because three months in, one of the lead writiers on the product became gravely ill, and suddenly I was responsible for an entire book (I know these days individual writers get tasked with &lt;em&gt;entire libraries&lt;/em&gt; in the refined, streamlined processes of 21&lt;sup&gt;st&lt;/sup&gt; century writing).&lt;/p&gt;
&lt;p&gt;And it was at that moment that being able to talk to people face to face mattered.
I don't know that the same situation could occur today, but if it did I'm not sure how successful I would have been if I had to rely entirely on email, I/M, Skype, etc. to communicate with people.
I am sure I would have learned much of the information: after all I used email and I/M (so to speak) at IBM.
But the face-to-face communications adds something to the mix
Something I can't put my finger on, but it makes the education richer.&lt;/p&gt;
&lt;p&gt;I read somewhere, once, that we learn by doing, we learn by repetition.
And I wonder if our brains (or perhaps just mine) isn't wired yet to learn by &lt;em&gt;doing on line&lt;/em&gt;.
And certainly I try to &lt;em&gt;avoid&lt;/em&gt; repetition while reading stuff online.
I've read it, I don't need to read it again.
But you don't say that when someone tells the story of the APAR from hell for the fourth time, because you notice, even subliminally, that the story is a bit different each time.
Not that the previous times were false, but each time the tale is told there's a different audience.
This time there's a developer that was involved with the diagnosis, that time a manager who had to make the call on where to invest the limited people resources she had to solve the problem.&lt;/p&gt;
&lt;p&gt;You learn through the repetition, because it's not repetition: the story gains new facts and information, and because you've heard parts of the story before you can sort of elide out the stuff you know and focus on what you hadn't heard before.&lt;/p&gt;
&lt;p&gt;You do this automatically, you don't consciously think about it.
If anything you think: &lt;q&gt;My god, he's going to tell that stupid story about the Deep Blue vs. &lt;ins title="20060427T1858Z"&gt;Kasparov&lt;/ins&gt; web site again!&lt;/q&gt;.&lt;/p&gt;
&lt;p&gt;And it's these interactions we miss when we don't work together.
If you're not working together, physically together, you don't get a snack, you don't do lunch, you don't comment on the weather.
When I was a kid it seemed like a running joke that people would ask about the weather.
But as I've become embedded in an online world, working across an international mega-organization like IBM, it became a way to get a sense of presence.
&lt;q&gt;How is the weather there?&lt;/q&gt; I'd ask at the start of a conference call with Sydney, Madrid, Vienna, Portsmouth.
It was different each time, but it gave a way of opening the door a bit, softening the discussion that was to follow (since if &lt;em&gt;I&lt;/em&gt; was calling &lt;em&gt;you&lt;/em&gt; more likely than not I was going to tell you something you didn't want to know).&lt;/p&gt;
&lt;p&gt;There's a term for this chit-chat which I learned many years ago and forgot probably just as soon.  
I even picked up a book of rhetorical terms in the hopes of finding it again but it wasn't listed.&lt;/p&gt;
&lt;p&gt;We need meta-discourse to fill out the holes, we need it to learn and absorb facts and information.
Too much of what we're developing in information technology strips out the meta-discourse, or provides no room for it in the first place.&lt;/p&gt;
&lt;p&gt;I'm working on a couple of projects which I hope will do a little bit to address this.
Too much gets lost when we optimize the hell out of our every day lives, to make it easier to work remotely, to work at Starbucks.
What used to seem freeing may instead be the path to being ever-chained to our electronic devices.&lt;/p&gt;
&lt;p&gt;I resisted getting a pager for a long time, partly because I didn't think I was getting paid to be on-call (I wasn't, never really was). 
But eventually it became necessary, cell phones were expensive and range was limited, pagers cost less and were effective at communicating very precise bits of information: someone with this number has called you.
I don't remember the circumstances, but when I got the pager a friend commented to me: &lt;q&gt;Welcome to the leashed life.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;Too often, the technology we adopt has become exactly that: a leash.  Not an enabler, a restriction or constriction.&lt;/p&gt;
&lt;p&gt;And while it's been fun sitting here at the Starbucks, watching the interaction between employees and customers, listening in on the various discussions, I'm still waiting for the stupid EGR valve to be replaced (and no, I'm not defining that, I know as much about the engine in the MDX as I do about sub-atomic physics).&lt;/p&gt;
&lt;p&gt;If you're developing technology, and you've read this far, tell me this: are you developing the next leash or the next water cooler?
I think we need more water coolers, more &lt;cite&gt;The Deal&lt;/cite&gt;s wandering the virtual hallways, and less leashes.&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598343" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2006/04/27/leashes_and_wat/</feedburner:origLink></entry>
<entry>
<title>A meditation on sabbaticals</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598344/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=2156" title="A meditation on sabbaticals" />
<id>tag:epcostello.net,2006:/articles//6.2156</id>
<published>2006-04-25T19:54:00Z</published>
<updated>2007-10-07T05:51:37Z</updated>
<summary>A meditation on sabbaticals from professional, non-academic positions</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Personal" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;Via &lt;a href="http://blog.fastcompany.com/archives/2006/04/24/practical_sabbaticals.html" title="Fast Company Now"&gt;Fast Company Now&lt;/a&gt;, an
article on sabbaticals I totally missed in last weekend's NYT:
&lt;a href="http://www.nytimes.com/2006/04/22/business/22sabbaticals.html" title="The New York Times: Sabbaticals Aren't Just for Academics Anymore (22 April 2006)"&gt;Sabbaticals Aren't Just for Academics Anymore&lt;/a&gt;.
The article is mostly a survey of current practices in the US, positing that sabbaticals are growing,
that they are a good way to help employees beat burnout, or to retain employees during slow periods.&lt;/p&gt;
&lt;p&gt;In theory, I think sabbaticals are a great idea.
My own personal experience was less than great though.
Here are some thoughts on it, I'll attempt not to whine too much about IBM.&lt;/p&gt;
&lt;h2&gt;The setup&lt;/h2&gt;
&lt;p&gt;From 1994 through 1999 I worked at an insane pace, 16-18 hour days were not unusual.
It was a highly stressful environment, multiple interwoven deadlines, competing corporate factions,
frequent escalations.
On good days I was totally confident I knew what I was doing and could withstand the onslaught.
On bad days I barely kept my act together, because truth be told I frequently had no idea what I was doing
(and there were few places or people I could go seek advice).
My health went to hell, I had few personal relationships outside of work (and dating? dating was just a non-option).&lt;/p&gt;
&lt;p&gt;I pretty much quit in late 1999 only to be offered another position.
&lt;p&gt;For about a year, through 2000, I had perhaps the easiest job I'd had at IBM in years: managing the Olympic Games
web site.
Now, it was not without its stressful moments: nothing like having a key database get corrupted during
the last dress rehearsal because it grew to 2,147,483,649 bytes.
But i had a great team, and my job was mostly to provide a buffer between the team and the various
executives and managers.&lt;/p&gt;
&lt;p&gt;In the winddown after the Games I decided to take a break. 
In retrospect, I had enough documented vacation time that I could probably have just argued for 6-8 weeks off.
But the end of the Games brought the end of IBM's involvement, so the management team dispersed (many retiring).
It was easier to take a leave of absence which is what I did.&lt;/p&gt;
&lt;p&gt;I'd first heard about sabbaticals when, in the wake of the Lotus takeover, we met with counterparts
on the Lotus web team.  Sabbaticals were part of the package at Lotus, available to employees after some
period of time (I think five years? maybe seven?).
It was an attractive idea, I thought it'd be a great way to bridge to something new at IBM.&lt;/p&gt;
&lt;p&gt;Now, the NYT article discusses the sabbatical options for people, some are paid, some are not, some
require some sort of plan of action or approval from the company beyond agreeing to allow the employee
to take a sabbatical.
It doesn't really go into what happens when you take a long break from work.&lt;/p&gt;&lt;h2&gt;The sabbatical: a real &lt;em&gt;break&lt;/em&gt; from work&lt;/h2&gt;
&lt;p&gt;My sabbatical started off with a two week trip to Australia, which seemed like a great way to
start four months off.&lt;/p&gt;
&lt;p&gt;On returning to Brooklyn, I spent a couple of weeks vegging.
Flew out to see my mother, spent some family time.&lt;/p&gt;
&lt;p&gt;I read, I surfed the web.&lt;/p&gt;
&lt;p&gt;I contemplated building a blogging service but decided that wouldn't go anywhere.&lt;/p&gt;
&lt;p&gt;Besides, I was returning to IBM.&lt;/p&gt;
&lt;p&gt;Basically, though, I frittered away the four months I'd set aside.
As the (initial) sabbatical was coming to a close I decided I wasn't ready to go back to work yet,
and extended it through the end of August 2001.&lt;/p&gt;
&lt;p&gt;Did some more travel, more reading, tried to bone up on technology skills that had rotted
as I became more a personnel and project manager and less a grunt techie.
Took an intensive three week class in Mandarin Chinese.
I think I can still say &lt;q title="No, this isn't supposed to make sense. It is a lame attempt at humor."&gt;My name is Mr. Plum, how is your rice watching?&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;In late June I decided to get on top of things and reach out to various people at work
to see what positions were available.&lt;/p&gt;
&lt;p&gt;The silence was stunning, but I wrote it off to mid-summer vacations.&lt;/p&gt;
&lt;p&gt;I mean, come on, &lt;strong&gt;I was IBM's webmaster&lt;/strong&gt;, surely there was a place for me
somewhere.  Hell, I had five years of pent-up education on running large scale web sites
that could be unwound into briefings, consulting engagements, etc.&lt;/p&gt;
&lt;p&gt;I had ideas I wanted to pursue, &lt;em&gt;once I got back to work&lt;/em&gt;, and need to find a place
I could pursue them in.&lt;/p&gt;
&lt;p&gt;I checked in with &lt;cite&gt;IBM Research&lt;/cite&gt;.
I promised not to whine, so I'll just write that we couldn't work out a position.&lt;/p&gt;
&lt;p&gt;In my head, I was looking to return to the IBM I'd joined ten years earlier, 
in reality the company I was returning to was completely different.
My time at ibm.com and then the Olympic Games was time worked in a secluded part of
the company: people knew we were doing some great things, but didn't understand what
we were doing and generally left us alone organizationally.&lt;/p&gt;
&lt;p&gt;As July morphed into August and August into September I ended up taking sort of a fallback
job in consulting services.
That worked out so well, I ended up leaving two months later.&lt;/p&gt;
&lt;h2&gt;What happened?&lt;/h2&gt;
&lt;p&gt;I didn't appreciate how much taking a break from a manic pace would cause me to 
&lt;em&gt;never, ever&lt;/em&gt; want to return to that pace.
Not that I necessarily liked doing nothing, I was frequently bored.
But it set up my mood for what I was looking for in my next job: something
predictable, 9-5, maybe 9-6. 
Not nights.  Not weekends.
And certainly not a different city every week (the consultant's life).&lt;/p&gt;
&lt;p&gt;I didn't know how to articulate what I wanted to do without coming off 
like some slacker: you walk in and say you want a 9-6 job and managers look
at you like you are on crack.
What I wanted was to have a "normal" job, whatever that meant in 2001.
I didn't want to serve at someone's leisure, beck and call.
There probably were positions available that would have fit my skill set and my 
goals, but I didn't know how to look for them (and I'm fairly certain
had I found one I wouldn't have know what words to use to get in the door).&lt;/p&gt;
&lt;p&gt;I didn't appreciate the network of professional connections I'd made in
my years as &lt;cite&gt;Corporate Webmaster&lt;/cite&gt;, nor the impact of the number
of people I'd apparently offended, pissed off, or just rubbed the wrong way.
I didn't leverage the connections in the lead up to the sabbatical to 
articulate what &lt;em&gt;they knew&lt;/em&gt; I could do and to help find or create
a position to return to.
&lt;p&gt;I also didn't appreciate that the network of contacts I had was very
narrowly focussed within a slice of the company.
In my little world of webmasters, user experience and interactive marketing people
I was a office-hold name.  
But outside that world if I was known at all, it was as that jerk from corporate who said 
&lt;q title="epc, some time in 1998"&gt;No, you cannot have www.ibm.com.java!
There is no .java top level domain.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;I was unfocussed.
I had no master plan, other than a notion I'd had that I would:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;buy a 64&amp;#xbd; Mustang,&lt;/li&gt;
&lt;li&gt;get a really decent sound system installed in it,&lt;/li&gt;
&lt;li&gt;and drive up and down the West Coast for 4-6 weeks.&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="pc"&gt;(I did do a bit of a driveabout, from San Francisco to Seattle, 
via Crater Lake and Mt. St. Helens, over the course of maybe 10 days,
bracketed by trips to Las Vegas).&lt;/p&gt;
&lt;p&gt;But, again, I was unfocussed.
I wasted days reading the web, catching up on years of TV I'd "missed".&lt;/p&gt;
&lt;p&gt;And some of that was important...it's important to have unstructured time.
But not necessarily nine months of it.&lt;/p&gt;
&lt;p&gt;So, sliding into September 2001 I was a bit of a sub-surface mental wreck.
I felt abandoned by the company I'd done so much for (in my head), sacrificed
so much for.  
I was stuck with a job which no one could describe to me, and which sounded
promising until the first session I had as a consultant.&lt;/p&gt;
&lt;p&gt;Into this mix, stir in 9/11.
From 1997 thorugh mid-2000 I'd lived in &lt;cite&gt;Battery Park City&lt;/cite&gt;, and
woke up every morning to the reflection of the WTC towers in my windows.
I loved the WTC, in all its ugly glory, in a very boyish, isn't-this-cool
sort of way.
I even had a yearly routine even of going to the roof of WTC 2 the first clear
day of the year (if you've ever been on the roof of a 1300 foot building
in winter, you'll appreciate both how stupid this was, as well as how clear
the view was).&lt;/p&gt;
&lt;p&gt;On returning from Sydney, I'd moved in with my girlfriend in Brooklyn Heights,
so I was "safe" from the physical effects, but not so much from the other effects.&lt;/p&gt;
&lt;p&gt;Had I had my wits, and I now know I didn't, I would have just stayed on
sabbatical through the end of the year, dealing with 9/11 and performing
a real job search.&lt;/p&gt;
&lt;p&gt;Instead I latched onto the first position that came along, and when I
hated that, latched onto the next job that came along.
It's not a very smart way of career management, and has pretty much
trashed my ability to get a job.&lt;/p&gt;
&lt;h2 id="advice"&gt;My advice...&lt;/h2&gt;
&lt;p&gt;So, what's my advice to a dedicated employee pursuing a sabbatical?&lt;/p&gt;
&lt;h3&gt;Before you leave...&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Seek out other people within your organization who have taken a sabbatical
and pick their brains.
Organizations have their own culture, you need to suss out how the reality
matches the documented approach to sabbaticals.&lt;/li&gt;
&lt;li&gt;Determine early whether you are returning to your current position,
or to a new role.&lt;/li&gt;
&lt;li&gt;In either case, define what your position will and won't be on your return.
The organization can and will change while you are away, think about what
factors would cause you not to take the position, or would change the position.&lt;/li&gt;
&lt;li&gt;Get things in writing, print off copies of the organization's 
policies with respect to sabbaticals or leaves of absence.  
Once you are out the door you may not have access to the documents, and
if they change in your absence you may end up being caught short.&lt;/li&gt;
&lt;li&gt;Truly understand your organization's approach to sabbaticals
and leaves of absence.
At IBM I was warned that there was no guarantee of a job on my return,
which I sort of waved off, they have to do that, right?
But while there was no guarantee of a position on my return, &lt;em&gt;I&lt;/em&gt;
had to guarantee that I would return on command, if necessary (which
didn't happen).&lt;/lI&gt;
&lt;li&gt;Assume you don't come back, what do you need to take care of,
wrap up, get copies of?
There's a million reasons you might not come back, having nothing
to do with how much you like your job or coworkers.
You are going away, you are taking and making a &lt;em&gt;break&lt;/em&gt; from work.
You may find something else you really want to do.&lt;/li&gt;
&lt;li&gt;Make a plan.  How are you going to spend your days?
Are you going to school?  
Are you going to write a book?
Read a book?
Travel?
Make a plan, review it with your friends and family.
Structure your time and be aware of how you are spending your time.&lt;/li&gt;
&lt;li&gt;Plan your re&amp;#xeb;ntry.  
when will it occur?
How far in advance do you need to check-in?
What factors will affect your return?
What are the repercussions if you decide not to return?
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;While on sabbatical&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Keep to your plan, your schedule, your structure.
Keep aware of how you are really spending time and either revise the plan,
or change the way you're spending time.
Only you can decide how well you spent your time on sabbatical.&lt;/li&gt;
&lt;li&gt;Keep in touch with people from work.
Frequently enough that you don't feel totally out of touch, 
infrequently enough that you're out of the loop on day to day, week to week
tasks, problems and issues.
You're not doing this for your employer, you're doing this for yourself first and foremost,
and you're keeping up professional-personal relationships.&lt;/li&gt;
&lt;li&gt;Enjoy the time. 
Again, only you can decide how well you're spending your time and meeting your goals.
In a sense, you are working for yourself, your pay or reward is the time off, the 
education gained, the experience gained from whatever it is you decide to do.&lt;/li&gt;
&lt;li&gt;Keep a log or journal or diary, both so you can track your time,
as well as so that you can look back a year or more and recall this time
away.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Re&amp;#xeb;ntry ...&lt;/h3&gt;
&lt;p&gt;You've been gone for 3, 6, 9 months.
A year perhaps, more in extreme cases.
A lot has changed with your organization, some good, some not so good.
You've changed.&lt;/p&gt;
&lt;p&gt;If you're considering &lt;em&gt;not returning&lt;/em&gt;, don't be hasty.
Review why you don't want to return, did you find something else to do
on your sabbatical?  Do you not like the organization as much now that
you have some distance?
Do you think there is another position out there, at another 
organization for you?&lt;/p&gt;
&lt;p&gt;If you decide to look for another job, start the process well before
your scheduled return date.  If you wait until the weeks immediately
before your return date you'll feel rushed, and you will be rushed.
If you're mind is elsewhere, on that other job lingering out there,
you won't be very effective on your return to work, which will make the
experience seem miserable.&lt;/p&gt;
&lt;p&gt;If you do return, you're going to feel like a new employee, unless
you return to exactly the same position and team as you'd left.
Even then, in theory someone else has been doing "your job" since you
went on leave.
The culture will be just a little different.
Depending on the organization you may be welcomed back by all,
or you may get treated as &lt;q&gt;the guy who took six months off while we 
all worked our asses of&lt;/q&gt;.&lt;/p&gt;
&lt;h2&gt;In retrospect...&lt;/h2&gt;
&lt;p&gt;I do not regret taking a leave of absence, a sabbatical, from
IBM at all.
I think it saved my life in multiple ways, physically and spiritually.
It broke me from some very bad working habits,
it broke me away from an unhealthy working environment,
it broke me away from an unhealthy approach to work in general.&lt;/p&gt;
&lt;p&gt;I do regret not being structured about it.
I regret not taking the time leading up to my leave to plan it out
better, and to plan my re&amp;#xeb;ntry better.
I regret not acknowleding the professional relationships I'd had,
nor attempting to mend the relationships that had frayed.&lt;/p&gt;
&lt;p&gt;I regret not taking the organization at its word: no obligation
to place me in a position on my return.
I can't complain that I wasn't warned, I knew full well what I was
getting into (not that I &lt;em&gt;comprehended&lt;/em&gt; what I was getting into).
I knew many of my organizational ties, my professional networks,
would be broken or disappear while I was on leave, yet didn't do
anything to mitigate the fallout.&lt;/p&gt;
&lt;p&gt;If you need a sabbatical, take a sabbatical.  
But be aware that organizations are living, breathing things and will change while you are away.
The company you return to will not be the company you left.
&lt;em&gt;You&lt;/em&gt; will not be the same employee on return as the person who left.&lt;/p&gt;
&lt;p&gt;The only comparison I can make to shared experience is this: the summer between
your last year of grade school, and freshman year of high school.
The structure of the two schools may have been similar, they may have even
been in the same buildings or campus; the students may be mostly the same students
you went to grade school with; but the culture is different and even 
amongst all the familiarity you'll feel &lt;em&gt;off&lt;/em&gt;.
The advantage of being a professional on sabbatical, returning from sabbatical is
that you really can control what you end up doing.  Unlike high school, you
can decide to alter or leave the situation.&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598344" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2006/04/25/a_meditation_on/</feedburner:origLink></entry>
<entry>
<title>Blocking Referer Spam (shorter version)</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598345/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1946" title="Blocking Referer Spam (shorter version)" />
<id>tag:epcostello.net,2005:/articles//6.1946</id>
<published>2005-06-14T19:42:46Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>A briefer treatise on referer spam</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Webmastery" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;For a tale, see &lt;a href="http://epcostello.net/articles/2004/05/blocking_referer_spam.php"&gt;Blocking Referer Spam&lt;/a&gt;, but if you want the Cliff's Notes version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;cite&gt;Referer spam&lt;/cite&gt; refers to bozos who bombard sites with traffic, peppering the HTTP &lt;strong&gt;Referer:&lt;/strong&gt; header with various URLs, the goal being to drive traffic back to their sites.&lt;/li&gt;
&lt;li&gt;Even if you don't post Referers (really, refer&lt;em&gt;r&lt;/em&gt;ers, but someone misspelled it in 1993 or so and we're stuck now), you'll get Referer Spam.&lt;/li&gt;
&lt;li&gt;Sometimes it's combined with attempts to exploit open proxies and generate click through revenue for affiliate and some ad sites.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sites using &lt;a href="http://httpd.apache.org/"&gt;Apache&lt;/a&gt; can respond to referer spam by modifying their configuration files or their .htaccess files and the Apache URL Rewrite Engine.&lt;/p&gt;
&lt;p&gt;The simplest approach is to block by IP address:&lt;/p&gt;
&lt;blockquote class="code"&gt;
deny from 127.0.0.1
&lt;/blockquote&gt;
&lt;p&gt;Now this approach will still record a hit in your access log,but it will be recorded with a 403 status code.  
This approach is a bit of a sledgehammer (you could block everyone from the 127 network with &lt;code&gt;deny from 127.&lt;/code&gt; for example) and requires frequent maintence since the spammers bounce around from system to system.&lt;/p&gt;
&lt;p&gt;Another approach is to block by pattern:&lt;/p&gt;
&lt;blockquote class="code"&gt;
RewriteEngine On&lt;br/&gt;
RewriteCond %{HTTP_REFERER} ^.*&lt;em&gt;pattern&lt;/em&gt;.*$ [NC,OR]&lt;br/&gt;
RewriteCond %{HTTP_REFERER} ^.*&lt;em&gt;another-pattern&lt;/em&gt;.*$ [NC]&lt;br/&gt;
RewriteRule     .       - [F,L]&lt;/blockquote&gt;
&lt;p&gt;Where &lt;em&gt;pattern&lt;/em&gt; and &lt;em&gt;another-pattern&lt;/em&gt; could be &lt;em&gt;poker&lt;/em&gt;, &lt;em&gt;gambling&lt;/em&gt;, &lt;em&gt;high-stakes&lt;/em&gt; (just to pick a few of the words I'm blocking on).
Now, this will effectively deny access to your site for anyone submitting a referer containing the patterns you use. 
Again, you'll still get the hit recorded.&lt;/p&gt;
&lt;p&gt;Note that blocking by pattern could block some legitimate requests.
For example, in a few days I'm fairly certain that a search on &lt;em&gt;poker referer spam&lt;/em&gt; will return this page. 
If you click on the link to this site you (should) get an error message back, assuming the search term is echoed in the Referer header.&lt;/p&gt;
&lt;p&gt;Why is this important?
It may just be a hit, but it requires processing on your server.
If the target of the hit is a CGI or application (even PHP script) it requires more processing and takes that capacity away from your legitimate users.
If you're just managing a personal site then it's unlikely to be a significant problem, more just an annoyance.
On the other hand since the tools seem to blast away at practically any URL they can find on a site you're open to a denial of service attack if the spammers stray across a CGI or other application.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I&lt;/em&gt; don't post referers on my site with one exception, but I get spammed nonetheless.
There's one exception: I do echo back the Referer in a &amp;lt;link&amp;gt; element.  That's the Referer the active client used to retrieve the page, not all the referers that hit the site.&lt;/p&gt;
&lt;p&gt;My personal practice is a mix of blocking by pattern (variations on poker, gambing, texas-hold-em, and a list of domain names which I noticed generating the spam traffic) and blocking by IP.
I block an entire class A for example.   Yes, that effectively shuts out several countries from my site but....just to be clear, this is my site.
It's not public benefit, and if the net value to me of having traffic from that Class A is less than the impact of the bozos pounding away with spam robots, then I'll block the site.&lt;/p&gt;
&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598345" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2005/06/14/blocking_refere_1/</feedburner:origLink></entry>
<entry>
<title>Little privacy hole in itp32.exe</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598346/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1928" title="Little privacy hole in itp32.exe" />
<id>tag:epcostello.net,2005:/articles//6.1928</id>
<published>2005-05-18T00:57:57Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>Back in the day (the day being sometime in the 1990s) I tried to convince various and sundry people I worked with that all network related activity on behalf of the company I then worked for should occur under the domain we managed. My argument then was: Sure, this product/service/release/announcement/gopher is the most critical thing in the world today and I'm sure you feel you need...</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Information Technology" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;Back in the day (the day being sometime in the 1990s) I tried to convince various and sundry people I worked with that all network related activity on behalf of the company I then worked for should occur under the &lt;acronym title="ibm.com, doesn't really matter for the story though"&gt;domain we managed&lt;/acronym&gt;.
My argument then was: &lt;q&gt;Sure, this product/service/release/announcement/gopher is the most critical thing in the world today and I'm sure you feel you need your own domain name, but in three months when you've moved on and the company has moved on and you forget about the domain name, you still might have links, or worse, &lt;em&gt;customers&lt;/em&gt; who are using that special domain name you set up.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;I was frequently ignored, and then called on (usually around 3:00 a.m. wherever I was in the world) to &lt;em&gt;fix things&lt;/em&gt;.
To this day, I still can't get over the request to create a &lt;strong&gt;.java&lt;/strong&gt; top level domain because someone had printed &lt;strong&gt;&lt;em&gt;companydomain&lt;/em&gt;.java&lt;/strong&gt; on 15,000 mugs.&lt;/p&gt;
&lt;p&gt;I digress.&lt;/p&gt;
&lt;p&gt;Anyway, I'm gearing up to do some work, and in a bizarre footnote, I decided I wanted to install &lt;cite&gt;Lotus 1-2-3&lt;/cite&gt; and &lt;cite&gt;Lotus Freelance&lt;/cite&gt;.
I can't explain why except that I find &lt;cite&gt;Microsoft Excel&lt;/cite&gt; and &lt;cite&gt;Microsoft Powerpoint&lt;/cite&gt; a pain to deal with and for the immediate future, I just need to crunch some work.&lt;/p&gt;
&lt;p&gt;I didn't go for the whole &lt;cite&gt;Lotus Smartsuite&lt;/cite&gt; install, partly because you now receive a warning dialog that various Lotus Smartsuite programs are incompatible with the version of Windows I'm using (XP).&lt;/p&gt;
&lt;p&gt;So, I install 1-2-3 and &lt;acronym title="Freelance Graphics"&gt;FLG&lt;/acronym&gt; and the last step is the dreaded registration screen.  
I should point out that as far as I know I have a legal copy of Smartsuite, it came with one of the IBM Thinkpads I've acquired over the years.&lt;/p&gt;
&lt;p&gt;Anyway, you fill out the registration panel, and then it prompts you for dialing information.
Apparently in the early 21&lt;sup&gt;st&lt;/sup&gt; century it was common to connect computers to &lt;acronym title="Plain Old Telephone System"&gt;POTS&lt;/acronym&gt; lines and do this bizarre &lt;em&gt;dialup&lt;/em&gt; procedure.
I cancel since I have yet to configure a modem on my x31 a year after buying it.
It then offers a chance to register using this &lt;em&gt;Internet&lt;/em&gt; thing and I click &lt;strong&gt;Ok&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Now, I've had this CD for a couple of years, possibly more.  It's labelled &lt;em&gt;Millenium Edition&lt;/em&gt; but I have to admit the last copyright date is 1998.&lt;/p&gt;
&lt;p&gt;To be fair, now, the Lotus Internet Team generally ignored any suggestions I made and had every right to as Lotus was not part of the grand, galactic corporate web mess I was managing.&lt;/p&gt;
&lt;p&gt;The registration program proceeds to attempt to ftp to &lt;em&gt;lotus.regserver.com&lt;/em&gt;.
This actually hangs in a &lt;em&gt;SYN&lt;/em&gt; state for awhile as there's now no ftp server running on that site.&lt;/p&gt;
&lt;p&gt;Now, the &lt;em&gt;privacy hole&lt;/em&gt; I mention is this: I &lt;em&gt;almost&lt;/em&gt; ftp'd a bunch of semi-personal data (I use my business contact information and a junk-mail email address) to a site which I'd assumed was a &lt;em&gt;*.lotus.com&lt;/em&gt; site since it doesn't say anywhere that it was going to transfer data to a third party.&lt;/p&gt;
&lt;p&gt;Some investigation revealed that that third party was a company called &lt;cite&gt;Naviant&lt;/cite&gt;.
Naviant apparently started out as a company focussed on product registrations but evolved into an email marketing &lt;em&gt;service&lt;/em&gt; which &lt;em&gt;leveraged&lt;/em&gt; all that nice product registration information it had received over the years.
Fast forward from 1998 when the hostname was hardcoded into &lt;em&gt;itp32.exe&lt;/em&gt; to today: Naviant was acquired by Equifax in 2002.&lt;/p&gt;
&lt;p&gt;Now, at some point someone made a decision (usually unconciously) to drop this service, at least partially.
The host name &lt;em&gt;lotus.regserver.com&lt;/em&gt; still resolves, it's a CNAME to &lt;em&gt;pipe.pcpipeline.com&lt;/em&gt; which in turn resolves to [216.31.246.147].
Now, that host doesn't appear to be running either ftp or http servers, so my data is secure.
However the thought, in retrospect, that it could have been transmitted to Equifax is disturbing.
Nothing against Equifax, but it was the last place I'd expect to transmit Lotus product registration data to.&lt;/p&gt;
&lt;p&gt;So, I'm wondering what other products have these little privacy timebombs waiting to go off?
It would have been much better to use a CNAME like regserver.lotus.com which could have pointed anywhere,
and could also have been deleted at its end of life, rather than left out there like a solitary mine waiting to go off.
I assume the products don't &lt;em&gt;call home&lt;/em&gt; on a regular basis to this site, even so I'll be blocking the
registration program with the Windows Firewall just in case.&lt;/p&gt;
&lt;p&gt;Always, always maintain control over the hostnames and domains you hard code into products.
And always, always listen to your Corporate Webmaster, no matter how psychotic he may seem to be.&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598346" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2005/05/17/little_privacy/</feedburner:origLink></entry>
<entry>
<title>Nerd upgrades laptop to 1Gb, freaks.</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598347/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1712" title="Nerd upgrades laptop to 1Gb, freaks." />
<id>tag:epcostello.net,2004:/articles//6.1712</id>
<published>2004-09-10T21:44:54Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>When I first joined IBM in 1990 the company was still in the thrall of PROFS and VM/CMS and mainframes in general....  It had 512Mb of main memory and (hey, I'm forgetting the terminology finally) another 512Mb of "secondary" memory (which was slower and used for hiperspace, paging, swapping ,etc....  I still need to sift through the great suggestions I got, but I think that that request originated with this sense I have of: I have all of these great tools, but none of them really help me do anything new.</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Technology" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I upgraded my laptop to 1Gb of &lt;acronym title="Random Access Memory"&gt;RAM&lt;/acronym&gt;.
This caused a moment of pause.&lt;/p&gt;
&lt;p&gt;When I first joined IBM in 1990 the company was still in the thrall of PROFS and VM/CMS and mainframes in general.
Allowing staff to use PCs was just not even given much thought.
&lt;em&gt;I&lt;/em&gt; was privileged to have a genuine PC-XT on my desk as a co-op instead of the standard-issue 3279 terminal.&lt;/p&gt;
&lt;p&gt;When I returned as an &lt;em&gt;Associate Information Developer&lt;/em&gt; in 1991, I was given a PS/2 Model 80 with two 60Mb drives. 
It ran OS/2 1.3.
I don't remember how much memory (RAM) it had, maybe, maybe 16Mb.&lt;/p&gt;
&lt;p&gt;One of the guys I was working with took me on a virtual tour of the development mainframe we used.  
It had 512Mb of main memory and (hey, I'm forgetting the terminology finally) another 512Mb of "secondary" memory (which was slower and used for &lt;cite&gt;hiperspace&lt;/em&gt;, paging, swapping ,etc.&lt;/p&gt;
&lt;p&gt;That system had perhaps 1000 people using it.
All via 3270 terminals or &lt;acronym title="Advanced Peer to Peer Communication"&gt;APPC&lt;/acronym&gt;.&lt;/p&gt;
&lt;p&gt;Now, my laptop, which pretty much by definition is a single-user machine, has 40Gb of disk and 1Gb of memory.
In the house we have close to 1Tb of disk, though some of it is locked up in various dedicated boxes like the Tivoim.&lt;/p&gt;
&lt;p&gt;While having that much power/capacity/whatever is cool and all, and makes it much easier to use &lt;cite&gt;Microsoft Office&lt;/cite&gt; applications (especially Visio!), I'm not sure that it's such a wonderful thing.
I can't really do &lt;em&gt;that&lt;/em&gt; much more than I did in 1990.  My writing is still limited by how fast I can type (and that rate is slower on today's lousy keyboards&amp;hellip; give me a genuine manufactured-by-IBM-Lexington PC-AT keyboard anyday).
I can do some graphic things I couldn't do before.
I can multitask, but I was doing that even in 1990 on the 3270 terminals, moreso once I conquered APPC configuration and &lt;cite&gt;Communications Manager&lt;/cite&gt;.
I think I get a bit too hung up on how things look now.  I can't just power-write, windows pop up and demand attention, the cursor suddenly switches to a spinning globe or clock, mystery applications steal focus just long enough for whatever I'm typing to be redirected elsewhere.&lt;/p&gt;
&lt;p&gt;So, while the geek in me is quite happy to have a 1Gb laptop (and nearly 1Gb in this mac, and the Gb's of disk space), the writer, programmer, and whatever else I am in me isn't so sure that I've advanced that far.  It makes things I do and have been doing easier, but doesn't really add that much to my day.
It doesn't make it possible for me to entirely &lt;em&gt;cease&lt;/em&gt; doing something.
I still have to type the characters into the computer, I still have to think through the design of a program or the plan of the operations center.  I can't just say to the air &lt;q&gt;I want something that does this, this, that, and a bit of this&lt;/q&gt;.&lt;/p&gt;
&lt;p&gt;Back in August I &lt;a href="http://epcostello.net/journal/2004/08/index.php#001684"&gt;posted&lt;/a&gt; a Lazyweb request for ideas about a smart diagramming tool.  I still need to sift through the great suggestions I got, but I think that that request originated with this sense I have of: &lt;q&gt;I have all of these great tools, but none of them really help me do anything new.&lt;/q&gt;&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598347" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/09/10/nerd_upgrades_l/</feedburner:origLink></entry>
<entry>
<title>Things don't always go as planned</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598348/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1710" title="Things don't always go as planned" />
<id>tag:epcostello.net,2004:/articles//6.1710</id>
<published>2004-09-06T18:42:19Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>I've been watching The History Channel's Modern Marvels Engineering Disasters marathon today and have picked up a few ideas to keep in mind: Cost Savings Measures need to be scrutinized left, right, up, down, and then put on the shelf for further thinking before implementing or putting into production. With a number of these disasters, someone somewhere decides to change or tweak a design to use...</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Technology" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I've been watching The History Channel's &lt;a href="http://www.historychannel.com/modernmarvels/"&gt;Modern Marvels&lt;/a&gt; Engineering Disasters marathon today and have picked up a few ideas to keep in mind:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Cost Savings Measures&lt;/em&gt; need to be scrutinized left, right, up, down, and then put on the shelf for further thinking before implementing or putting into production.
&lt;p&gt;With a number of these &lt;em&gt;disasters&lt;/em&gt;, someone somewhere decides to change or tweak a design to use a &lt;cite&gt;cost savings measure&lt;/cite&gt; which should have minimal impact on the design.  Something which worked in a similar situation or design and easily slides into place with this new design.
But what happens is that you're changing one element of a system, you need to analyze reevaluate the entire system with the change you've made. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Substitutions&lt;/em&gt; need similar scrutiny.&lt;/li&gt;
&lt;li&gt;If you're working in or with a system of interconnecting components and dependencies, you need to understand your dependencies and how changes in them can affect your component, whether or not &lt;em&gt;it's supposed to affect your component&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Too many systems assume optimal conditions and don't account for sub-optimal conditions or just right-out negative conditions.
The designers trade off consumer experience or business value against the cost of implementing features to account for possible (probable) sub-optimal conditions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What amazes me is the failure to learn from past accidents, disasters, and just plain malfeasance.  Watching this in marathon style you see the same type of accident or disaster over and over again.&lt;/p&gt;
&lt;h5&gt;Update 10/Sep/04&lt;/h5&gt;
&lt;p&gt;&lt;cite&gt;Dan Bricklin&lt;/cite&gt; has written a great essay &lt;a href="http://www.bricklin.com/learningfromaccidents.htm"&gt;Learning From Accidents and a Terrorist Attack&lt;/a&gt;: &lt;q&gt;Another key point I found in the book is that in order to keep failures from growing into accidents the more an operator knows about what is happening in the system the better. Another point is that independent redundancy can be very helpful. However, back to coupling, redundancy and components that are interconnected in unexpected ways can lead to mysterious behavior, or incorrectly perceived correct behavior.&lt;/q&gt;&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598348" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/09/06/things_dont_alw/</feedburner:origLink></entry>
<entry>
<title>epcostello.net site redesign</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598349/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1706" title="epcostello.net site redesign" />
<id>tag:epcostello.net,2004:/articles//6.1706</id>
<published>2004-09-05T01:57:50Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary><![CDATA[This is a collection of notes about the redesign I'm doing for epcostello.net this labor day weekend. It'll be updated occasionally as I do the work. Remember: I'm a rank amateur. I am not a professional. Thank &amp;deity;. Don't try this at home. If you do, I don't care. Current Problems: Let's start with the obvious: I'm not a graphic designer. I don't even try to...]]></summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Site Redesign" />
<category term="Webmastery" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;This is a collection of notes about the redesign I'm doing for epcostello.net this labor day weekend.
It'll be updated occasionally as I do the work.
Remember: I'm a rank amateur.  
I am not a &lt;em&gt;professional&lt;/em&gt;.
Thank &amp;amp;deity;.
Don't try this at home.
If you do, I don't care.
&lt;/p&gt;
&lt;h2&gt;Current Problems: &lt;/h2&gt;
&lt;p&gt;Let's start with the obvious: I'm not a graphic designer. 
I don't even try to play one on TV.
Yet, I'd like to try to add some color to the site.
I will freely borrow ideas from sites I like on the web, and mangle them (in)appropriately.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Almost all of the HTML content is generated using PHP.
This isn't a bad thing, however I need to work back in some lessons learned over the past year or so in playing with PHP.  
I include multiple modules now, I'd like to cut that down to one or two.
I'd like to create a &lt;code&gt;page&lt;/code&gt; class or perhaps classes for specific sections of each page.&lt;/li&gt;
&lt;li&gt;All pages need to have appropriate metadata generated, either for the &lt;acronym title="HyperText Transfer Protocol"&gt;HTTP&lt;/acronym&gt; header or the &lt;code&gt;HEAD&lt;/code&gt; section of each page.  
Currently this work is split between PHP and &lt;cite&gt;&lt;a href="http://movabletype.org/"&gt;MovableType&lt;/a&gt;&lt;/cite&gt;.
&lt;acronym title="MovableType"&gt;MT&lt;/acronym&gt; will need to generate the actual values, but PHP should be used to create the necessasry HTML tags.&lt;/li&gt;
&lt;li&gt;All pages &lt;em&gt;should&lt;/em&gt; have proper expiration dates, however I'm not certain of that, again due to the multiple PHP modules thing.&lt;/li&gt;
&lt;li&gt;Currently some pages handle &lt;code&gt;modified-GET&lt;/code&gt; requests correctly while others just return the document.&lt;/li&gt;
&lt;li&gt;Some pages are served with a gzip transfer-encoding, while others are not.&lt;/li&gt;
&lt;li&gt;The &lt;cite&gt;&lt;acronym title="Cascading Style Sheets"&gt;CSS&lt;/acronym&gt;&lt;/cite&gt; used throughout the site is a mess.
The classes are a mix of leftovers from three previous sites with &lt;acronym title="Movable Type"&gt;MT&lt;/acronym&gt; gorp added in for good measure.
I want to get back to having one single CSS file, with browser-specific secondary files to fix specific problems.
I don't want to use the various CSS hacks that float around as they all depend on various unique problems each browser has parsing CSS.&lt;/li&gt;
&lt;li&gt;The content for Articles, Journal, and the blog--er--comments should use pretty much the same templates.  I think.  At any rate, I've learned enough about the oddities of &lt;code&gt;MTIfEmpty&lt;/code&gt; that I need to clean up the templates, ie if there are no comments on an entry then don't display a Comments heading&lt;/li&gt;
&lt;li&gt;For index pages advertising should be on the sides.
For content pages advertising should be &lt;em&gt;inline&lt;/em&gt; as much as possible with Google&lt;/li&gt;
&lt;li&gt;Perhaps too much this time around but I'd like to make better use of Amazon for advertising&lt;/li&gt;
&lt;li&gt;In case anyone's interested, I've earned an amazing US$1.30 from advertising this year. 
So, it's not exactly a money earner but it is something I'm using on other client sites so the more variations I play with the better&lt;/li&gt;

&lt;li&gt;I've tried various layouts for the homepage, the last entry from each section, headlines only, headlines and excerpts, etc.  I've created the problem for myself by splitting content up as I have and I'd just as soon keep it separated but it means I can't just dump a list of things into a file.  There needs to be some sorting or ordering done to keep some semblance of date order.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Guidelines, Goals&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;All pages will have proper &lt;code&gt;Last-modified&lt;/code&gt; and &lt;code&gt;Expires&lt;/code&gt; headers.&lt;/li&gt;
&lt;li&gt;All pages will be able to be served with a gzip &lt;code&gt;transfer encoding&lt;/code&gt; if the client supports that method.&lt;/li&gt;
&lt;li&gt;All pages will support &lt;code&gt;modified-GET&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;All content will have explicit cache headers set, most for 24 hours from serving time&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://epcostello.net/"&gt;homepage&lt;/a&gt; will use a different layout from the rest of the site, but content will use the same classes as on the other pages of the site&lt;/li&gt;
&lt;li&gt;No URLs from the previous design should break, should either continue to be served or redirect to appropriate replacements.&lt;/li&gt;
&lt;li&gt;CSS classes will be used to identify different types of content.  CSS &lt;em&gt;ids&lt;/em&gt; will be used to further delineate within a class.&lt;/li&gt;
&lt;li&gt;The site will continue to have three main sections (&lt;a href="/journal/"&gt;Personal Journal&lt;/a&gt;,&lt;a href="/epicrisis/"&gt;Comments &amp;amp; Links / &amp;lsquo;blog&lt;/a&gt;, and &lt;a href="/articles/"&gt;Articles &amp;amp; Essays&lt;/a&gt;).  Information about the site will be chained off the "about" pages.&lt;/li&gt;
&lt;li&gt;I'm using &lt;a href="http://mozilla.org/firefox/"&gt;Firefox&lt;/a&gt; as the reference browser, on Windows and Mac OS X.
The site should work with Opera 7 (Windows) and Safari (Mac).
I really don't care what happens with Microsoft Internet Explorer except, I guess, that the site should display.&lt;/li&gt;
&lt;li&gt;I'm going to supply &lt;del title="Deleted 20040912T155800Z"&gt;three&lt;/del&gt;
&lt;ins title="Ins 20040912T155800Z"&gt;two&lt;/ins&gt; feeds for each section: RSS .91 headlines and Atom headlines&lt;del title="del 20040912T155800Z"&gt;, and Atom articles&lt;/del&gt;.  Other feeds will continue to be generated but I'll remove them from the &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt;s in the &lt;code&gt;HEAD&lt;/code&gt; as well as from the nav.&lt;/li&gt;
&lt;li&gt;Would be nice if the feeds were gzip'd as well but I suspect most feedreaders don't support gzip or deflate as a transfer encoding&lt;/li&gt;
&lt;li&gt;I like the general layout I've been using (left hand content, narrow right hand nav/meta column).  One problem I've had is that, although I'd like to use relative sizes and widths, the different CSS engines are not at all consistent in how they treat relative widths for side by side content, so I'm going to set hard widths and sizes, but using points and picas, not pixels as the units&lt;/li&gt;
&lt;li&gt;In the Articles section, the title of the article should be prominent, not the title of the site.  I mean, I'm not a brand, the site title should be repeated somewhere but not as an h1/banner&lt;/li&gt;
&lt;li&gt;If possible, switch from the gorp of intertwined PHP and HTML to a page-as-PHP-object model with the content being passed in.&lt;/li&gt;
&lt;ins title="20040912T155400Z"&gt;&lt;li&gt;I want to try something with comments...having them automatically close 7 days after posting unless a trackback comes in, then reopening them for seven days.&lt;/li&gt;&lt;/ins&gt;
&lt;/ul&gt;
&lt;h2&gt;Development&lt;/h2&gt;
&lt;p&gt;There's a mockup now online at &amp;lt;URI:&lt;a href="http://gothic-egg.net/~epc/test2/"&gt;http://gothic-egg.net/~epc/test2/&lt;/a&gt;&amp;gt;.
Put any feedback here....&lt;/p&gt;
&lt;ins title="20040912T155800Z"&gt;&lt;p&gt;I added:
&lt;blockquote class="code"&gt;php_flag zlib.output_compression On&lt;br /&gt;
php_value zlib.output_compression_level 9&lt;/blockquote&gt;
to the .htaccess for the site to automatically gzip all PHP generated content (assuming the client supports it).
Pair does not support &lt;code&gt;mod_gzip&lt;/code&gt; so the non-PHP items are still uncompressed.&lt;/p&gt;&lt;/ins&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598349" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/09/04/epcostellonet_s/</feedburner:origLink></entry>
<entry>
<title>ala carte pricing the Time Warner Cable way</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598350/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1664" title="ala carte pricing the Time Warner Cable way" />
<id>tag:epcostello.net,2004:/articles//6.1664</id>
<published>2004-08-02T06:24:47Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>Time-Warner CEO Richard Parsons has been quoted as saying a la carte cable pricing [...] is a bad idea for consumers. Yet, oddly, when Time-Warner Cable of NYC has a tiff with CableVision they can magically pull stations on/off the air. Now, I know that that's comparing apples and oranges, they just yanked the feed for all subscribers at the head end. However, last year when...</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Business" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;&lt;cite&gt;&lt;a href="http://timewarner.com/"&gt;Time-Warner&lt;/a&gt;&lt;/cite&gt; CEO &lt;cite&gt;Richard Parsons&lt;/cite&gt; has been quoted as saying a la carte cable pricing &lt;q url="http://www.xposed.com/gadgets/cable_tv_price_controls.aspx"&gt;[...] is a bad idea for consumers.&lt;/q&gt;  Yet, oddly, when &lt;a href="http://twcnyc.com/"&gt;Time-Warner Cable of NYC&lt;/a&gt; has a tiff with &lt;a href="http://cablevision.com/"&gt;CableVision&lt;/a&gt; they can magically pull stations on/off the air.&lt;/p&gt;
&lt;p&gt;Now, I know that that's comparing apples and oranges, they just yanked the feed for all subscribers at the head end.  However, last year when TWC was in a tiff with the &lt;cite&gt;Yes Network&lt;/cite&gt; over various fees, they allowed customers to voluntarily unsubscribe from the Yes network and we did, resulting in a $2 credit every month.&lt;/p&gt;
&lt;p&gt;Truth be told, anyone with a digital cable box (anyone who can get cable modem service &lt;em&gt;could&lt;/em&gt; get digital cable) has a box which is capable of ala carte channel subscriptions.  Of the 100s of channels we receive, I'd guess we regularly watch about five, with the Tivos grabbing recordings off another ten or so.  We don't watch any of the shopping channels (which we pay for), or the religious channels (which we pay for), or the sports channels (which we pay for).  We end up subsidizing most of the channels we don't watch.&lt;/p&gt;
&lt;p&gt;It's pretty stupid for the cable companies to stand in the way of ala carte pricing.  I mean, on the one hand they get forced by the various content providers to carry multiple channels (witness Disney's &lt;a href="http://www.broadcastingcable.com/article/CA416235%3Fdisplay%3DTop%2Bof%2Bthe%2BWeek&amp;e=912"&gt;bundling&lt;/a&gt; of the ABC Family Channel with ESPN, and all but requiring systems to carry ESPN if they wanted to carry ABC broadcast channels.  Of course, the FCC requires cable companies to &lt;a href="http://www.museum.tv/archives/etv/M/htmlM/mustcarryru/mustcarryru.htm"&gt;carry&lt;/a&gt; all broadcast channels in a geographic area.)&lt;/p&gt;
&lt;p&gt;If Time Warner adopted ala carte pricing in the New York area just for their digital customers, they could &lt;em&gt;document&lt;/em&gt; how many customers are willing to subscribe to specific channels and then avoid getting socked by the content providers to pay for 650,000 subscribers to the Fluff Network.&lt;/p&gt;
&lt;p&gt;According to the &lt;a href="http://epcostello.net/articles/2004/08/cable_tv_programming_that_continues_to_diminish_in_value.php"&gt;message&lt;/a&gt; currently carried by TWC on the blacked-out (actually blued-out) MSG/Cablevision channels, TWC is willing to rebate $2 per month to customers while this tiff continues (I'd be just as happy to unsubscribe and keep the $24/year from this, and the other $24/year from the Yes network).&lt;/p&gt;
&lt;p&gt;I'm perfectly willing to pay for content, and even accept that it may need to be bundled in like packages (eg: all sports channels, a set of movie channels, etc.), I just resent having to pay for the vast majority of channels which we never watch, will likely never watch, and are not in the target market for the commercials which theoretically pay for the channel.
Time was when your cable bill either went to custom content channels like HBO or MTV which had no commercials to support them, or to subsidize the carriage of commercial channels.  Now the content providers view the bundling agreements as a way of creating a revenue stream out of nothing.  You can put a crap channel together and force it down the Cable TV systems throats because of the various bundling and must-carry rules.&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598350" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/08/02/ala_carte_prici/</feedburner:origLink></entry>
<entry>
<title>Cable TV: Programming that continues to diminish in value</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598351/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1663" title="Cable TV: Programming that continues to diminish in value" />
<id>tag:epcostello.net,2004:/articles//6.1663</id>
<published>2004-08-02T06:14:50Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>I am writing a separate post about ala carte Cable TV pricing which was kicked off by this message from Time Warner Cable of New York City: To our customers: Cablevision has forced the removal of MSG, Fox Sports New York, and the Metro channels from your channel lineup. Cablevision has refused to sign an extension allowing us to continue carrying these channels while we work...</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Business" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I am writing a separate post about ala carte Cable TV pricing which was kicked off by this message from &lt;cite&gt;&lt;a href="http://www.twcnyc.com/"&gt;Time Warner Cable of New York City&lt;/a&gt;&lt;/cite&gt;:&lt;/p&gt;
&lt;blockquote cite="Banner Message on MSG/Cablevision Channels"&gt;
&lt;p&gt;To our customers:&lt;/p&gt;
&lt;p&gt;Cablevision has forced the removal of MSG, Fox Sports New York, and the Metro channels from your channel lineup.&lt;/p&gt;
&lt;p&gt;Cablevision has refused to sign an extension allowing us to continue carrying these channels while we work on a new agreement.&lt;p&gt;Cablevision has threatened to sue if we continue to carry their networks.&lt;/p&gt;
&lt;p&gt;Cablevision has demanded unprecedented fees for programming that continues to diminish in value.&lt;/p&gt;
&lt;p&gt;Time Warner Cable will voluntarily rebate its customers $2.00 per month to minimize this inconvenience.&lt;/p&gt;
&lt;p&gt;We continue to press Cablevision to return the channels to your lineup but, so far they have refused.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Earth to Time Warner: &lt;strong&gt;I DON'T WANT THESE CHANNELS TO RETURN!&lt;/strong&gt;.
And, if I had ala carte pricing, not only would I not subscribe to the channels, but Time Warner would in turn not have to pay whatever the &lt;em&gt;unprecedented fees&lt;/em&gt; are for programming diminishing in value.&lt;/p&gt;
&lt;p&gt;I wonder how any of these cable companies would respond to customer initiated ala carte subscriptions (mass cancellations).&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598351" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/08/02/cable_tv_progra/</feedburner:origLink></entry>
<entry>
<title>Hedging real-world money online</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598352/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1645" title="Hedging real-world money online" />
<id>tag:epcostello.net,2004:/articles//6.1645</id>
<published>2004-07-03T04:21:58Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>I found Gaming Open Market via buy sell buy sell from Ben Hammersley's Dangerous Precedent and am now wondering how long it will be before you see an EverQuest hedge fund. See, when you play online games you can earn various rewards, usually denominated in some sort of virtual currency. In the game world you can trade currency for items and vice versa. Someone, somewhere got...</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Business" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I found &lt;a title="Gaming Open Market" href="http://www.gamingopenmarket.com/market.php?symbol=SLL"&gt;Gaming Open Market&lt;/a&gt; via &lt;a title="buy sell buy sell from Ben Hammersley's Dangerous Precedent" href="http://www.benhammersley.com/weblog/2004/07/01/buy_sell_buy_sell.html"&gt;buy sell buy sell from Ben Hammersley's Dangerous Precedent&lt;/a&gt; and am now wondering how long it will be before you see an EverQuest hedge fund.&lt;/p&gt;
&lt;p&gt;See, when you play online games you can earn various &lt;em&gt;rewards&lt;/em&gt;, usually denominated in some sort of virtual currency.  In the game world you can trade currency for items and vice versa.  Someone, somewhere got the idea of trading virtual currency for real currency, through &lt;a href="http://ebay.com/"&gt;eBay&lt;/a&gt; and other venues.&lt;/p&gt;
&lt;p&gt;The &lt;cite&gt;Gaming Open Market&lt;/cite&gt; site is (apparently, I've done all of ten seconds research on it) conducting a sort of &lt;acronym title="Foreign Exchange"&gt;FOREX&lt;/acronym&gt; market for virtual-real world currencies.&lt;/p&gt;
&lt;p&gt;You can read more about this phenomenon in &lt;cite title="Game Theories by: Clive Thompson In: The Walrus"&gt;&lt;a href="http://www.walrusmagazine.com/article.pl?sid=04/05/06/1929205&amp;amp;tid=1" title="Game Theories by: Clive Thompson In: The Walrus"&gt;Game Theories&lt;/a&gt;&lt;/cite&gt; by &lt;cite&gt;&lt;a href="http://collisiondetection.net/"&gt;Clive Thompson&lt;/a&gt;&lt;/cite&gt;.  &lt;q&gt;Game Theories&lt;/q&gt; is about the work and research of &lt;cite&gt;Edward Castronova&lt;/cite&gt; into virtual world economies, auctions, and the crossover into real-world finance.&lt;/p&gt;
&lt;p&gt;What I wonder, in addition to the hedge fund idea, which I should probably file a business models patent for, anyway: if activities in an online &lt;em&gt;virtual world&lt;/em&gt; can be readily translated into &lt;em&gt;real world&lt;/em&gt; materials and actions, what makes the virtual world &lt;q&gt;virtual&lt;/q&gt;?&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598352" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/07/02/hedging_realwor/</feedburner:origLink></entry>
<entry>
<title>Plug: Bloglines</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598353/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1638" title="Plug: Bloglines" />
<id>tag:epcostello.net,2004:/articles//6.1638</id>
<published>2004-06-25T17:04:47Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>If you're looking for a news aggregator try out bloglines.com.</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Recommendations" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I've started using a news aggregator again.  I used to use &lt;cite&gt;Radio Userland&lt;/cite&gt; but found it to be slow, buggy, and a bit of a memory hog.  Once they started a $40 per annum licensing fee I decided to switch off it for both aggregation and blogging.&lt;/p&gt;
&lt;p&gt;Anyway, for most of the past year I've just relied on opening sites in tabs, using Opera or Firefox.  This isn't that bad, I can see quickly whether or not something's updated and close the window if it hasn't.  But it's also a bit of a black hole time wise since I invariably go clicky-clicky on another link, or ad and end up wasting an hour.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;a href="http://bloglines.com/"&gt;Bloglines&lt;/a&gt;&lt;/cite&gt; is a simple web based news aggregator.  I played with it briefly last year but didn't get into using it.  I returned to it earlier this month and imported all of the blogs/newsfeeds I've been reading and have really enjoyed using it.  It's totally plain, no ads (yet), few graphics.  I'm sure there's other aggregators out there but I just wanted one that works, wasn't a pain to set up and use, and just works (again).&lt;/p&gt;
&lt;p&gt;One &lt;em&gt;minor&lt;/em&gt; problem I've run into is with the display of my blogroll on my homepage.  It's done through a JavaScript &lt;a href="http://rpc.bloglines.com/blogroll?id=epcostello" type="application/javascript"&gt;file&lt;/a&gt; downloaded from bloglines.com.  The javascript isn't encoded in any particular character encoding.  My site is (well, should be) in the UTF-8 encoding.  The problem shows up with the link for &lt;cite class="person"&gt;&lt;a href="http://www.michaelberube.com/" title="Michael B&amp;#233;rub&amp;#233;"&gt;Michael B&amp;eacute;rub&amp;eacute;&lt;/a&gt;&lt;/cite&gt;.  The website encodes the e-acute character as either &amp;amp;eacute; or &amp;amp;#233;.  But the XML &lt;a href="http://www.michaelberube.com/"&gt;feed&lt;/a&gt; serves the raw &lt;code&gt;0xE9&lt;/code&gt; character.  I'm not sure that's even wrong, I don't know UTF-8 well enought.  Anyway, that 0xe9 character gets scooped up by bloglines and then served to my site in the JavaScript.  I'm not sure if JavaScript has a default encoding but it ends up as a junk character on my site (using &lt;a href="http://mozilla.org/"&gt;Firefox&lt;/a&gt; on &lt;cite&gt;Windows XP&lt;/cite&gt;).&lt;/p&gt;
&lt;p&gt;I'm going to see if I can proxy the Javascript request and clean the feed myself (converting the 0xe9 to the &amp;eacute; character, I guess I'm assuming the javascript is in win-1252 or iso-8859).&lt;/p&gt;
&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598353" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/06/25/plug_bloglines/</feedburner:origLink></entry>
<entry>
<title>Index Template to Create Redirect list for .htaccess</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598354/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1627" title="Index Template to Create Redirect list for .htaccess" />
<id>tag:epcostello.net,2004:/articles//6.1627</id>
<published>2004-06-13T19:53:14Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>I decided to change the structure of the /articles/ site slightly, to remove the /archives/ path from the URL and to change the filename from the article number to a munged form of the title. As there weren't many articles, I could easily manually create a redirect list for my .htaccess file, but I wanted to see if I could use a MovableType Index Template to...</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="MovableType" />
<category term="Technology" />
<category term="World Wide Web" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I decided to change the structure of the /articles/ site slightly, to remove the &lt;strong&gt;/archives/&lt;/strong&gt; path from the URL and to change the filename from the article number to a munged form of the title.&lt;/p&gt;
&lt;p&gt;As there weren't many articles, I could easily manually create a redirect list for my .htaccess file, but I wanted to see if I could use a &lt;cite&gt;MovableType Index Template&lt;/cite&gt; to do so.&lt;/p&gt;
&lt;p&gt;Below is the template I created, I use &lt;keyword&gt;Redirect&lt;/keyword&gt; instead of &lt;keyword&gt;RedirectMatch&lt;/keyword&gt; or the RewriteEngine because there isn't a regular pattern to rewrite the URLs to (I can't use a map file on the hosting platform I'm on).
&lt;blockquote class="code"&gt;
&lt;br /&gt;&amp;lt;$MTArchiveList archive_type="Individual"$&amp;gt;
&lt;br /&gt;&amp;lt;MTEntries&amp;gt;
&lt;br /&gt;Redirect permanent /articles/archives/&amp;lt;$MTEntryDate format="%Y/%m"$&amp;gt;/&amp;lt;$MTEntryID pad="1"$&amp;gt;.php &amp;lt;$MTBlogURL&amp;gt;&amp;lt;$MTEntryDate format="%Y/%m"$&amp;gt;/&amp;lt;$MTArchiveTitle dirify="1"$&amp;gt;&amp;lt;/MTEntries&amp;gt;
&lt;br /&gt;&amp;lt;/MTArchiveList&amp;gt;
&lt;/blockquote&gt;
&lt;p&gt;This writes out to &lt;code&gt;/articles/archives/.htaccess&lt;/code&gt;.&lt;/p&gt;
&lt;p class="note"&gt;&lt;strong&gt;Note:&lt;/strong&gt;
There appears to be a bug in &lt;code&gt;MTArchiveTitle&lt;/code&gt; in the archive file template context, it appears to resolve to an empty string.  Switching to MTEntryTitle seemed to work.&lt;/p&gt;&lt;h3&gt;Update: 16 June 2004&lt;/h3&gt;
&lt;p&gt;I realized I missed redirects for the category archives I had, I've added those with the changes in bold below:&lt;/p&gt;
&lt;blockquote class="code"&gt;
&amp;lt;$MTArchiveList archive_type="Individual"$&amp;gt;
&lt;br /&gt;&amp;lt;MTEntries&amp;gt;
&lt;br /&gt;Redirect permanent /articles/archives/&amp;lt;$MTEntryDate format="%Y/%m"$&amp;gt;/&amp;lt;$MTEntryID pad="1"$&amp;gt;.php &lt;br /&gt;&amp;lt;$MTBlogURL&amp;gt;&amp;lt;$MTEntryDate format="%Y/%m"$&amp;gt;/&amp;lt;$MTArchiveTitle dirify="1"$&amp;gt;&amp;lt;/MTEntries&amp;gt;
&lt;br /&gt;&amp;lt;/MTArchiveList&amp;gt;
&lt;br /&gt;&lt;strong&gt;&amp;lt;$MTArchiveList archive_type="Category"$&amp;gt;
&lt;br /&gt;Redirect permanent /articles/archives/cat_&amp;lt;$MTCategoryLabel dirify="1"$&amp;gt;.php &amp;lt;$MTCategoryArchiveLink$&amp;gt;
&lt;br /&gt;&amp;lt;/MTArchiveList&amp;gt;&lt;/strong&gt;&lt;/blockquote&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598354" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/06/13/index_template/</feedburner:origLink></entry>
<entry>
<title>On this date in 1990 (alternately: Do the math)</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598355/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1625" title="On this date in 1990 (alternately: Do the math)" />
<id>tag:epcostello.net,2004:/articles//6.1625</id>
<published>2004-06-11T16:45:17Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary><![CDATA[I bought my first, and last, GM car on June 11, 1990. I'd just started my intersnship at IBM's Myers Corners Lab near Poughkeepsie, NY. As an intern I didn't get moving &amp; living, so I'd returned to Chicago to borrow the utility van my dad owned, drove it back to Pittsburgh, and then headed to Poughkeepsie. Somewhere just south of Wilkes-Barre, PA on I-81 I...]]></summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Personal" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I bought my first, and last, GM car on June 11, 1990.&lt;/p&gt;
&lt;p&gt;I'd just started my intersnship at IBM's &lt;cite&gt;Myers Corners Lab&lt;/cite&gt; near Poughkeepsie, NY.  As an intern I didn't get moving &amp;amp; living, so I'd returned to Chicago to &lt;em&gt;borrow&lt;/em&gt; the utility van my dad owned, drove it back to Pittsburgh, and then headed to Poughkeepsie.&lt;/p&gt;
&lt;p&gt;Somewhere just south of Wilkes-Barre, PA on I-81 I attempted to roll the van over.&lt;/p&gt;
&lt;p&gt;It wasn't intentional, I'd been following a pickup truck in the left hand lane, maybe 200ft behind, at about 60-65mph.&lt;/p&gt;
&lt;p&gt;The pickup truck made a slight swerve to avoid something.&lt;/p&gt;
&lt;p&gt;I might add, the pickup was 4WD so it had higher clearance than I did.&lt;/p&gt;
&lt;p&gt;I saw that it was swerving around a tire but it had just clipped the tire itself so now this thing was moving around in my lane.&lt;/p&gt;
&lt;p&gt;I managed to almost miss it, which of course means I hit it.&lt;/p&gt;
&lt;p&gt;Clipped it really, with my right front tire.  The van went up on its left wheels as the tire, with new vim and vigor, bounced along the bottom of the van.&lt;/p&gt;
&lt;p&gt;One thing I've neglected to mention: the tire was still attached to its rim, so there was a lot of &lt;em&gt;mass&lt;/em&gt; rolling around on I-81 that night.&lt;/p&gt;
&lt;p&gt;This all occurred just before an exit and I pulled over and off, not only to get my head together, but to try to find out why the engine had a strange noise.&lt;/p&gt;
&lt;p&gt;I made it to a gas station where I was informed that the on-duty mechanic was off duty for the weekend.&lt;/p&gt;
&lt;p&gt;I didn't see any obvious damage except to the exhaust pipe which was sort of bent, probably where the tire crumpled it.&lt;/p&gt;
&lt;p&gt;I started the van up and headed back on the interstate. &lt;/p&gt;
&lt;p&gt;It soon became clear there was more damage than just to the exhaust pipe because any time I let the engine idle (say, going downhill), it died.&lt;/p&gt;
&lt;p&gt;So I drove the remainder of the way to Poughkeepsie alternating between &lt;em&gt;Drive&lt;/em&gt; and &lt;em&gt;Neutral&lt;/em&gt;, deafening all whom I passed.&lt;/p&gt;
&lt;p&gt;I headed up &lt;cite&gt;Route 9&lt;/cite&gt; to the Ramada south of the IBM Main Plant and pulled in.  That was the last time the van ran.&lt;/p&gt;&lt;p&gt;Over the next week I managed to get around either through rides from various new co-workers or just through walking back and forth (this was not easy as Poughkeepsie isn't very friendly to non-automotive means of transport).&lt;/p&gt;
&lt;p&gt;At the weekend, with the confidence that comes with having been paid for a week's work at IBM of all places, I went car hunting.  This literally felt like hunting since I had to walk from dealer to dealer.&lt;/p&gt;
&lt;p&gt;I found a nice &lt;cite&gt;Mazda GLC&lt;/cite&gt; for $2000.  It was clean, had some miles on it, but would do the job for me and I'd feel no qualms about getting rid of it at the end of the internship.&lt;/p&gt;
&lt;p&gt;But, I had no money.&lt;/p&gt;
&lt;p&gt;So I called the bank of parents, one of whom was quite upset about my &lt;em&gt;borrowing&lt;/em&gt; and then essentially wrecking his van.  Anyway, I quite cheerily called and asked for a loan of about $500, which would get me the car and a decent rate on the remaining $1500.&lt;/p&gt;
&lt;p&gt;They said &lt;q&gt;No&lt;/q&gt;.&lt;/p&gt;
&lt;p&gt;No, they would not give me moeny to buy a foreign car.  If I would buy a nice new American car they'd give me more, say $1000.&lt;/p&gt;
&lt;p&gt;At this point I was getting kind of tired of walking and bumming rides off co-workers.&lt;/p&gt;
&lt;p&gt;So I caved, and bought a &lt;cite&gt;1990 Pontiac Sunbird&lt;/cite&gt;.  Fire engine red even. &lt;/p&gt;
&lt;p&gt;With taxes and various options, the total came to about $16,000.&lt;/p&gt;
&lt;p&gt;The monthly payment was $271.&lt;/p&gt;
&lt;p&gt;As I was under 25, my insurance was about $150 per month.&lt;/p&gt;
&lt;p&gt;As I was technically not in school for the fall semester ('twas a nine month internship), I had to start paying my student loans.&lt;/p&gt;
&lt;p&gt;I quickly found my financial skills to be somewhat lacking, because the car was costing me close to $500 per month, about a third of my after tax income.&lt;/p&gt;
&lt;p&gt;My rent was $650, the student loans were about $290, leaving about $200 per month for everything else (food, cable, phone, etc).&lt;/p&gt;
&lt;p&gt;This wasn't my brightest moment, financially speaking.  The car became a black hole for my income and savings for &lt;em&gt;years&lt;/em&gt;.
When I returned to school in 1991 I had to cover five months of payments, plus a kick in my insurance (for moving back to Pennsylvania), with no income whatsoever.  What little savings I'd made while working in 1990 quickly evaporated.&lt;/p&gt;
&lt;p&gt;And, the car?&lt;/p&gt;
&lt;p&gt;The car sucked.  For a small car it guzzled gas at an amazing rate.  The air conditioning was lousy and within two years of buying it the driver's side window started falling into the door unexplicably.&lt;/p&gt;
&lt;p&gt;The dealer I bought the car from was closed due to fraudulent business activities, which really didn't help my mood.&lt;/p&gt;
&lt;p&gt;On returning to Pittsburgh in January 1991 I discovered that the air conditioning was lousy because an entire component of the a/c and heat system had been left out.  A dealer in Pittsburgh did the repair for free to me, even though the car was technically out of warranty (1 year or 12,000 miles, I ate through the 12k miles in the months of driving between Pittsburgh and Poughkeepsie).&lt;/p&gt;
&lt;p&gt;I ended up driving the car for another seven years, from 1995-1996 I drove it normally 100 miles round trip between Poughkeepsie and Armonk.
It managed to do the job, but I hated the car.&lt;/p&gt;
&lt;p&gt;I managed to refinance the loan at some point after I returned to IBM as a real employee (and could thus get a loan through the employee credit union).  I lowered the monthly payment by about $130 but felt like I was going to be paying for years for my earlier mistake in buying the car in the first place.&lt;/p&gt;
&lt;p&gt;In 1997 I moved to New York City and all but stopped driving.   I had a four block commute from an apartment on &lt;cite&gt;Battery Place&lt;/cite&gt; to my office on &lt;cite&gt;Broad Street&lt;/cite&gt;.  And although the car was paid off at this point, I was still paying insurance and now parking, about $350 a month still.&lt;/p&gt;
&lt;p&gt;The car had no residual resale value.&lt;/p&gt;
&lt;p&gt;One morning, before moving to New York but after I started commuting by train to NYC, anyway, one morning I happened to walk around the passenger side of the car.  How many people hop in their cars on a daily basis and never look at the passenger side?  I did this morning and discovered the passenger door had been gouged, if not carved, from the hinge to about half the length of the door.  About the right height for...a snowplow ?  I don't know what had hit it, nor when it had occurred since I'd been &lt;em&gt;training&lt;/em&gt; for about a month at that point.&lt;/p&gt;
&lt;p&gt;So, over the summer of 1997 the car spent most of its time parked in a lot in front of my apartment at Battery place.&lt;/p&gt;
&lt;p&gt;Once, a colleague found his car blocked in in the same lot and called to see if he could borrow my car to drive himself and a couple other employees to Armonk for the day.&lt;/p&gt;
&lt;p&gt;I said &lt;q&gt;sure, but do you know what shape my car is in?&lt;/q&gt; since at this point the passenger door was frozen in place, and the driver's side window randomly fell into the door at odd moments, like during blizzards or rainstorms.&lt;/p&gt;
&lt;p&gt;At this point it was cheaper to rent a luxury car from Hertz periodically than to hold onto the Sunbird.&lt;/p&gt;
&lt;p&gt;I never really planned to abandon it, it just happened.&lt;/p&gt;
&lt;p&gt;September 1997 dawned and the &lt;cite&gt;&lt;a href="http://www.mjhnyc.org/index.htm"&gt;Museum of Jewish Heritage&lt;/a&gt;&lt;/cite&gt; opened just south of my apartment in Battery Park City.
No parking was allowed on the street, and the lot I parked in was to be closed for the days surrounding the opening.
I in turn was to go to Boston for that year's &lt;acronym title="Internet Coordinating Council"&gt;ICC&lt;/acronym&gt; meeting.  The ICC was a &lt;em&gt;family&lt;/em&gt; of employees (mostly guys) who ran IBM's internet operations.  Not marketing types, hardcore geeks, hackers, and systems administrators.  I had a weird role in that I frequently had to butt heads with the guys since my job was to eliminate rogue web sites and internet operations.&lt;/p&gt;
&lt;p&gt;Anyway, so I had to go to Boston &lt;em&gt;and&lt;/em&gt; move my car somewhere.  
So I parked it in a local parking garage and took the train to Boston.&lt;/p&gt;
&lt;p&gt;On returning I....didn't retrieve the car.
Instead I flew to Tampa, FL to do some work with the guys working on the &lt;cite&gt;1998 Nagano Olympic Games&lt;/cite&gt; web site.&lt;/p&gt;
&lt;p&gt;And on returning from Tampa...I didn't retrieve the car.&lt;/p&gt;
&lt;p&gt;As the days became weeks and then nearly a month, I did go to the car to get it out of the lot and, lo, it was dead.&lt;/p&gt;
&lt;p&gt;Not a spark of life in the battery, nothing.&lt;/p&gt;
&lt;p&gt;Now not only did I have a car with a running bill of $35/day parking, but it was dead and I'd have to find a tow truck willing to go up multiple levels in a parking garage to either retrieve it or at least charge it.&lt;/p&gt;
&lt;p&gt;Another month or two passed.  December '97 dawned and I found myself working on the &lt;cite&gt;1998 Superbowl&lt;/cite&gt; &lt;a href="http://epcostello.net/articles/archives/2003/01/000101.php" title="Superbowl XXXII"&gt;web site&lt;/a&gt;.
In the midst of a trip to Atlanta I learned my father had had a heart attack and was due to have bypass surgery.
The surgery was successful but he had a difficult recovery.&lt;/p&gt;
&lt;p&gt;At this point, the fact that I owned a car or that it was parked in a garage in downtown Manhattan was the farthest concern from my mind.&lt;/p&gt;
&lt;p&gt;December became January.
January became February.  In those months I flitted between &lt;cite&gt;Chicago&lt;/cite&gt;, &lt;cite&gt;New York&lt;/cite&gt;, &lt;cite&gt;San Diego&lt;/cite&gt;, and &lt;cite&gt;Nagano, Japan&lt;/cite&gt;.&lt;/p&gt;
&lt;p&gt;On returning to New York at the end of February 1998 I resolved to do something about the car. 
Swallow my whatever, pay the parking bill, and get rid of the car.&lt;/p&gt;
&lt;p&gt;Only...the car was gone.
I walked throughout the garage and it wasn't on any level of the garage.
Totally gone.
Stolen?  
Who knows.
Only that at least one problem had been resolved.
I wasn't sure if I was still lliable for the parking bill but at this point was not going to ask.&lt;/p&gt;
&lt;p&gt;Some years later I did a search on the VIN at &lt;a href="http://carfax.com/"&gt;Carfax&lt;/a&gt; and discovered that the car had been transferred, somehow, to someone in &lt;cite&gt;New Jersey&lt;/cite&gt;.&lt;/p&gt;
&lt;p&gt;So, someone somewhere is driving a 1990 Pontiac Sunbird, with a slight shimmy in the front end, and I hope a replacement passenger door.&lt;/p&gt;
&lt;p&gt;As for me, I blame the truck tire that started the whole mess.&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598355" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/06/11/on_this_date_in/</feedburner:origLink></entry>
<entry>
<title>Notes on a new Thinkpad x31</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598356/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1618" title="Notes on a new Thinkpad x31" />
<id>tag:epcostello.net,2004:/articles//6.1618</id>
<published>2004-05-31T20:26:22Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>I bought a new IBM Thinkpad x31 earlier this month and am really enjoying it. It replaces an IBM Thinkpad x21 from 2001 so I picked up two+ years of updates with the new system. Oddly, it has a slightly smaller footprint than the x21. For the most part this isn't noticeable, except that it means the x31 is not compatible with the ultrabase I bought...</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="IBM Corporation" />
<category term="Recommendations" />
<category term="Reviews" />
<category term="Technology" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I bought a new &lt;cite&gt;IBM Thinkpad x31&lt;/cite&gt; earlier this month and am really enjoying it.  It replaces an &lt;cite&gt;IBM Thinkpad x21&lt;/cite&gt; from 2001 so I picked up two+ years of updates with the new system.&lt;/p&gt;
&lt;p&gt;Oddly, it has a slightly smaller footprint than the x21.  For the most part this isn't noticeable, except that it means the x31 is not compatible with the ultrabase I bought for the x21.  It does work with the dock I have (which still has a fan just a little louder than a turbine engine).  I have not decided whether or not to get a new ultrabase.  It's handy for travel, but I don't travel much.&lt;/p&gt;
&lt;h5&gt;Font legibility and ClearType&lt;/h5&gt;
&lt;p&gt;One thing that has bothered me with the new system is that all of the fonts looked bad.  Skinny, unaliased.  I remembered something about &lt;cite&gt;Cleartype&lt;/cite&gt; on &lt;cite&gt;Windows XP&lt;/cite&gt; and so I went off hunting for this option.&lt;/p&gt;  
&lt;p&gt;I couldn't find it in any of the control panels, at least not in the obvious ones (Display and Fonts).&lt;/p&gt;
&lt;p&gt;Eventually I found a web page at microsoft.com, &lt;a href="http://www.microsoft.com/typography/ClearTypeInfo.mspx" title="Microsoft Typography - ClearType information"&gt;ClearType information&lt;/a&gt;.  This page has information about Cleartype as well as an ActiveX control which you can use to activate and configure ClearType.&lt;/p&gt;
&lt;p&gt;I find it odd that Microsoft would not include this in the base operating system (perhaps it's there, but I really &lt;em&gt;did&lt;/em&gt; look).&lt;/p&gt;
&lt;p&gt;Back to the x31: It's nice to have a keyboard with &lt;em&gt;play&lt;/em&gt; again.  The x21 has lost a lot of the play in the keys, and the mouse buttons are dead.&lt;/p&gt;
&lt;h5&gt;Firewire&lt;/h5&gt;
&lt;p&gt;A minor quibble: the x31 comes with a &lt;cite&gt;Firewire&lt;/cite&gt; interface, but nothing on the descriptions (at CDW, and I believe ibm.com) indicates it's four-wire, not six-wire.  This is a ok as long as you have a four-to-six wire adapter and the device you're plugging in is self-powered.&lt;/p&gt;
&lt;h5&gt;Migration&lt;/h5&gt;
&lt;p&gt;I managed to move most of my documents over without any problems, and I think I've managed to reinstall the applications I &lt;em&gt;need&lt;/em&gt; (eliminating the cruft that builds up from applications you install and use once or twice).  Had to scramble to find various license keys for things I bought over two years ago.  I see no reason to buy a new license, especially since I'm trashing the image on the x21 and replacing it with a Linux or FreeBSD build.&lt;/p&gt;
&lt;h5&gt;Userid configuration&lt;/h5&gt;
&lt;p&gt;The only other gotcha I've had is that I initially configured my userid as my business email address (eg: &lt;em&gt;userid@example.com&lt;/em&gt; instead of just &lt;em&gt;userid&lt;/em&gt;.  Thought this made some sense, until I installed cygwin and realized that there was nothing to separate the userid bit from the domain bit in the email address, so I ended up with userid@example.com in places where it didn't make sense (eg: my prompt became userid@example.com@lancaster).&lt;/p&gt;
&lt;h5&gt;Java&lt;/h5&gt;
&lt;p&gt;Another problem I had: I couldn't get Java to work in either MSIE or Firefox.  
There was an IBM JVM loaded but neither browser could use it to run applets.
I ended up removing it and installing the Sun 1.4 SDK and JRE.
Applets worked in MSIE but still not in Firefox.
I learned that I had to copy several DLLs over to the Firefox plugin directory and then voila, applets worked.&lt;/p&gt;&lt;h5&gt;Software build&lt;/h5&gt;
&lt;p&gt;This is what I have loaded so far:
&lt;ul&gt;
&lt;li&gt;Microsoft Windows XP&lt;/li&gt;
&lt;li&gt;Microsoft Office XP&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mozilla.org/"&gt;FireFox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opera.com/"&gt;Opera 7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Microsoft Project&lt;/li&gt;
&lt;li&gt;Microsoft Visio&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trillian.cc/"&gt;Trillian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://java.sun.com/"&gt;Sun Java 1.4 SDK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cygwin.com/"&gt;cygwin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;
&lt;h5&gt;One update: Bluetooth doesn't work&lt;/h5&gt;
&lt;p&gt;I can't seem to get Bluetooth to work.  There's every indication on the machine that there is no bluetooth available (other than the dimmed out bluetooth icon).  There's every indication at CDW as well as IBM that Bluetooth should be on this system as well as installed and configured.
Hmmm.&lt;/p&gt;
&lt;h5&gt;Update on Bluetooth (8 Jun 2004)&lt;/h5&gt;
&lt;p&gt;I poked around when I returned to Brooklyn over the weekend and discovered that Fn-F5 brings up a control panel of sorts which allows you to turn on or off the Wifi and Bluetooth.  Wifi must be turned on by default while Bluetooth isn't.  I turned it on and managed to get my nokia phone recognized as a modem.  I believe I need to remove the Microsoft utilities (what little there are) and install the IBM Bluetooth utilities.  In any event I'm happier now that I don't have to ship the box back to IBM for repairs.&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598356" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/05/31/notes_on_a_new/</feedburner:origLink></entry>
<entry>
<title>ibm.com history on the web</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598357/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1626" title="ibm.com history on the web" />
<id>tag:epcostello.net,2004:/articles//6.1626</id>
<published>2004-05-24T15:00:00Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>ibm.com has been online for ten years now.  This is a collection of sites which discuss ibm.com over the years (note that some links may decay over time or require registration).</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="IBM Corporation" />
<category term="Technology" />
<category term="World Wide Web" />
<category term="ibm.com notes and history" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;&lt;a href="http://www.ibm.com/" title="IBM Corporate Home Page"&gt;www.ibm.com&lt;/a&gt; has been online for ten years now, having first come online on &lt;cite class="date"&gt;24 May 1994&lt;/cite&gt;.  This  article is a collection of links and stories I've found over the years covering www.ibm.com.  Note that some of the links may be stale, decayed, or otherwise changed since I first tracked them.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.useit.com/papers/1994_web_usability_report.html" title="Report From a 1994 Web Usability Study"&gt;Report From a 1994 Web Usability Study&lt;/a&gt; by &lt;cite class="person"&gt;Jakob Nielsen&lt;/cite&gt; contains discussion about and screen shot of the &lt;cite class="date"&gt;November 1994&lt;/cite&gt; www.ibm.com homepage.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.rinet.ru/Sizzle/11sws07.gif"&gt;Screen shot of www.ibm.com&lt;/a&gt; from &lt;cite class="date"&gt;10 October 1996&lt;/cite&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.infoworld.com/cgi-bin/displayStat.pl?/pageone/opinions/hotsites/hotextra990419.htm" title="IBM's redesign results in a kinder, simpler Web site"&gt;IBM's redesign results in a kinder, simpler Web site&lt;/a&gt; (Infoworld, &lt;cite class="date"&gt;19 April 1999&lt;/cite&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.nytimes.com/library/tech/99/08/cyber/commerce/30commerce.html" title="Good Web Site Design Can Lead to Healthy Sales"&gt;Good Web Site Design Can Lead to Healthy Sales&lt;/a&gt; (The New York Times, &lt;cite class="date"&gt;30 August 1999&lt;/cite&gt;)
&lt;/ul&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598357" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/05/24/ibmcom_history/</feedburner:origLink></entry>
<entry>
<title>May 1994: www.ibm.com is launched</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598358/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1605" title="May 1994: www.ibm.com is launched" />
<id>tag:epcostello.net,2004:/articles//6.1605</id>
<published>2004-05-18T02:22:14Z</published>
<updated>2007-10-07T05:51:37Z</updated>
<summary>Wherein the young technical writer blossoms into a Corporate Webmaster.</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="IBM Corporation" />
<category term="Technology" />
<category term="Webmastery" />
<category term="World Wide Web" />
<category term="ibm.com notes and history" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;I was in a pretty deep funk ten years ago.&lt;/p&gt;
&lt;p&gt;I was convinced I'd be caught in the next round of &lt;em&gt;resource actions&lt;/em&gt; at the lab I worked at, &lt;cite&gt;Myers Corners Lab&lt;/cite&gt;.  
I was pretty much a &lt;em&gt;C&lt;/em&gt; average employee at the time, spending too much time screwing around with ftp, gopher and helping people with various Internet things, and not working on the books for the internal product I was assigned to.&lt;/p&gt;
&lt;p&gt;I think we learned that IBM was closing our lab in May, though it may have been April.  I know that it was inevitable, one of the three buildings at MCL was all but empty and various services were being cut back.&lt;/p&gt;
&lt;p&gt;So, mid-month I accepted an invitation to interview at a company in Atlanta. 
I learned two things on that interview: first, I never, ever wanted to live or work in Atlanta (a feeling which would be reinforced two years later during the Olympic Games), second: it was incredibly reassuring that someone, somewhere was willing to pick up the tab to interview me for a job I was maybe remotely qualified for.&lt;/p&gt;
&lt;p&gt;I returned to Poughkeepsie feeling a bit better about things.  I was scheduled to present a &lt;q&gt;Communications Seminar&lt;/q&gt; about this &lt;em&gt;Internet&lt;/em&gt; thing.
My manager and I figured maybe 10-20 people would attend.
I don't know the actual numbers, but the entire cafeteria was filled, easily a hundred people, perhaps more.
I ran out of the &lt;em&gt;FOILS&lt;/em&gt; I'd prepared (this was pre-Freelance and PowerPoint).&lt;/p&gt;
&lt;p&gt;In retrospect, it was a goofy presentation.&lt;/p&gt;
&lt;p&gt;I showed how people could sign up to send and receive Internet email (in those pre-Notes days, IBMers uses &lt;cite&gt;PROFS&lt;/cite&gt; and &lt;cite&gt;VM/CMS&lt;/cite&gt; for their office needs).  I introduced &lt;acronym title="file transfer protocol"&gt;ftp&lt;/acronym&gt;, &lt;cite&gt;gopher&lt;/cite&gt;, &lt;cite&gt;archie&lt;/cite&gt; and &lt;acronym title="i have no idea what the made up acronym expansion was"&gt;veronica&lt;/acronym&gt; and briefly, just briefly, touched on this &lt;cite&gt;world wide web&lt;/cite&gt; thing. &lt;/p&gt;
&lt;p&gt;I talked a bit about the &lt;cite&gt;Books On Internet&lt;/cite&gt; project where we'd gotten the product release folks out of a bind by &lt;a href="http://bama.ua.edu/cgi-bin/wa?A2=ind9404&amp;L=ibm-main&amp;O=D&amp;F=&amp;S=&amp;P=6820"&gt;publishing &lt;/a&gt;some &lt;cite&gt;S/390 Parallel Sysplex&lt;/cite&gt; books using gopher and ftp, thereby meeting a requirement that the books be available at GA.
&lt;p&gt;I couldn't really demo the web except through a text only browser that you could telnet to at &lt;acronym title="New Jersey Institute of Technology"&gt;&lt;a href="http://njit.edu"&gt;NJIT&lt;/a&gt;&lt;/acronym&gt;.
I showed that our dread adveraries Amdahl and Fujitsu had web sites.&lt;/p&gt;
&lt;p&gt;At the time of the demo, IBM did not have a web site.&lt;/p&gt;&lt;p&gt;This was actually the subject of much debate in the internal internet community.
A group in Atlanta had started to put together a website oriented around &lt;a href="http://www.ibmlink.ibm.com/"&gt;IBMLink&lt;/a&gt;.
Meanwhile, in Armonk, the corner office was still stewing about &lt;a href="http://sun.com/"&gt;Sun&lt;/a&gt;'s presentation of results from the &lt;cite&gt;&lt;a href="http://www.oslo.net/historie/OL/"&gt;1994 Lillehammer Olympic Games&lt;/a&gt;&lt;/cite&gt; on the web and had started a parallel effort to create something called a &lt;cite&gt;home page&lt;/cite&gt; for IBM on the Internet.&lt;/p&gt;
&lt;p&gt;These projects collided in April 1994 with &lt;cite&gt;Corporate Communications&lt;/cite&gt; taking command but the IBMLink folks doing the work and hosting.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ibm.com/"&gt;www.ibm.com&lt;/a&gt;
was launched May 24, 1994 after being previewed at the 1994 Senior Manager's Meeting.&lt;/p&gt;
&lt;p&gt;Meanwhile, back in Po-town, I was drafted to do work at the divisional level to create a proper &lt;q&gt;home page&lt;/q&gt; for the &lt;cite&gt;Large Scale Computing Division&lt;/cite&gt; (with no money, formal support, etc.  a trend which would continue for years).&lt;/p&gt;
&lt;p&gt;Over the next few months I worked with a variety of people to figure out what one would actually put on a &lt;q&gt;home page&lt;/q&gt;...what did customers want?  What did the marketing people want?  What could we actually support?&lt;/p&gt;
&lt;p&gt;It was fun.  
I had absolutely no idea what I was doing, but it was better than watching as MCL melted down.&lt;/p&gt;
&lt;p&gt;I continued to present my talk, now titled &lt;q&gt;Surfing the Internet&lt;/q&gt; and made my presentation available internally through gopher and the old TOOLSRUN request system.&lt;/p&gt;
&lt;p&gt;My last presentation unfortunately was to the &lt;cite&gt;IBM Kingston&lt;/cite&gt; lab the afternoon the employees there were told that the lab would close.&lt;/p&gt;
&lt;p&gt;The summer carried on, with me getting more and more confident in my take on the &lt;em&gt;right way&lt;/em&gt; to run things.  This included frequently flaming the people running the Corporate site about various nitpicks and issues.&lt;/p&gt;
&lt;p&gt;The division site, lscftp.kgn.ibm.com, launched in mid-September.  I was flown down to Atlanta (again!) to demo the site at the N+I trade show.&lt;/p&gt;
&lt;p&gt;Over the course of the fall we did a variety of neat things on the web site, launching a sub-site for the POWERparallel group (if ever there was a bizarre corporate marriage it was POWERparallel and the System/390 divisions).
I was briefly on some sort of internal division assignment to LSCD headquarters.
That came to an end at the end of the year as they couldn't figure out how to fund any staff.&lt;/p&gt;
&lt;p&gt;I was back to being in the position of getting my resource actioned out of the company.&lt;/p&gt;
&lt;p&gt;Then, in the most bizarre turn of events which could occur, the very people I'd been an utter pain in the ass to at Corporate came calling.
They needed a dedicated technical staff.  They asked: 
&lt;q&gt;Would I take a one year assignment?&lt;/q&gt;
And of course, I said no.&lt;/p&gt;
&lt;p&gt;No way was I going to move to Westchester on my own dime for a one year assignment.  I needed something, a raise, some sort of compensation.&lt;/p&gt;
&lt;p&gt;So they asked again, this time offering to reimburse for mileage and any necessary lodging.&lt;/p&gt;
&lt;p&gt;And....I accepted.&lt;/p&gt;
&lt;p&gt;One year working in Corporate on www.ibm.com wouldn't be too bad, especially if they picked up mileage (it was ~100 miles round trip) and occasional lodging (in the rare event I'd have to work late).&lt;/p&gt;
&lt;p&gt;Of course, the one year assignment became a five year adventure. &lt;/p&gt;
&lt;p&gt;I went from being &lt;em&gt;technical staff&lt;/em&gt; to the so-called &lt;em&gt;webmaster&lt;/em&gt; for www.ibm.com and eventually the dubious yet real role of &lt;cite&gt;corporate webmaster&lt;/cite&gt;.
Along the way we picked up a few people, 
did some cool things, and served a couple billion hits.&lt;/p&gt;
&lt;p&gt;When I eventually left in 1999, I left a job that was completely unimaginable in 1994.
I left because it was almost all politics, all corporate, and all stress.
I left because the fun had long seeped out.
I left because I didn't have anything else to prove, I'd built and rebuilt the site, hosted
a variety of events, invented a bunch of tools
and technologies, and learned quite a lot from the experiences and misadventures.&lt;/p&gt;
&lt;p&gt;I left because when the CIO tells you you're his &lt;q&gt;go to guy&lt;/q&gt;, you know it's time to leave.&lt;/p&gt;
&lt;p&gt;Anyway, that all started ten years ago.
It certainly doesn't feel like ten years has passed.&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598358" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/05/17/may_1994_wwwibm/</feedburner:origLink></entry>
<entry>
<title>Blocking Referer Spam</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598359/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1582" title="Blocking Referer Spam" />
<id>tag:epcostello.net,2004:/articles//6.1582</id>
<published>2004-05-04T00:52:29Z</published>
<updated>2007-10-07T05:51:37Z</updated>
<summary>Referer spam is a recent innovation by the lesser cruft of the internet which relies on the blogland notion of embedding the referers to a given page in that page's content.  Here's some techniques for blocking referer spam and having some fun while you're at it.</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="Best Practices" />
<category term="Referer Spam" />
<category term="Webmastery" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;Read &lt;a href="http://epcostello.net/articles/2005/06/blocking_referer_spam_shorter_version.php"&gt;Blocking Referer Spam (shorter version)&lt;/a&gt; if you want just the quick &amp;amp; dirty take on referrer spam and possible solutions.&lt;/p&gt;
&lt;blockquote class="note"&gt;&lt;h5&gt;Note&lt;/h5&gt;
&lt;p&gt;This article is getting a lot of traffic (well, for me at least) and while the advice is still valid, it turns out that what I was seeing was not necessarily referer spam, but something a bit weirder which I need to write up in detail when I have time.  Basically, my &lt;code&gt;.htaccess&lt;/code&gt; information below is correct for what I was seeing, but may not work at all to solve strict referer spam problems. 
The problem I was seeing (and still do, though much less so) was that somehow my site ended up listed as an open proxy on some idiot's list.  It isn't now, nor has ever been (I suspect it was due to an early PHP mistake on my part).
So, the traffic I was calling "modified referer spam" was actually someone's attempt to fake traffic through affiliate sites by routing through my "open" proxy (and I imagine many others).&lt;/p&gt;
&lt;p&gt;Anyway, read the rest for entertainment, perhaps enlightenment, but it's not necessarily correct.
Check out &lt;a href="http://underscorebleach.net/content/jotsheet/2005/01/proposal_to_solve_referrer_spam_blacklist_stats"&gt;Proposal for a solution to referrer spam: Using MT-Blacklist and other blacklists to filter spamming URLs&lt;/a&gt; for a better example than I provide here.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On a monthly, sometimes bi-weekly basis, I scan through my traffic logs and reports looking for things.  Nothing in particular, oddities, things that stand out.  I used to do this on a much larger scale at ibm.com and it helped me in tuning the site as well as debugging problems within IBM's web space.&lt;/p&gt;
&lt;p&gt;Late last year I noticed an increase in odd &lt;cite title="HTTP_REFERER isi the unfortunate mispelling we're stuck with"&gt;&lt;em&gt;referrers&lt;/em&gt;&lt;/cite&gt;.  A &lt;em&gt;referrer&lt;/em&gt; is (in theory) the URI which contains a link to a given site and is passed by the &lt;cite&gt;user agent&lt;/cite&gt; (eg: &lt;cite&gt;Microsoft Internet Explorer&lt;/cite&gt;, &lt;cite&gt;Mozilla Firefox&lt;/cite&gt;) in the block of information sent to the target site when a resource is requested from that site.&lt;/p&gt;
&lt;p&gt;Basically, that means that if you&amp;rsquo;re viewing &lt;strong&gt;http://example.com/&lt;/strong&gt; and click on the link &lt;a title="ed costello: articles and essays" href="http://epcostello.net/articles/"&gt;ed costello: articles and essays&lt;/a&gt;, a request like the following gets sent to my server:&lt;/p&gt;
&lt;blockquote class="code"&gt;
GET /articles/ HTTP/1.1&lt;br /&gt;
Host: epcostello.net&lt;br /&gt;
Referer: http://example.com/&lt;br /&gt;
&lt;em&gt;...other stuff irrelevant to this post...&lt;/em&gt;
&lt;/blockquote&gt;
&lt;p&gt;So, that is what a referrer is (&lt;em&gt;referer&lt;/em&gt; is a tragic misspelling which occurred some time in the early days of the web and we're stuck with today in the CGI spec and other places).&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;Referrer spam&lt;/cite&gt; is a recent innovation by the lower life forms which populate the web.  I'd seen it in the ibm.com logs, but infrequently and not on any regular scale.  Now there are tools and web sites you can use to try to drive traffic to your site by spamming the referrer field on the target sites.&lt;/p&gt;
&lt;p&gt;Referrer spam has become popular due to the &lt;q&gt;am I cool or what&lt;/q&gt; need of various bloggers to show who's linking to their blogs.  The easy way to do this has been to scrape the referrer field from the access logs or to capture them in real time using PHP or some other server side scripting language.  Whatever way they're captured, they're then reposted to the site, sometimes ranked, usually linked.&lt;/p&gt;
&lt;p&gt;The spammers rely on the fact that people will click on anything on a web site, even something that clearly says in bright letters &lt;span style="color:white;font-size:large;border:outset 2pt red;background:red;border-radius:1pt;-moz-border-radius:1pt;"&gt;&lt;a href="/library/dontclickhere/"&gt;DON'T CLICK HERE&lt;/a&gt;&lt;/span&gt;.  Referrer spamming may also help increase a site's &lt;cite&gt;pagerank&lt;/cite&gt; though I doubt that is that effective.&lt;/p&gt;
&lt;p&gt;Whatever the cause, I'm now getting referrer spam.  Of course, this is silly since I &lt;em&gt;don't post referrers&lt;/em&gt; anywhere on any of my sites.  Nowhere.  In a country where you can get arrested, tried, and convicted simply for linking to content which someone has deemed illegal, reposting referrers just seemed like an easy invite for trouble.&lt;/p&gt;&lt;p&gt;Silly me, I thought that if I don't post referrers, I wouldn't get referrer spam.&lt;/p&gt;
&lt;p&gt;Not only am I getting referrer spam, I'm getting what I now call &lt;cite&gt;modified referer spam&lt;/cite&gt;: this consists of malformed proxy requests like the following:&lt;/p&gt;
&lt;blockquote class="code"&gt;
GET http://example.com/images/searchbox_2_1.gif HTTP/1.0&lt;br /&gt;
Referer: http://www.hanyhost.com&lt;br /&gt;
&amp;mdash;and&amp;mdash;&lt;br /&gt;
GET http://example.com/s.php?uid=20694&amp;amp;keywords=monitor6&amp;amp;submit=Go%21 HTTP/1.0&lt;br /&gt;
Referer: http://www.gofortraffic.com&lt;br /&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now, I don't run my site as an open proxy either, so this is just stupid, irritating, and a complete waste of &lt;em&gt;my&lt;/em&gt; resources.&lt;/p&gt;
&lt;p&gt;This referrer spam traffic provides no value to me at all, and if it grows could negatively impact whatever &lt;em&gt;real&lt;/em&gt; traffic I do want to accept and respond to.&lt;/p&gt;
&lt;p&gt;So, I'm fighting back.&lt;/p&gt;
&lt;p&gt;My site uses the &lt;cite&gt;&lt;a href="http://httpd.apache.org/"&gt;Apache&lt;/a&gt;&lt;/cite&gt; web server, the following
code bits are relevant only to Apache. &lt;/p&gt;
&lt;p&gt;My first step was to block the IP addresses of the systems running whatever client application is available to generate referrer spam thusly:&lt;/p&gt;
&lt;blockquote class="code"&gt;
deny from 218.11.90.83&lt;br /&gt;
deny from 218.11.93.1&lt;br /&gt;
deny from 218.11.93.101&lt;br /&gt;
deny from 218.11.93.148&lt;br /&gt;
deny from 218.11.94.112&lt;br /&gt;
deny from 218.11.94.168&lt;br /&gt;
deny from 218.11.94.215&lt;br /&gt;
deny from 218.11.94.251
&lt;/blockquote&gt;
&lt;p&gt;The problem here is that this gets to be a pain to maintain, eventually the spammer gets a new IP address, or gets smart and uses AOL or some other large ISP for a run.
Who&amp;rsquo;s going to block an entire ISP?&lt;/p&gt;
&lt;p&gt;I realized that it would be easier to block by the patterns that the spammers use,
as well as by the referrers being spammed.
Since one pattern is to request a resource which isn&amp;rsquo;t on my server at all
I check to see if the hostname matches my hostname.
If the hostname doesn&amp;rsquo;t match, then I bounce the request.
I&amp;rsquo;ve tried a couple different methods of bouncing requests...you can fail them 
entirely, serve up a nasty comment or two, or redirect the request.&lt;/p&gt;
&lt;p&gt;A neat thing I discovered while I was running www.ibm.com was this: when you redirect
a request, the &lt;code&gt;Referer&lt;/code&gt; does not get updated to reflect your site as the
redirecting site, I found this was true for every web browser in popular use in the 
1996-1998 timeframe and I believe it to be true today.&lt;/p&gt;
&lt;p&gt;Case in point: in the 1996-1997 timeframe someone wrote a really stupid web crawler
whose sole purpose for existence was to scrape email addresses from web pages.
One night I watched the site monitors for www.ibm.com and realized we were being
attacked: something was driving a high volume of traffic to the site, and worse was
causing a high volume of errors.&lt;/p&gt;
&lt;p&gt;Doing some digging and tailing some of the logs, I realized that it was this
stupid crawler.
It had become trapped in the site, not handling a URL
correctly and just generating ever more erroneous requests to the site.
I did the only logical thing I could think of, since I wanted to get rid of the
traffic (and the crawler was not stopping in response to &lt;code&gt;403&lt;/code&gt;,
&lt;code&gt;404&lt;/code&gt; or &lt;code&gt;500&lt;/code&gt; errors), I added the URI in error to our
redirect file, and targeted the redirect at the web site of the crawler in
question.&lt;/p&gt;
&lt;p&gt;The traffic immediately disappeared.&lt;/p&gt;
&lt;p&gt;Taking this a step further, since we had all sorts of code patched into
www.ibm.com (the homepage itself was a CGI for a long time, probably far too long):
I redirected all requests from the crawler (which happily supplied a user agent
identifying itself and the company responsible for developing it) to the developer&amp;rsquo;s
web site.&lt;/p&gt;
&lt;p&gt;Anyway, based on that bit of history, that&amp;rsquo;s how I&amp;rsquo;ve responded
on my own sites: redirect the traffic back to the spammers in question.
I don&amp;rsquo;t want the traffic, I derive no financial benefit from receiving
the traffic, I have no contractual obligation to accept the traffic.
And I am breaking no laws that I know of in redirecting the traffic back to the
originators.&lt;/p&gt;
&lt;p&gt;So, without further adieu, here is the htaccess directives to do so, note that I&amp;rsquo;ve changed references to my site to &lt;code&gt;example.com&lt;/code&gt;:&lt;/p&gt;
&lt;blockquote class="code"&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond     %{HTTP_HOST}    !^example.com$       [NC]&lt;br /&gt;
RewriteCond     %{HTTP_REFERER} ^(.*)$  [NC]&lt;br /&gt;
RewriteRule     ^(.*)$  %1      [R=301,L]
&lt;/blockquote&gt;
&lt;p&gt;There&amp;rsquo;s multiple variations on this of course, you could do:&lt;/p&gt;
&lt;blockquote class="code"&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond     %{HTTP_HOST}    !^example.com$       [NC]&lt;br /&gt;
RewriteCond     %{REMOTE_ADDR} ^(.*)$  [NC]&lt;br /&gt;
RewriteRule     ^(.*)$  http://%1      [R=301,L]
&lt;/blockquote&gt;
&lt;p&gt;Which tells the client to redirect to itself or at least the IP address it is spoofing.&lt;/p&gt;
&lt;p&gt;I could just fail the request, using &lt;code&gt;RewriteRule&amp;nbsp;^(.*)$&amp;nbsp;$1&amp;nbsp;[F,L]&lt;/code&gt; but that seems self-defeating:
if my server has to put up with the crap traffic to begin with I want someone else, preferably the bozo initiating it or paying for it, to feel some pain as well.&lt;/p&gt;
&lt;p&gt;I strongly believe that the primary reason email spam and referer spam is so successful is that it&amp;rsquo;s so easy to do and carries so few penalties.
If more sites reacted with strong defensive measures instead of just sucking up the additional traffic there would be less value
to the spammers to do this sort of thing.&lt;/p&gt;
&lt;p class="note"&gt;&lt;strong&gt;Note:&lt;/strong&gt;
This article was modified on 7 August 2004 to edit the URLs in the modified
referer spam example to 'example.com'.&lt;/p&gt;
&lt;p class="note"&gt;&lt;strong&gt;2004-12-09T20:03Z:&lt;/strong&gt;
I've turned comments back on...see if the spam bots attack again.&lt;/p&gt;&lt;img src="http://feeds.epcostello.net/~r/epcostello/essays/~4/275598359" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://epcostello.net/articles/2004/05/03/blocking_refere/</feedburner:origLink></entry>
<entry>
<title>How to get the last day's content or last post</title>
<link rel="alternate" type="text/html" href="http://feeds.epcostello.net/~r/epcostello/essays/~3/275598360/" />
<link rel="service.edit" type="application/atom+xml" href="http://my-weblog.com/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=6/entry_id=1575" title="How to get the last day's content or last post" />
<id>tag:epcostello.net,2004:/articles//6.1575</id>
<published>2004-04-25T23:17:57Z</published>
<updated>2006-11-25T17:37:03Z</updated>
<summary>How to use MTIfEmpty with MTSetVar to customize an MTEnries list</summary>
<author>
<name>e.p.c.</name>
<uri>http://epcostello.net/</uri>
</author>
<category term="MovableType" />
<category term="Technology" />

<content type="html" xml:lang="en" xml:base="http://epcostello.net/articles/">&lt;p&gt;The top page of this site (&lt;a href="http://epcostello.net/" title="ed costello's rants and ravings on nothing in particular"&gt;http://epcostello.net/&lt;/a&gt;) is created using a mess of &lt;a href="http://php.net/"&gt;PHP&lt;/a&gt; and &lt;cite&gt;&lt;a href="http://movabletype.org/"&gt;Movable Type&lt;/a&gt;&lt;/cite&gt;.   The overall site consists of three MovableType managed sections.   I've gone back and forth trying to figure out how best to display content, I hate the long-winded, multipage sites, but also wanted to have at least one entry from each section on the page.&lt;/p&gt;
&lt;p&gt;I've tried a couple different techniques, starting out oddly enough by creating a enw bblog for just the top page which would get updated by trackback pings when I posted to the sections.  This didn't work well due to the limitations on trackbacks (only 255 bytes of data get passed as content) as well as a problem where &lt;acronym title="MovableType"&gt;MT&lt;/acronym&gt; didn't like pinging itself when it was updating the site.&lt;/p&gt;
&lt;p&gt;I then moved to generating a list of &lt;em&gt;N&lt;/em&gt; entries for awhile using &lt;code&gt;&amp;lt$MTEntries lastn="&lt;em&gt;N&lt;/em&gt;"$&amp;gt;&lt;/code&gt;.  That worked and I've used it in other places since, but still wasn't what I was looking for.  &lt;/p&gt;
&lt;p&gt;Basically I want to display the last day's entries or the most recent entry.  Ideally MT's &lt;code&gt;&amp;lt;$MTEntries days="&lt;em&gt;1&lt;/em&gt;"$&amp;gt;&lt;/code&gt; would do the trick,  there is no way to tell &lt;cite&gt;Movable Type&lt;/cite&gt; to always display the most recent day's entries.  If there were no entries in the past 24 hours then you get no content.  &lt;/p&gt;
&lt;p&gt;I tried using the &lt;code&gt;&amp;lt;$MTIfEmpty$&amp;gt;&lt;/code&gt; plugin but that only works on variables, and I had no variable that would tell me if there was an entry for a given day.&lt;/p&gt;
&lt;p&gt;However, if you combine &lt;code&gt;&amp;lt;$MTSetVar name="entry" value="&amp;lt;$MTEntryID$&amp;gt;"$&amp;gt;&lt;/code&gt; with &lt;code&gt;&amp;lt;MTIfEmpty var="empty"$&amp;gt;&lt;/code&gt; then you can almost get the behavior I was looking for.&lt;/p&gt;
&lt;p&gt;Except that it doesn't work.  &lt;code&gt;MTIfEmpty&lt;/code&gt; only works on &lt;cite&gt;Movable Type&lt;/cite&gt; variables, not variables set by &lt;code&gt;MTSetVar&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;So, then I did some digging.  I took a look at the actual plugin code for &lt;code&gt;MTIfEmpty&lt;/code&gt; and decided that I still detest OO-Perl after all these years.  Since the plugin is a couple of years old I figured someone else must have wanted to do this as well and discovered the &lt;a href="http://www.movabletype.org/support/index.php?act=ST&amp;f=20&amp;t=8923&amp;hl=mtifempty&amp;s=3cc0504665a09fff5f86e7ea8098eef5"&gt;code&lt;/a&gt; for &lt;code&gt;MTIfVar&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Except that still does not work.&lt;/p&gt;
&