Earlier today I wanted to print a web page for some offline reading. It was a page from a blog, featuring a left-handed nav/info bar and content on the right. Of course, I only wanted to print the content area. I tried printing, hoping for a print stylesheet that would supress the navbar. No such luck (note to self: implement a print stylesheet for your own glass house, and put down that stone).
I then tried turning off styles, figuring I could omit the pages of the printout which contained the navbar. I was surprised to find that Firefox prints using the default style sheet when styles are turned off (View|Page Style|No Style) (note to self: check Bugzilla, report if needed).
I considered adding a user stylesheet, hoping that it would cascade with the existing stylesheet. In trying to figure out what my stylesheet should do, I used the DOM inspector. I was disappointed to find the layout used a 1 row <table> with with 2 <td>s to achieve layout (note to self: you don’t do that- good job). No wories, judicious use of a following sibling CSS selector did the job:
td {display:none} /* don't show <td>s */
td+td {display:block} /* okay, show <td>s that follow another td */
The net affect is that only the first <td> (in each <tr>) is hidden. Perfect for this application. I tested this CSS snippet using the Edit CSS feature of fantastic the Web Developer Toolbar. On a whim, I tried printing, and was pleased to see that Firefox printed using the edited CSS.
Update: I dutifully checked Bugzilla. Bug 260762 looks like a match.
I hate Flash. So called “flashturbation” website intro pages, beloved by none but the clueless execs who commission them, is reason enough. Beyond this (useless) use, they are used for everything from animated ads to total website content & navigation. Designers seem to like it because it allows much more creativity in web design, but I’ve never seen a use of flash I couldn’t have lived without. No matter how many ALA articles I see about standards support or accessibility with Flash, I consider it antithetical to both.
So I was not shocked to discover (via brian d foy) that Flash can be used to foil popup blockers. While I have in the past refused to install Flash, on a few occaisions I’ve needed to use a website that was otherwise inaccessible. Of course, once you install it, you’re stuck with it everywhere, right? Not if you use a real browser. Check out Flashblock, a Mozilla/Firefox plugin that replaces all Flash content with a placeholder image, which you can click if you want to enable Flash for the given content.
Maybe people will finally see the light and stop using Flash. One can hope.
Last month, Dugh issued the October Blogging Challenge, which grew from a week of daily posts to a month of daily posts. This month, I’d like to do something a little different.
As you probably know, today is the official release date of Mozilla Firefox 1.0. Firefox is a free, open source web browser. Not only that, it’s also the best web browser I have ever used, and one of my favorite pieces of software. It is easy to install, simple to use, and yet more powerful than the marketshare leader. It is highly configurable via extensions, yet you could never install a single extension and still have an incredibly useable, powerful browser. It is one of a handful of products which I can say has changed the way I use computers. It is made for all users, not just tech geeks like myself. In the past year, even through several beta versions, I’ve encouraged many people to switch- including my children. If you’ve never used it before, I encourage you to Get Firefox… but that is not the point of this post, or of the Challenge.
Of all of Firefox’s features, the one I want to focus on is the people. Firefox is a product of the Mozilla Foundation, a non-profit organization created to support the development of the open source Mozilla platform. Thousands of volunteers have contributed… bug reports, code patches, suggestions, themes, extensions, and even cash. There are many people, none of whom I know, who deserve thanks today. Ben Goodger, Chief Engineer for the Firefox project, touched on this today in his 1.0 release anouncement post on his Firefox Weblog. Ben himself deserves thanks as well, for seeing this project through and delivering a world-class product. On a personal note, he even found time to comment on this site when I complained about the Firefox marketing effort several months ago. No complaints now!
So to Ben Goodger, everyone at the Mozilla Foundation, and everyone who has contributed to the Firefox project – Thank You. You have done a very great service to the community of the web.
The November Blogging Challenge, then, is simple. If there is an open source project, a useful website, or even a blog which has benefited you in some way, blog a “Thank You” this month. Tell everyone about why you like it, and tell those who made it that their work is appreciated. If you have the means, consider supporting your favorite open source project with a donation, if they accept them. Today I donated $50 to the Mozilla Foundation as another way of saying “Thank You,” and “Keep up the good work.”
Update: If you participate in the challenge, leave a comment or trackback ping this post!
Tonight I added an Atom feed (0.3) to the site. The link is in the Subscribe boxlet on the right. I’ve also added a feed validation link for this feed in the Made Possible By boxlet.
Why an Atom feed? I’ve always felt Atom to be a promising project. Why now? I’d always planned to add an Atom feed, but I’ve felt no urgency as the spec is continuing to evolve. However, I’ve got some ideas I want to explore for using the Atom publication format and protocol in a project; more on that when I’ve had some time to refine my thoughts (and maybe write some proof-of-concept code). For now, I’m reading up on the current states of the specs, poking around the wiki, and reading some of the mailing list archives.
Adding the feed to Blosxom was straightforward. I installed the atomfeed plugin, which got me 95% of the way there. Since the last update of the atomfeed plugin, the spec has added <atom:modified> as a required child element of <atom:feed>. I was able to implement this by modifying the built-in flavour and using the lastmodified plugin to supply the value. Putting my name in atomfeed’s $default_author config variable was the only other step I had to complete to get the feed to validate. I’ve posted my version of the atomfeed plugin which contains my fix for the <atom:modified> issue, but does require the lastmodified plugin.
October has ended, and so has the October Blogging Challenge. Started by Dugh as a one-week challenge, I foolishly re-challenged him to a full month of blogging. He accepted, as did Uncle Roger. It was… challenging. I missed two days, but I did publish 31 posts… even if some of them were lazy.
It’s been a lot of fun, and good blogging ‘exercise’. We’ve been kicking around some ideas for a new challenge, but we haven’t settled on anything yet. Dugh is soliciting suggestions. I’m going to try to keep blogging at least once a day, but it will be nice to have any pressure to do so!
The website hosting move has been a success. I’ve had a total of 8 hits on the old host today, so I guess the address propagation is nearly complete. Everything seems to be working fine at the new host. Spent a little time this morning setting up AWStats on the new host. That’s the package my old host offered, and I’m used to it. Eventually, I’d like to put together something of my own to do more specific analysis, but that’s a ways down my list.
My new hosting provider is Dreamhost. My old host was fine, but I really wanted shell access, which they didn’t offer. The plan I’m on now lets me host up to 15 domains, of which I’m using two. By paying for 2 years in advance, I’m paying the same as I was previously for two separate single-domain packages. If I ever need another domain (or 13), I’m all set. Sure am loving the shell access.
I’ll make a final check of my pop3 account at the old host tommorow evening, and Monday I’ll call and close the old hosting account. Prepaid a year in August, so I’ve even got a refund coming.
Today I’m initiating the DNS change to point the domain jclark.org at my new hosting provider. Apologies in advance if anything goes awry.
If this is the last sentence you see, you’re viewing the old host.
And if you’re viewing this sentence, you’re viewing the new host. Woohoo!
Update: The move has been remarkably painless. Mail seems to be working, site’s working fine. Bloglines sees the new site, as do my home and work broadband connections.
Also, I’ve re-enabled comments. I haven’t got the blacklist in place yet; I want to try to build in a performance enhancement first, and I need to setup an extra Perl module to do that. More on that later.
Update 2: Big thanks to Dugh for the heads up that my comments weren’t working. All fixed now.
I’m in the process of switching hosting providers (more on that in a later post). If your mailhost is at Dreamhost (my new provider), you may not be able to send me email until I get everything sorted. In the interim, if you send me mail and it bounces, you can contact me at jason.clark {at} comcast.net.
Steve Schwartz has created an updated version of my moreentries plugin that adds a series of links for each additional page of posts, like at the bottom of the page on Google. It supports both text and image links. I think this is just fantastic… this is a feature I’ve had requested, and just never got around to implementing. Go check it out!
Once nice side effect of the recent spam attack I suffered is that it got me poking around in my logs and stats. My hosting provider iPowerWeb offers stats via awstats, which isn’t the greatest but it works. While looking at my stats, I noticed My Most Frequent Visitor had over 3800 page requests this month, while the #2 visitor had less than 500. My Most Frequent Visitor had also sucked down over 90 Meg, while #2 had only around 15 Meg. I became quite interested in My Most Frequent Visitor.
MMFV was identified only by an IP address – 38.144.36.16. Wonder who that is? :
% host 38.144.36.16
16.36.144.38.in-addr.arpa domain name pointer news.allresearch.com
Pluging news.allresearch.com into the browser yielded a refused connection, so I tried www.allresearch.com. Bingo. From the home page:
AllResearch, Inc. was founded in 1998 to provide research, media analysis, and strategic intelligence services for a variety of different markets.
We offer a broad range of products and services to assist various entities with gathering relevant intelligence from the online world. Utilizing cutting-edge proprietary technology, we are able to view and understand the online world in ways never before possible.
Huh. It seems that slogging through my bandwith at 7 times the rate of any other visitor is a proprietary and cutting-edge technology. Who knew? While the marketroid-speak above isn’t perfectly clear, the menu of services certainly brings things into focus, which such items as Webclipping, TrademarkTracker, Online Peer Group Analysis, and Law Enforcement. I’m being stalked by The Man! (and I’m not the only one.)
But why is The Man (aka My Most Frequent Visitor) visiting so much more freqently than everyone else? A grep or two through my access logs reveals all. It seems that once an hour, The Man pulls my RSS feed. Okay, no problem. But then, The Man pulls every one of the posts in my feed. On the one hand, this is stupid because my feed is full content. On the other hand, this is really stupid, wasteful, and hateful because The Man requests the full content of all 10 posts in the feed every hour! Even when the feed hasn’t changed, The Man is re-reading all 10 posts. The Man must have The Bot, even though The Man’s user agent string is "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)". While I bet The Man probably does use IE, I doubt he’s using it once an hour to pull all my posts by hand. Bad, Sneaky The Man!
Far be it from me to criticize The Man, so here ends my tale. On a completely unrelated note, check out the newest addition to my .htaccess file:
RewriteCond %{REMOTE_ADDR} "^38.144.36.16$"
RewriteRule .* - [F,L]
Interestingly, I seem to be seeing a “403 Forbidden” in my logs now, once an hour, every hour, like clockwork.