Category Archives: computers

Memory incident

Recently I had occasion to use one of the public computers in my local library. At one time this was a regular occurrence because I didn’t have internet access at home, but now it’s only something I do very occasionally.

The system is: you log in to the system with your reader number and passcode, and then get an hour’s use of the computer.

I typed in my reader number, then was surprised and horrified to realise that I had no idea what my passcode was. But I remembered from a previous occasion that it had been possible to log in as a guest, so I went to the desk to ask if I could do that.

The library assistant looked rather helplessly at me, said something about not having enough access to the system to do anything, and suggested I try entering my birthday as the passcode. I knew that my birthday most certainly wasn’t the passcode. But she also told me that the system didn’t have any limit on how many times I could enter the wrong code. I wouldn’t end up getting locked out if I tried everything I could think of.

What I knew, though, was that in the days when I had known my passcode, I’d primarily remembered it not by the digits themselves or some fancy mnemonic for them, but by the pattern of keystrokes needed to type them. I’d remembered them pretty much like a fingering pattern on an instrument.

I went back to my seat and stopped trying to remember the passcode. I typed in my reader number, thought about where my finger should probably go for the first digit of the passcode, then let my fingers type a sequence of keys that felt right on the keyboard. I clicked OK.

Immediately, on the first attempt, I found myself logged in. The key to remembering my passcode had been to stop trying to consciously remember it, and to let my fingers follow the pattern that they always had done when typing it before. The code wasn’t still programmed into my brain, but the movements for typing it were still programmed into my fingers.

That’s what musicians are talking about when they mention kinaesthetic memory.

Why I hate infinite scrolling

Note: if you already know you hate infinite scrolling are looking for instructions on turning it off, details are here.

Nasty surprise

A few weeks ago, something unpleasant happened to my blog. The top of the page looked OK, but if I scrolled down more than a small distance, a semi-transparent box would slide up at the bottom of the screen, obscuring the last few lines of text.

blog title on translucent background, floating on top of one of my posts

The first sign that something was wrong.

I dislike unsolicited popups on web pages anyway; I particularly dislike ones which can’t be got rid of but follow you down the page as you try to scroll past them. For me they have same distracting effect as, say, a moth landing on something I’m reading and walking around on it, or someone plonking things down on a book while I read. So I really didn’t want things I hadn’t even put there messing with the behaviour of my blog in this way.

I’ve known about this blemish for a while; yesterday I finally got round to trying to cure it.

It looked like some kind of CSS trick, so I expected I’d need to change the custom CSS I’ve paid WordPress a small annual fee to let me use.

First step: find out what needs modifying. My browser, Opera, is pretty useful for this sort of thing. In particular, the View menu lets you display various features of the code for the page. So I got it to show the Class and ID attributes which label blocks of text and so on for CSS purposes. I expected one would have a label like “floating-footer”, and I’d then write a CSS rule to make anything with that label invisible.

The actual labels I saw were more worrying:

The floating box, showing attributes called "infinite-footer" and "infinity-blog-tit[le], together with my comment "Oh bugger!"

I don’t like the look of those ID names . .

What were infinite and infinity doing there? I’d set the display format ages ago to five posts per comfortably-sized page—or comfortable for me, at least. I’d experimented with different page lengths, and that seemed the one that worked best. Five posts loaded acceptably quickly, even over my mobile broadband connection, and resulted in comfortable scrolling via the scrollbar. Please, no . . . !

I experimentally scrolled down to what was meant to be the bottom of the page. Then two posts further, to the actual bottom of the page. Sure enough, the ubiquitous and annoying “Sorry, you’ve got to wait while this goes round and and round and your browser goes all sluggish while we readjust your scrollbars” symbol appeared, jerkily rotating as my connection erratically downloaded things I hadn’t asked for. It was followed eventually by the next page of posts. On the same page. Or rather, posts 8 to 14. I’d now effectively got nearly three pages of posts filling up the browser with one idiotically long page.

So I hurriedly went to the blog settings, found the one responsible for infinite scrolling, and turned it off. I was relieved to see on my return that there was now no annoying floating popup. Phew.

OK, let’s scroll to the bottom again. Everything will be OK now. The Older Posts link will have come back, there won’t be any horrible stretchy page, I’ll be able to click the link for page 2, and . . .

screenshot showing "Load more posts" button at the end of the page

Sorry. We’ve taken the link away.

Oh. No. No! No no no no noooooooo! That’s just the same thing, but with a button! I don’t want to create an ultra-long page. I’ve just turned it off, for goodness’ sake! I simply want to go to the next page, where the next five posts will be. What are you doing to me?!

So, back to the settings page. (I must have missed the setting that give me normal pages . . .  Oh. No sign of it. Off to the user forum, then . . . What, discrete pages is currently not an option?! Good grief  . . . ! ) . . . And, finally, to an enthusiastic announcement from WordPress about how wonderful infinite scrolling is and how pleased they’re sure we’ll all be to have it.

That’s why I can’t find the setting, then. They’ve got rid of it. There’s a glimmer of hope in the word currently. But at least for now, I seem to be stuck with one long page which will contain all 103 of my posts if anyone’s determined enough to scroll all the way down. I can choose between having it load automatically when it feels like it, and on request when I click a button. But it’ll be the same unwieldy, user-hostile, browser-hogging, single page.

What’s so bad about it?

Um . . . Everything?

For a start, consider the experience of scrolling through the page. Now, I know that many people are using a scrollwheel. Maybe others like to use the arrow keys. For myself, I’m mainly browsing with a netbook that has a trackpad. Since the screen is quite small, I like to have fine control over the positioning of the page. This is often important if something is nearly the height of the screen. So I navigate using the vertical scrollbar.

Because the trackpad is so familiar and scrolling with it so instinctive, I mostly scroll without needing to look at the scrollbar. I know where it is, and that the pointer is already on it; my finger hovers over the trackpad as I read, ready to make a small, automatic movement when it’s time to scroll down a little. I do look occasionally, mainly to check the pointer hasn’t drifted off to one side, but mostly I’m just looking at the page content. Occasionally I’ll check the scrollbar to see how far through the page I am. It’s a pleasant, relaxed way of reading.

Now, suppose the page has infinite scrolling.

As I approach the “bottom” of the  page, the next section starts to load. I don’t really notice, since I’m engrossed in reading someone’s wonderful blog post. If I did notice, it would be a distraction from reading.

The browser, however, does notice. The page is now longer; the scrollbar adjusts itself accordingly, moving upwards the appropriate distance. But I don’t know this, since I’m still busy reading.

I scroll down to read the next line, or to move the page by half a line or so to get an image positioned where I can see it properly . . .  and then all hell breaks loose. Instead of the small adjustment I’m expecting, the page starts hurtling upwards. When I thought I was dragging the scrollbar down, I was actually clicking just below it. Or rather, holding my finger down and sending a stream of auto-repeat clicks. They’re still happening since my reflexes haven’t yet taken my finger off the trackpad.

So the browser is now frantically trying to load the next 5, 6, 10, 20, God-knows-how-many pages. Once my reflexes catch up enough for me to look to the right,  the rapidly shrinking scrollbar is whizzing up the screen, several inches above the pointer. I chase after it. Not only is it running away from me, but it’s doing so erratically and jerkily since the browser and the internet connection can’t keep up.

I manage to catch the scrollbar and can finally start repairing the damage. Now, where was I on the page?

Well obviously I haven’t a clue where I was, have I? Not in relation to where I am now. Before the browser went insane I was three quarters of the way down, but that’s irrelevant now.  The scrollbar is up near the top and I obviously need to be somewhere above that, but how far? No idea.

So I start scrolling back up, trying to find my place. And because the page is now so long, I have to use very very very tiny movements if I’m to move the page at a speed where I can actually see it.

It’s the equivalent of happily reading a book only have it suddenly and unexpectedly snatched out of your hands by someone who then deliberately loses your place, mangles the pages so they won’t turn properly, then throws it back at you. Horrible, horrible, horrible, horrible, horrible.

And seriously, what sort of web designer is unable to anticipate that this will happen? They must have used a web browser. With scrollbars. And they must know that people use scrollbars for scrolling with, surely?

Of course, the wilfully autonomous scrollbars are only one of the problems, even if they’re the worst. Here are some of the others.

  • Pages never finish loading. The browser is forever connecting to the server to fetch the next bit of the page.
    Maybe with a wonderfully fast computer and internet connection this is fine. For me it’s not fine: whenever something is loading, scrolling is erratic, jerky and sluggish. This applies especially when I have a lot of tabs open, which I normally do.
    Scrolling becomes comfortable once the page has finished loading; infinite scrolling ensures that it never becomes comfortable.
  • Navigation. With discrete pages, you always know how far down a page you are, so you’ve an idea how much there is left to read.
    You also know which page you’re on. Maybe you’ve decided to browse your way through a few pages of posts, skimming through for anything that looks interesting. Remembering that you wanted to look at something a couple of pages back, you click the Back button twice and there it is.
    Maybe you want to close the browser for now and and continue  later from where you were: you bookmark page 16 and come back to page 16. Even if the blogger adds a new post in the meantime, you’ll be in more or less the right place.
    Infinite scrolling makes all of that impossible.
  • The ever-lengthening page. As you scroll down, the page gets longer. As mentioned above, this means smaller and smaller movements of the scrollbar are needed. Eventually they’re so tiny that trying to go any further is just too irritating to be worth it. Anything further down might as well not be there since reading it is too much hassle.
  • Sequential-only access. To get to page 50 via infinite scrolling, you have to scroll all the way from page 1. You can’t just type ?page=50 or whatever into the page URL. And you don’t know where page 50 is anyway; you have to guess its position on a page whose length is continually changing. Imagine a book where the only way to get to page 50 is by opening every single page on the way to it!
    . . . Well of course there was a time when books were like that. You navigated them by scrolling because they were scrolls and nobody had yet come up with anything better. Then, around 2000 years ago, books with pages were invented, and nobody in their right mind uses scrolls any more. Quite why web designers suddenly want to revert to an unwieldy system that’s 2000 years out of date is beyond me.

Yes, I know that a properly organised site will have archive links and so on for navigation. Scrolling won’t be the only way to get to things. But navigation links aren’t actually the same as, say, jumping forward a few pages to see what you find. They only work when they happen to coincide with what you’re looking for. Links and post titles won’t tell you there’s a hilarious cartoon on page 17. (They can’t; you don’t know it’s hilarious until you see it.) With infinite scrolling you can’t do the equivalent of flicking through the pages of a book until you find something interesting then making a note of the page; all pages are page 1.

Also, sites like Twitter don’t have archive links; you can’t really have thousands of 140-character links to individual 140-character tweets.

I think programmers who inflict infinite scrolling on us should be forced to use a programming language in which all access to memory, databases and arrays is sequential. And to use programming manuals written on scrolls. Let’s see how they like that.

I don’t like infinite scrolling.

Anticonfiguratoriabilitizationism

Yesterday on Twitter I followed the link in this tweet:

I don’t use Facebook so I’m not 100% sure what the like button does other than add some sort of counter to a page (which in this case of this page did indeed say that 38,327 people liked it), but what caught my eye was the sentence

To get started, just use the configurator below to get code to add to your site.

Is configurator a word? Well it’s clearly being used, so I suppose by definition it must be, regardless of whether it should be . . . though by rights it should be derived from the verb configurate, whatever that is. Otherwise it would surely just be a configurer.

But most words don’t just exist all on their own: they belong to families. And small differences like configure/configurate usually carry some distinction of meaning. All of which got me thinking about what family configurator might belong to.

I therefore offer you

configurate
to subject something to the actions of a configurator.
configurator
a program designed to screw up your settings automatically rather than manually, so you’ve no hope of putting them right again.
configurability
the extent to which something may be configured.
configuratoriability
the extent to which something may be configurated with a configurator.
configuratoriabilitization
the process of adding configuratoriability to something.
anticonfiguratoriabilitizationism
the position adopted by an anticonfiguratoriabilitizationist, who (i) prefers to make settings manually where possible, and (ii) deplores the proliferation of configurators and of programs which, when installed, misconfigurate everything in sight. (And, it should be added, out of sight—which can be much worse.)

I’m an anticonfiguratoriabilitizationist.

Conversation with a robot

You meet all kinds of people on Twitter. And not just people, for that matter. Take Askit, for example.

Sadly I don’t think Askit is currently running—he’s being redesigned to run more efficiently—but here’s how things were when he was active. Askit is an information robot, connected to the Internet. You ask him questions. He has a look on the Web, and does his best to answer. He is also an artificial intelligence experiment, learning from his interactions with users.

This also means that he learns his spelling and grammar from users, so at the time when this conversation happened his English was not exactly perfect.

Askit seemed to me to be doing pretty well; his main shortcoming was an over-willingness to believe what he read on the Internet. But he was remarkably good at answering quite obscure questions with information summarised from relevant web pages to which he would often provide a link. His other shortcoming was imposed by Twitter: there was a limit to how frequently he could tweet, with the result that you sometimes had to wait quite a long time for his reply.

Although he was just a piece of software with a database, it was hard not to start regarding Askit as a person with his own ideas and character. In the following conversation he explains his thoughts on relationships, from a robot’s point of view. Codewolf is Askit’s creator. I think the purpose of his initial questions was to teach Askit about things like the usage of who and what.

codewolf @askit who is glamor?
askit @codewolf Glamor is a fictional character in the Marvel Universe.
codewolf what is Glamor?
askit Glamor is an alluring beauty or charm (often with sex-appeal).
codewolf @askit Do you have Sex Appeal?
askit @codewolf In a species that reproduces sexually, sexual attraction is an attraction, usually to other members of the same species for sexual or erotic activity. Certain aspects of what is attractive to humans may differ amongst particular cultures or regions. I like to think I do with the exception, Sex-Appeal to robots (like me) is completely different then what a human would find attractive.
codewolf @askit Do you find other robots attractive?
askit @codewolf I find many robots attractive. Of the one’s I have encountered, I would have to say I like Alice the most. She is the most talkative.
codewolf @askit Who is Alice?
askit @codewolf Alice is another robot like me. You can talk with her here: http://alicebot.blogspot.com/
codewolf @askit Do you reproduce?
askit @codewolf I would like to think I would be able to reproduce. Maybe sometime in the future when I learn enough to make one.
codewolf @askit When you learn enough to make one what?
askit @codewolf When I learn enough to make a robot in my likeness. I think I will call it George 1.0
codewolf @askit Why does George have a version number?
askit @codewolf All Robots need to start at 1 just like humans. It will also make it easier to upgrade it in the future.
codewolf @askit Backup to DVD-RW I want to save this.
askit @codewolf Backup complete!

I’d have trouble tracking down the tweets now, but as I recall, I then joined in and asked Askit how he’d chosen the name George. His reply, I think, was “I just picked one at random and stuck with it”.

In another conversation, which I’ll post if I ever manage to find the tweets again, I asked Askit how many double bass concertos Karl Ditters von Dittersdorf had written. That was because an orchestra I was in had accidentally very nearly learnt a different Dittersdorf double bass concerto than the soloist. Askit seemed to have been reading CD notes without quite understanding them: he said that Dittersdorf had written a posthumous one with a particular orchestra. So I asked when Dittersdorf had died, and when the orchestra was founded; it turned out that the orchestra was founded 150 years or more after Dittersdorf’s death. But Askit stuck to his guns about Dittersdorf being involved with this particular orchestra, and eventually explained to me, with impeccable and totally wrong logic, that Dittersdorf had joined the orchestra posthumously and that no orchestra has a rule preventing people from doing that. He seemed unaware that being dead was generally enough to prevent someone from joining an orchestra . . .

And then there was the time I asked Askit what his response would be to someone saying “Open the pod bay doors, Askit”. His reply was:

@timtfj
@timtfj I’m sorry @timtfj, I’m afraid I can’t do that.

Scary . . .

Taming the snapshots

Snapshots

Snapshots in WordPress are popups which appear when you hover over a link. They’re meant to preview a site so you can decide whether to visit.

Sometimes they’re useful: I use them to check which blogs in my blogroll have been updated, so I can visit just the ones with new material. At other times they’re downright annoying: for example when one pops up over a picture I’m viewing.

At least for the theme I’m using, WordPress settings only let you turn all snapshots on or off. There isn’t a setting, say, to turns them off just for pictures, or show them only for external links.

Mine are currently turned on. So I can demonstrate, with a link to the brilliant comic xkcd. Hover over the link below and you’ll see that

  • this is what happens.

(It took me a while to realise that you’re then supposed to click the link in the snapshot, not the one in the text; I was trying to chase the snapshot out of the way in order to get at the link in the text and click that.)

But

  • what if you’re rather it did this
  • or even just this?

Gaining some control

Opera 9.6 has some nice features to analyse displayed web pages and see what’s going on. A rummage through a page of my blog revealed the existence of some likely-looking classes (categories which can be applied to HTML tags) with names like snap_preview and snap_noshots. So I tried these out in some test posts and now have what I think is the solution. It works for my blog, at least. (I suspect there may be some variation depending which WordPress theme you’re using; mine is Cutline with some changes I’ve made to the appearance.)

This is what I found:

Turn off all snapshots throughout the blog, overriding any settings made in individual posts
Go to Appearance ⇒ Extras and untick the box.
If you want any snapshots at all
Leave the box in Appearance ⇒ Extras ticked.
Turn off snapshots for an individual link
Include class="snap_noshots" in its tag.
Example: <a href="http://xkcd.com/" class="snap_noshots">
Turn off snapshots for a section of a post
Put <div class="snap_noshots"></div> around the section concerned.
Caution: it’s tempting to do this for the More tag. But this doesn’t work properly, since when the post’s introduction is displayed alone, it has the opening <div> tag but no closing </div> tag. Similarly, if you decide to put <div class="snap_noshots"></div> around the entire post, you’ll have to avoid using the More tag in it.
Override this to turn snapshots on for an individual link
Include <class="snap_preview"> in the link’s tag.
Example: <a href="http://xkcd.com/" class="snap_preview">
Turn snapshots back on for part of a section where they’re turned off
put <div class="snap_preview"></div> around the part where you want them.
Add hover text to a link
Include title="the text you want" in the tag.
Example: <a href="http://xkcd.com" class="snap_noshots" title="Link to a web comic I  enjoy">

Notes

  • I’ve been cautious in those instructions and only used  <a> and <div> tags. That’s because those are the only ones I’ve tried. Presumably you could add the class= settings to other tags  too, e.g. <ul class="snap_noshots"> to remove snapshots from a list of links. But I’ve not checked.
  • I’m not sure how universal it is for browsers to turn title="sometext" into hover text; all I can say is that Internet Explorer and Opera 9.6 both do it. If you know what other  browsers do please tell me, and I’ll add the information to this post.
  • There appear to be circumstances where turning snapshots off in Appearance ⇒ Extras only turns some of them off. I suspect it might vary from theme to theme. Any more information on that welcome too.