Posts from 2012

When Spambots Break, We Fisk It

Published 12 years, 1 month past

A while back, a spambot stopped by my 2006 post “Unitless line-heights”, dumped what appears to be its complete response configuration file into my comment form, and submitted it.  Being something of a Dadaist at heart, I went ahead and published it — and yet, somehow, that wasn’t enough.  I believe the whole world should have the opportunity to savor its multifaceted and sometimes contradictory opinions, so I present it here in its entirety (and its character encoding errors) with a few bits of commentary by yours truly.

I was extremely pleased to find this web site. I need to to thank you for ones time due to this wonderful read!! I definitely really liked every little bit of it and I have you bookmarked to look at new information on your website.

Can I simply just say what a relief to uncover a person that genuinely knows what they are talking about on the net. You definitely realize how to bring an issue to light and make it important. More people should read this and understand this side of your story. I can’t believe you’re not more popular since you most certainly possess the gift.

Excellent write-up. I absolutely love this site. Stick with it!

It�s hard to come by well-informed people on this subject, but you seem like you know what you�re talking about! Thanks

You ought to take part in a contest for one of the most useful blogs online. I am going to highly recommend this blog!

A fascinating discussion is worth comment. I do believe that you need to publish more about this subject, it may not be a taboo subject but typically folks don’t discuss these subjects. To the next! Many thanks!!

In fact, line-height values have long been the topic that dare not speak its name.  I hope it is not too immodest of me to say that writing about these subjects took no small measure of personal courage.

Hi there! I simply would like to give you a big thumbs up for your great information you’ve got right here on this post. I’ll be returning to your website for more soon.

When I initially commented I appear to have clicked on the -Notify me when new comments are added- checkbox and now each time a comment is added I get four emails with the same comment. Perhaps there is an easy method you can remove me from that service? Kudos!

I assume there’s some perceived value in drawing even more attention to the email address and web site associated with this comment, but I can’t figure out what.

The next time I read a blog, I hope that it doesn’t fail me as much as this one. After all, I know it was my choice to read, nonetheless I actually thought you would probably have something helpful to talk about. All I hear is a bunch of whining about something that you could fix if you weren’t too busy seeking attention.

OHHHH SICK BURN.  Actually, I’m very slightly impressed by the attempted use of reverse psychology, even though I suspect the vast majority of people would just delete a comment like that without ever realizing it was a spambot.

Spot on with this write-up, I seriously believe that this web site needs much more attention. I�ll probably be returning to read more, thanks for the info!

You’re so awesome! I do not believe I’ve read through a single thing like this before. So good to find somebody with some unique thoughts on this subject matter. Really.. thanks for starting this up. This site is one thing that is required on the web, someone with a little originality!

I love looking through an article that can make men and women think. Also, thanks for allowing for me to comment!

Oh, no… thank you.

This is the perfect blog for everyone who wants to understand this topic. You understand a whole lot its almost hard to argue with you (not that I actually will need to�HaHa). You definitely put a fresh spin on a subject that’s been discussed for years. Wonderful stuff, just excellent!

Aw, this was an exceptionally nice post. Finding the time and actual effort to make a really good article� but what can I say� I procrastinate a whole lot and don’t manage to get nearly anything done.

I�m amazed, I must say. Rarely do I come across a blog that�s equally educative and amusing, and without a doubt, you have hit the nail on the head. The issue is something that too few folks are speaking intelligently about. I am very happy I found this during my search for something concerning this.

Oh my goodness! Awesome article dude! Thank you, However I am having troubles with your RSS. I don�t understand why I am unable to subscribe to it. Is there anybody having the same RSS issues? Anyone who knows the solution can you kindly respond? Thanx!!

An outstanding share! I’ve just forwarded this onto a coworker who had been conducting a little homework on this. And he actually ordered me breakfast simply because I found it for him… lol. So allow me to reword this…. Thanks for the meal!! But yeah, thanks for spending time to talk about this topic here on your internet site.

After looking at a number of the articles on your website, I really appreciate your way of blogging. I saved as a favorite it to my bookmark webpage list and will be checking back in the near future. Please check out my web site as well and let me know what you think.

This site definitely has all of the information and facts I needed concerning this subject and didn�t know who to ask.

There is definately a great deal to know about this subject. I love all the points you’ve made.

I only wish that comment had somehow ended up on a post about the importance of spellchecking.

You made some good points there. I looked on the web for additional information about the issue and found most people will go along with your views on this site.

Nice post. I learn something new and challenging on websites I stumbleupon everyday. It’s always interesting to read through content from other authors and practice something from their web sites.

I blog quite often and I seriously thank you for your information. Your article has truly peaked my interest. I am going to book mark your website and keep checking for new information about once per week. I opted in for your Feed too.

Pretty! This has been a really wonderful article. Thanks for supplying these details.

Greetings! Very useful advice in this particular article! It is the little changes that will make the biggest changes. Many thanks for sharing!

Hello there! This blog post could not be written much better! Going through this article reminds me of my previous roommate! He constantly kept talking about this. I will send this information to him. Fairly certain he will have a very good read. I appreciate you for sharing!

Your previous roommate, eh?

Hi, I think your site might be having web browser compatibility issues. Whenever I look at your blog in Safari, it looks fine however, when opening in Internet Explorer, it has some overlapping issues. I just wanted to provide you with a quick heads up! Besides that, wonderful site!

…Well played, spambot.  Well played.

Having read this I believed it was rather enlightening. I appreciate you finding the time and effort to put this information together. I once again find myself personally spending a significant amount of time both reading and commenting. But so what, it was still worth it!

Good day! I could have sworn I�ve been to this web site before but after looking at a few of the posts I realized it�s new to me. Regardless, I�m certainly happy I discovered it and I�ll be book-marking it and checking back frequently!

I wanted to thank you for this fantastic read!! I absolutely enjoyed every bit of it. I’ve got you book marked to check out new stuff you post�

Hi, I do believe this is an excellent web site. I stumbledupon it ;) I will come back yet again since I book-marked it. Money and freedom is the best way to change, may you be rich and continue to help others.

Your style is very unique compared to other people I’ve read stuff from. Thanks for posting when you’ve got the opportunity, Guess I’ll just book mark this site.

Apparently spambots think that “book-marking” is a thing that humans still do.  Ha ha, suckers!

I used to be able to find good information from your blog posts.

There you go again, trying to make me think that only a real live human could be that condescending.  Well, I remember Twiki and you, sir, are no Twiki.

Excellent article! We are linking to this great content on our site. Keep up the great writing.

This is a very good tip particularly to those fresh to the blogosphere. Short but very accurate info� Appreciate your sharing this one. A must read article!

I could not refrain from commenting. Exceptionally well written!

bookmarked!!, I really like your web site!

Good post. I’m dealing with many of these issues as well..

Way cool! Some extremely valid points! I appreciate you penning this post and the rest of the website is really good.

Great web site you have got here.. It�s difficult to find high-quality writing like yours nowadays. I truly appreciate people like you! Take care!!

This is a topic that’s near to my heart… Take care! Where are your contact details though?

I seriously love your site.. Pleasant colors & theme. Did you create this web site yourself? Please reply back as I�m trying to create my own personal site and want to find out where you got this from or exactly what the theme is named. Cheers!

After spambot stupidity, the most reasonable explanation for someone coming to my site and praising it for the pleasant colors is, to quote John Gruber: “I am high as a kite.”

Everyone loves it when individuals come together and share ideas. Great site, continue the good work!

Very good info. Lucky me I ran across your website by accident (stumbleupon). I have book marked it for later!

This site was… how do I say it? Relevant!! Finally I have found something that helped me. Cheers!

Everything is very open with a really clear explanation of the issues. It was definitely informative. Your site is very useful. Many thanks for sharing!

I would like to thank you for the efforts you have put in writing this website. I am hoping to see the same high-grade content from you later on as well. In truth, your creative writing abilities has inspired me to get my own website now ;)

If you want the original, un-fisked version for use in your own anti-spambot defenses, you can find it here.


Optimized For the Fast-Fading Past

Published 12 years, 1 month past

I have a theory, one that I’m sure has been formulated by someone else much earlier than me, that all power users eventually get left behind.  They get stuck in a highly-optimized box canyon of their own making, one that is perfectly tuned to their way of working and interacting with data and is of interest to precisely nobody else in the world.

Let me use myself as an example.  I’m currently running OS X Snow Leopard, 10.6.8, with no intention of upgrading.  This is because after Snow Leopard, there is no more Rosetta.  That means that my preferred personal mail client, Eudora, will not work.  Neither will Word 2004.  Both are, in effect, upgrade deal-breakers for me.

But why would I hang on to such relics?

Well, Eudora has been my mail client for quite literally two decades, and thus it has two decades of archived mail that I can search very quickly and easily.  I have tried out migrations to other clients; they crash trying to suck in 3GB worth of mail text in Eudora’s special format.  I could simply declare a break and move on to a new client with no stored mail, but as soon as I upgrade my OS, even the archives will be inaccessible.  This is a major barrier.  There are possible solutions, but trying them is incredibly time-intensive with no actual guarantee of success.

As for Word 2004, I have it customized so that ⇧⌘S shifts keyboard focus to the Styles combo box.  There I can type the name of the style I want and hit return.  This is really important when I’m writing a book whose files eventually have to be passed off to a publisher’s production staff, whose toolchains depend on proper use of styles.  O’Reilly in particular went to a lot of effort, back in the day, to create style who had vi-style shortcut names, so I can highlight a few words and type ⇧⌘S fc [return] to set the highlighted text in the “literal” style (used for property names and the like).  Versions of Word after 2004 do not possess this feature.  I own Word 2011, and often use it to view documents sent to me by others, but I can’t use it as an efficient book-authoring tool because it amputated a feature I use a lot.

So the objection isn’t a simple “I like what I know, dadgumit!”, though of course I do like what I know (we all do).  The real problem is “I have built my workflow around these things, and breaking them is unacceptable”.

I hear similar complaints from my designer friends.  They’ve gotten so expert at using a particular piece of software that they bemoan even the hint that it will get a significant ‘upgrade’ — which often sounds like “break everything I do while likely adding a metric ton of crap I don’t need” to the power user — or even be discontinued.  Although for the power user, discontinuing is often preferable; at least when software is discontinued, it works exactly as you expect for as long as you can keep it running.

The web doesn’t inherently fix this problem, either.  When Twitter finally retired the API access points that Twitterrific 3 depended upon, my desktop Twitter client irretrievably broke.  Why not upgrade to the latest Twitterrific?  Because version 3 allowed me to display my timeline with all tweets collapsed, except for the currently-active tweet.  It was an incredibly compact, high-density, useful interface.  Version 4 does not permit it.  no other Twitter client I’ve tried permits it.  In fact, every other Twitter client I’ve tried has come off as cartoonishly clumsy and sprawlingly obtrusive when compared to the sleekness of Twitterrific 3 — including, as I say, the newer version of the very same Twitter client.

Granted, that’s more of a UI preference than a functionality problem, but UI preferences are often what drive us to use things, or not use them.  I’m much now less present on Twitter than I was before the break, and when I do go on Twitter, it’s either via the official Twitter client on my iPhone or via twitter.com itself on the desktop.

Getting back to my increasingly-aging OS version, it helps that, to echo one my long-time personal heroes Tim Bray, I have no particular interest in what’s come after Snow Leopard.  Dragging window edges might be nice, but I’ve lived without it for a very long time and rarely ever missed it.  (Not never, but rarely.)

Yes, the newer OS X versions have a whole bunch of hip new cloud features, but in my case that’s actually a bug, not a feature.  I instinctively distrust cloud-based storage for a variety of reasons.  The security concerns are pretty significant for me, and for that matter having everything stored remotely is a good idea only if I have 100% reliable network access everywhere I go.  Well, I don’t (and neither do you).

But of course the rest of the world is moving in a different direction, leaving people like me behind.  That doesn’t mean that the rest of the world has gone mad, or is wrong to move in the direction it does.  This isn’t a querulous demand that everything be frozen in the spot I like because if it was good enough ten years ago, it’s good enough now.  That’s not how the world works.  What I’m doing here, if I’m doing anything worthwhile at all, is documenting the point at which I came to the end of my box canyon, pulled out a guitar, and strummed a quiet ballad to the memory of my own forward progress.

As I say, I think all this happens to every power user at some point or another.  We become enmeshed in a web of interlocking dependencies, and sooner or later lock ourselves into a particular place.  The odds of it happening increase with age, but that’s less a function of biological age than it is elapsed time.  The younger you start, the younger you’re likely to reach this point.

I will have to exit my canyon eventually, of course — but when, how, and why all remain very open questions, and I do not look forward to the turbulent transition periods that are likely to follow.

Special thanks to Tim Bray, Grant Hutchinson, and Jon Tan for their insights and feedback on this post.


Catching Up: TWB #2 and #3

Published 12 years, 1 month past

I’ve been a little bit remiss in keeping up with The Web Behind.  I think that’s irony?  Or maybe it’s just a bummer.

Anyway, the second episode, starring Steve Champeon, was recorded and released last week.  Hear about SGML and HTML, progressive enhamcement, the inside and little-known story of the WaSP’s success, and more.  I learned at least one thing I had never heard before, and Steve’s just a fun guy to talk to regardless of topic, so hopefully you’ll find it as interesting as I did.

Next week, we’ll be recording our third guest, Dave Shea, on the afternoon of Wednesday, October 17th (a week from today!).  In addition to being a pretty darned fantastic designer, Dave is of course the mastermind behind the groundbreaking CSS Zen Garden.  We’ll spend our time talking about that and other products of Dave’s brilliance, like CSS Sprites and Chalkwork Icons, as well as find out what he’s been doing of late.  Jen and I hope you’ll join us!


The Scent of a Parent

Published 12 years, 1 month past

At least two of our three kids had a hard time being put to sleep at night.  It wasn’t so much that they objected to sleeping — once they were out, they stayed out all night — as they got very anxious about being left alone.  I’m not talking about one-week-olds here; I’m talking more the 3-9 month range.  We’d cuddle them to sleep, put them down very gently, cautiously trace a silent path along the non-creaking floorboards, noiselessly pull the door shut…and then the wailing would start.

But then we noticed that when we went back in to pick them and soothe them, they would take a great big indrawn breath, hold it, release, and settle down.  We wondered: could they be relaxing because they smelled us, and that scent was triggering feelings of comfort and safety?

From then on, we would put the little one down to sleep, take off our shirt, and arrange the shirt in a wide horseshoe around the head and upper body of the sleeping baby, at least a foot separated on every side to avoid smothering risks.  And…it worked.  There was a lot more sleeping and a lot less waking up wailing.  The scent seemed to give them what they needed to stay relaxed and asleep.

It probably won’t work for every child who has trouble sleeping, but if you’re having the same problem we did, try (safely!) surrounding them your shirt or some other article of clothing that smells like you.  It might be just what they need to settle down and let you get some rest.


Pricing ‘CSS:The Definitive Guide’

Published 12 years, 1 month past

When I announced the serial publication of CSS: The Definitive Guide, Fourth Edition, I failed to address the question how pricing will work.  Well, more decided to break it out into its own post, really.  As it turns out, there are two components to the answer.

First component is the pricing of the pre-books.  Roughly speaking, each pre-book will be priced according to its length.  The assumed base for the electronic version is $2.99, and $7.99 for the print version, with significantly longer pre-books (say, one where two chapters are combined) priced somewhat higher.  How much higher depends on the length.  It’s possible that prices will drift a bit over time as production or printing costs change, but there’s no way to guarantee that.  We’re basically pricing them as they come out.

At the end of the process, when all the chapters are written and bundled into an omnibus book edition, there will be discounts tied to the chapters you’ve already purchased.  The more chapters you bought ahead, the deeper the discount.  If you bought the pre-books direct from O’Reilly, then you’ll automatically get a discount code tailored to the number of pre-book you’ve already bought.  If you bought them elsewhere, then O’Reilly’s customer service will work to create a comparable discount, though that will obviously be a slower process.

The second component is: how much will the codes cut the price of the final, complete book?  That I cannot say.  The reason is that I don’t know (nor does anyone) what minimum price O’Reilly will need to charge to cover its costs while taking into account the money already paid.  I’m hopeful that if you bought all of the pre-books, then the electronic version of the final book will be very close to free, but again, we have to see where things stand once we reach that point.  It might be that the production costs of the complete book mean that it’s still a couple of bucks even at the deepest discount, but we’ll see!  One of the exciting things about this experiment is that even my editor and I don’t know exactly how it will all turn out.  We really are forging a new trail here, one that I hope will benefit other authors — and, by direct extension, readers — in the future.


‘CSS: The Definitive Guide’, Fourth Edition

Published 12 years, 1 month past

I’m really excited to announce that CSS: The Definitive Guide, Fourth Edition, is being released one piece at a time.

As announced last week on the O’Reilly Tools of Change for Publishing blog, the next edition of CSS:TDG will be released chapter by chapter.  As each one is finished, it will go into production right away instead of waiting for the entire omnibus book to be completed.  You’ll be able to get each standalone as an e-book, a print-on-demand paper copy, or even as both if that’s how you roll.  I’ve taken to calling these “pre-books”, which I hope isn’t too confusing or inaccurate.

There are a lot of advantages to this, which I wrote about in some detail for the TOC post.  Boiled down, they are: accuracy, agility, and à la carte.  If you have the e-book version, then updates can be downloaded for free as errata are corrected or rewrites are triggered by changes to CSS itself.  And, of course, you can only buy the pre-books that interest you, if you don’t feel like you need the whole thing.

I should clarify that not every pre-book is a single chapter; occasionally, more than one chapter of the final product will be bundled together into a single pre-book.  For example, Selectors, Specificity, and the Cascade is actually chapters 2 and 3 of the final book combined.  It just made no sense to sell them separately, so we didn’t.  “Values, Units, and Colors”. on the other hand, is Chapter 4 all by itself.  (So if anyone was wondering about the pricing differences between those two pre-books, there’s your explanation.)

If you want to see what the e-book versions are like, CSS and Documents (otherwise known as Chapter 1) has been given the low, low price of $0.00.  Give it a whirl, see if you like the way the pre-books work as bits.

My current plan is to work through the chapters sequentially, but I’m always willing to depart from that plan if it seems like a good idea.  What amuses me about all this is the way the writing of CSS: The Definitive Guide has come to mirror CSS itself — split up into modules that can be tackled independently of the others, and eventually collected into a snapshot tome that reflects a point in time instead of an overarching version number.

Every pre-book is a significantly updated version of their third-edition counterparts, though of course a great deal of material has stayed the same.  In some cases I rewrote or rearranged existing sections for greater clarity, and in all but “CSS and Documents” I’ve added a fair amount of new material.  I think they’re just as useful today as the older editions were in their day, and I hope you’ll agree.

Just to reiterate, these are the three pre-books currently available:

  • CSS and Documents (free)  —  the basics of CSS and how it’s associated with HTML, covering things like link and style as well as obscure topics like HTTP header linking
  • Selectors, Specificity, and the Cascade  —  including all of the level 3 selectors, examples of use, and how conflicts are resolved
  • Values, Units, and Colors  —  fairly up to date, including HSL/HSLa/RGBa and the full run of X11-based keywords, and also the newest units except for the very, very latest — and as they firm up and gain support, we’ll add them into an update!

As future pre-books come out, I’ll definitely announce them here and in the usual social spaces.  I really think this is a good move for the book and the topic, and I’m very excited to explore this method of publishing with O’Reilly!


The Web Behind #1

Published 12 years, 1 month past

Last Thursday was the first episode of The Web Behind, which was also episode #35 of The Web Ahead, and I couldn’t really have been much happier with it.  John Allsopp made it brilliant by being brilliant, as always.  To spend 80 minutes talking with someone with so much experience and insight will always be an act of pure joy. and we were beyond thrilled that he used the occasion to announce his Web History Timeline Project — a web-based timline which anyone can enrich by easily adding milestones.

The episode is up on 5by5, where there are a whole bunch of links to things that came up in the conversation; as well as on iTunes — so pick your favorite channel and listen away!  If you are an iTunes listener, Jen and I would be deeply grateful if you could give the show a quick review and rating, but please don’t feel that you’re somehow obligated to do so in order to listen!  We’ll be more than happy if people simply find all this as interesting as we do, and happier still if you find the shows interesting enough to subscribe via RSS or iTunes.

Guests are lining up for the next few shows, which will come about once every other week.  Jen is preparing a standalone web site where we’ll be able to talk about new and upcoming episodes, have a show archive, provide show information and wiki pages, and much more.  Great stories and perspectives are being uncovered.  Exciting times!


Words, Meet Data

Published 12 years, 2 months past

At lunch today (okay, by now it’s actually yesterday), I had some leftover time.  Not quite enough to play a shift on Radar Chaos: Hawaii Edition, sadly, but enough to run down the answer to a question that had been bugging me for a couple of days: if Mitt Romney is right that the 47% of people who pay no federal income taxes are all Obama voters that he needn’t worry about, what would the polls look like?

Finding out was as simple as hitting up Wikipedia, Gallup, and Excel.  Combining the two sources of information, I came up with this:

Income range% of pop.ObamaRomney
Less than $36,00040.1%56%37%
$36,000 to $89,99940.4%47%47%
$90,000 or more19.5%45%50%

I used those income bands because they’re the divisions used in the Gallup results, and I got the percentage-of-population numbers from Wikpedia.  For simplicity’s sake, I decided to assume that Mitt was off by a bit and that only 40.1% of the electorate was lost to him — meaning that any person (or household) making more than $36,000 a year but paying no federal income tax due to writeoffs, tax credits, and so on was still in play.

So once you combine the percentages in that table and add up the results, you get 50.2% of the vote for Obama, and 43.6% of the vote for Romney.  That was likely true immediately post-DNC but is a wider split than the most recent polls show, which are usually close to being tied at 47% each.  So we’ll note that I’ve given Obama 3% too many and Romney 3% too few, and apply that correction at the end.

The next step was to shift all of the 40% of voters below $36,000 a year into the Obama column.

Income range% of pop.ObamaRomney
Less than $36,00040.1%100%0%
$36,000 to $89,99940.4%47%47%
$90,000 or more19.5%45%50%

Once you do the math on those figures, the results are 67.9% of the vote for Obama and 28.7% of the vote for Romney.  Apply the ±3% correction from before and you wind up with Obama getting about 65% of the vote and Romney getting about 32%.  That’s substantially different than polls have been showing, so I’m going to go out on a limb and say that Mitt is mistaken about the composition of the electorate.

(Of course, as noted before, I spotted Mitt almost 7% of U.S. households by only shifting the bottom 40.1% to Obama instead of the bottom 47%.  You’re welcome, Mitt.)

Anyway, that was my every-half-decade analysis of public data, which I like to conduct both to look at things from a new angle as well as celebrate what the web has made possible: the ability to look deeper, to analyze, to ask questions and find answers, to verify.  Even hypotheticals.


Browse the Archive

Earlier Entries

Later Entries