Gadgets
Some gadgets I’ve bought / got over the last few years.
Some gadgets I’ve bought / got over the last few years.
When I analysed my HTTP log last week, I had another motive: are there enough people accessing my site on a mobile device? Or is it too small at this stage for me to care about?
Well, have a look at the numbers.
Windows | 98.4% |
Mobile | 0.6% |
Linux | 0.5% |
OS X | 0.5% |
Yes, there are more people accessing my site through a mobile device than there are using Linux or OS X. That’s shocking!
Now, I’m not saying that this is representative of the rest of the world or anything, but at least it tells me a couple of things.
Firstly, the whole mobile browsing thing is bigger than I thought it was. I started worrying about this a couple of months ago and got myself a HTC s620 phone and a BlackBerry (for free, through some innovative social engineering and smooth talking). It really does get pretty useful on the move… which is frankly anywhere outside of the home and the office, and sometimes even within. (It’s handier to read recipes off the HTC than a laptop.) Google had caught on to the whole mobile browsing trend a very long time ago, and are rather well positioned to make use of it.
Secondly, it means that rather than worrying about my site working on Linux or OS X (i.e. worrying about what plugins to use), I should worry more about it working on mobile devices (i.e. small screen, no Javascript / CSS).
That’s a fairly big shift in my thinking. Earlier, I had been all for shifting all the processing to client-side Javascript. Now it appears I need to design more towards plain HTML pages generated by Perl / PHP.
I went to the Google Chrome site.
Clicking on the “Accept and Install” button…
… automatically launched the downloader in Firefox…
… and (after a fairly short while) started installing the application directly. This may be the most painless install I’ve done in a while.
I clicked on “Customise the settings”
This is what it looks like.
And that’s it! It installs, and launches in just a few seconds. First impressions: the startup and rendering are really fast.
The address bar doubles up as a search bar. Very sensible.
Several nice features: incognito mode, application shortcuts, and developer tools.
The Javascript console has Javascript autocompletion! Watch out, Firebug.
The “Use DNS pre-fetching” looks interesting. My browsing certainly seems faster. Might be faster than Opera, even.
The “Show suggestions for navigation errors” feature.
There’s a task manager…
… that shows how much memory each site uses.
But not all is good. This jQuery animation on my site leaves trails behind.
And the text box resizing is good, but feels a bit… wrong, somehow.
Plus: I can re-import history, bookmarks, etc. from Firefox at any point, so I don’t have to worry about using this as a secondary browser.
Update (8am UK, 3rd Sep): Chrome.exe isn’t installed in your “Program Files” folder. It’s in your “Documents and Settings” folder, under “Local Settings\Application Data\Google\Chrome\Application”. (That’s on Windows XP. Not sure about Vista.)
There’s a Themes folder, so I imagine more themes should be on their way.
There doesn’t seem to be an about:config option. But there are a whole lot of others:
I’m not entirely sure if the last two work. Based on comments at John Resig’s blog. Go through the code to see if you can find more.
One out of every 5 hits to my site is from a bot.
I spent a fair bit of time this weekend analysing my log file for last month (which runs to gigabytes, and I ended up learning a few things about file system optimisation, but more on that later). 80% of the hits were from regular browsers. 20% were from robots. Here’s a sample of the user-agents:
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) Mediapartners-Google DotBot/1.0.1 (http://www.dotnetdotcom.org/#info, crawler@dotnetdotcom.org) Mozilla/5.0 (Twiceler-0.9 http://www.cuill.com/twiceler/robot.html) msnbot/1.1 (+http://search.msn.com/msnbot.htm) FeedBurner/1.0 (http://www.FeedBurner.com) Mozilla/5.0 (compatible; attributor/1.13.2 +http://www.attributor.com) WebAlta Crawler/2.0 (http://www.webalta.net/ru/about_webmaster.html) (Windows; U; Windows NT 5.1; ru-RU) Yandex/1.01.001 (compatible; Win16; I) ...
You get the idea. The bulk of these are search engines. Over two-thirds of the bot requests were from Yahoo Slurp. Now, this struck me as weird. If I take the top 3 search engines that are sending traffic my way,
Referral % | Crawl % | |
90% | 24% | |
Yahoo | 6% | 66% |
Microsoft | 3% | 0.3% |
Others | 1% | 9% |
The search engine that sends me the most traffic is being reasonably conservative, while Yahoo is just eating up the bandwidth on my site. Actually, this shouldn’t bother me too much. It’s not taking up too much bandwidth, or even CPU usage, given that all the bots put together make up only 20% of my traffic. But somehow… it’s sub-optimal. Inelegant, even.
So I decided to take a closer look. Just how often are they crawling my site?
Yahoo | Every 5 seconds |
Every 13 seconds | |
DotBot | Every 9 minutes |
Cuill | Every 9 minutes |
Microsoft | Every 18 minutes |
Feedburner | Every 18 minutes |
Attributor | Every 23 minutes |
Yandex | Every 27 minutes |
Look at those numbers. Yahoo is hitting my site once every 5 seconds. No wonder there’s a help page at Yahoo titled How can I reduce the number of requests you make on my web site? I followed their advice and set the crawl-delay to 60, so at least it slows down to once a minute.
Just that one little line change should (hopefully) reduce the load on my site by around 15%.
As for the other engines, I don’t mind that much in terms of load.
What’s amazing is the sheer number of bots out there. Last month, I counted over 600 distinct user-agent strings just representing bots. So it’s true. The Web is no longer just for humans. We do need a Semantic Web.
If you look at the number of entries I’ve written every month since 2005, there has been a clear decline. While I was averaging almost an entry a day in 2005 and 2006, that dropped to 2-3 entries a month since mid-2007.
This doesn’t bother me. I’ve been lucky to never have lost sight of the purpose of this website. This website is meant for me. Not for you, the reader. For me, the author.
Writing helps me clarify my thoughts. It forces me to learn. It gives me input from a broad audience. It preserves my thoughts. It kills boredom. But nowhere in that list is the need to entertain or enlighten you.
Not that I care less about you, but rather that I care more about me. If I start writing because I need to keep up the pace of output, the quality declines and I stop enjoying it. (This contradicts what I said earlier about Quantity Always Trumps Quality. Well, let me take back the “quality declines” part. If I stop enjoying it, it’s not worth doing.)
So I’ve been taking micro-sabbaticals. Just 3 posts between July – November 2007. No posts in June – July 2008. Whenever I have something to write, or feel like writing, I just go ahead.
It’s very relaxing. I don’t feel the obligation to keep up the readership. In fact, I don’t keep track of the readership, so that helps.
But in fact, while the number of posts has dropped, the average volume of writing hasn’t changed all that much. If you look at the size of writing (I write about 25KB worth a month), except for a blip near end-2007, it hasn’t changed that much. Those blips in the middle were me copying and pasting articles on Classical Ilayaraja, so they don’t really count.
In other words, I spend about as much time as before writing. I write about the same stuff as before. Except that I’m putting in a bit more work into each piece, and it takes longer.
It’s just a different way of doing things. I’m getting more out of building larger pieces than blogging fragmented threads, so I’ve moved that way. And in doing so, I need to take a break every now and then, because you just can’t get some stuff done at a stretch.
That’s fine by me, and I hope you don’t mind. In fact, as Asimov put it, “I’m not too proud to ask a favour. Please don’t mind.”
I’m writing this for two reasons. One is to tell you why you don’t see stuff regularly from me, and to tell you not to expect any regularity. Just subscribe to the RSS feed and we’re all better off.
The other is because I see bloggers abandoning some great blogs. (You know who you are.) I think it’s sort of like earthquakes and forest fires. The pressure to take a break from blogging keeps building up, and unless indulged in, bloggers quit. Something like Guru’s sabbatical is a great idea. It provides the option for the return, and reduces the cost of taking a break.
I have a new home page design. (If you’re reading the RSS feed, check the home page.)
One reason is that the old home page’s design sucked. Almost everyone told me that it was drab in black and white. Personally, I think the new home page sucks in terms of colours as well. There’s too many. I suck at picking colours. The only good thing about these colours is that I left it to the judgement of experts. These are the colours in Powerpoint 2007‘s “Concourse” theme color, and I’ve just lifted them.
So, no, it wasn’t the colours that drove the redesign. My last redesign was over a year ago. I changed the structure from a list of links to two lists: one where I was just linking to interesting sites (bookmarking, really) and the other where I was writing content. The purpose behind that was to allow me to focus on writing stuff rather than just bookmarking.
And that worked pretty well for me.
In the last several months, I find myself writing more code than articles. I don’t quite have a way of sharing that. The new home page has a section dedicated to the sites I’m creating, and hopefully, it’ll let me share what I’m doing in a clearer way.
Another problem I have is that in attempting to write articles, I’ve cut myself off from writing the frivolous. Sometimes, I just need to share something small, like “I bought an Acer Aspire 5715Z” without going into the details of it. That’s not a bookmark. That’s not an article. I need a space in-between.
And that’s exactly the space micro-blogging captures.
I created a Twitter account last month. With the huge number of problems that twitter has, such as downtime and the lack of IM support, I hadn’t written a single tweet. Day-before, I created an account at identi.ca and it works just fine. Given that I now have 4 mobile devices, I should be able to do some decent microblogging.
This is actually my third or fourth attempt at redesigning my earlier home page. Every time, I’d start with a redesign, struggle with it, try to get things just right, and then eventually abandon the effort after a few weeks. This time, I succeeded — within a matter of three hours on my flight from Washington DC to London.
Two reasons. Yesterday, I found this CSS framework: 960.gs. It’s a grid system. And grids are absolutely the best way to get layouts for the web.
The other is an article from Coding Horror titled Quantity Always Trumps Quality. If you try to do stuff quickly, you end up doing better stuff than if you tried to do better stuff. To hell with perfection. Just get it out of the door.
Opening programs from the Start – All Programs menu is painful. For many years, I relied on the quick launch bar.
But it’s space constrained. There are only so many applications you can place there. I want space enough for frequently used documents as well. Recently, I decided that I need all the space on the screen. So my task bar is on auto hide, and that makes the quick launch bar a little tougher to use as well. And finally, I can’t use the quick launch bar with the keyboard. That’s important.
So I switched to the pinned menus on the Start Menu.
This works better with the keyboard. I access Word, I just type the Ctrl-Esc, W. Excel: Ctrl-Esc, E. But I run short of letters soon. I have trouble between Powerpoint and processing, for instance. And I can’t store documents.
I tried Enso Launcher and Launchy, both of which are great products, but I just can’t stand the thought of them hogging up all the memory that they do. Launchy in particular.
Given that I almost always have one or two command prompts open, I write my own little tool to do the job now. It’s a command line launcher I’ve written in Perl. I call it “o”. At the first run, it indexes my hard disk. (Well, not all of it. I’ve picked what I need.) Now, if I want to read Harry Potter and the Deathly Hallows, I just type:
> o harry potter hallows
If I wanted to pick a Harry Potter book, I could:
> o harry potter 0: D:/Entertainment/Books/Hugo Awards/2001 - J K Rowling - Harry Potter and the Goblet Of Fire.rar 1: D:/Entertainment/Books/J K Rowling.1.Harry Potter and The Sorcerer's Stone.pdf 2: D:/Entertainment/Books/J K Rowling.2.Harry Potter and The Chamber of Secrets.pdf 3: D:/Entertainment/Books/J K Rowling.3.Harry Potter and The Prisoner of Azkaban.pdf 4: D:/Entertainment/Books/J K Rowling.4.Harry Potter and The Goblet of Fire.doc 5: D:/Entertainment/Books/J K Rowling.5.Harry Potter and the Order of the Phoenix.pdf 6: D:/Entertainment/Books/J K Rowling.6.Harry Potter and the Half-Blood Prince.pdf 7: D:/Entertainment/Books/J K Rowling.7.Harry Potter and the Deathly Hallows.pdf 8: D:/Entertainment/Books/J K Rowling.The Harry Potter Encyclopedia.doc 9: D:/My Pictures/2005-06 London/2005-07-16 06 Waterstones Oxford Street Harry Potter release.JPG ... more > (0-9, q, any word): prince D:/Entertainment/Books/J K Rowling.6.Harry Potter and the Half-Blood Prince.pdf
The program lists the files matching the words I typed, and lets me filter within that.
I just wrote this yesterday, and already, I’ve used it dozens of times. Here’s the source.
PS: While I was at it, I downloaded a Flickr uploader for Perl. So I can now upload images with the command line. This easily saves me at least 5 minutes per article.
Some years ago, a friend asked me to write about how I manage my time. It seemed to him I was doing a good job of it, given that I had time to pursue my interests.
It’s something I tried to do consciously. Every few years, I used to go down the route of “time management”. I’d read stuff and try it out.
But over time, I’ve come to believe that “time” is not really “manageable”. Think about it: are most of your actions planned? Me, I just react out of habit, no matter how well planned I try to be. What I do is largely driven by what I’m in the habit of doing.
Not that time management advice is useless, but you’ll end up not following most of it. You act on a fraction of what you read. A fraction of that turns into a habit. That’s still useful. But the point is, rather than pick up 10 tips on time management, it’s more useful to pick one or two pieces of advice that you like, and are likely to act on. (You won’t do things you don’t like anyway.)
So time management is about acquiring habits that save time (and is not about reading tips that are tough to habitualise).
That begs an obvious question and a subtle one. The obvious one is what habits save time? The subtle one is why save time?
Why save time?
You’ve probably heard the phrase “time is money”. For a while, I took that statement literally. I tried to act by assigning monetary value to my time, and by doing the most profitable thing.
I was making Rs 10,000 a month at that time. That’s about Rs 50 an hour. So I figured I wouldn’t do anything that earned me less than Rs 50 an hour outside of work. I mean, if I’m making Rs 50 an hour at work, why should I make any less outside?
One small hitch. I wasn’t making any money outside of work. In fact, I was spending money. So unless I took up a night job, or started freelancing, that rule of thumb was useless. (Besides, I didn’t want to spend time outside of work working. I wanted to have fun. Watch movies, for instance.)
So I needed a different way of handling this. If I spend 3 hours at a movie for Rs 60, that could be a benchmark. If something’s more expensive than Rs 20/hour, I’d rather watch a movie. If it’s less expensive, I’d do that. Take books, for instance. A typical novel would cost Rs 180 and I’d finish it in 12 hours. At Rs 15 / hour it’s a more economical way of spending time.
Except that it doesn’t quite work that way. How much fun I had, had nothing to do with how much I paid for it.
Frankly, in daily life, I don’t think you can treat the phrase “time is money” literally. Time has nothing to do with money.
Time is like money in a different way, though. By itself, it isn’t worth much. Think about it. What can you do with money? Buy stuff you like. And if you can’t, it’s useless.
If all you need is onion soup, why throw it out for sesterii?
Time’s like that. What can you do with time? Do stuff you like. And if you can’t, it’s useless.
There are usually two reasons people want to manage time. One is where they don’t enjoy something, and would rather spend as little time at it as possible. But look, if you don’t enjoy that stuff, time management isn’t your problem. You need to get out of your job or whatever. Managing time more efficiently is simply going to let you efficiently waste your time. (Though in the short run, that’s probably the best you can do — efficiently get rid of nuisances. I’ll talk about that shortly.)
The other reason is where they have too many (enjoyable) things to do, and can’t do all of them. But hey, if you have too much enjoyable stuff, you don’t have a problem! In a way, this is like wanting to buy many things and not having enough money. With money, you can earn more or wish for less. With time, you just have to wish for less. (Living longer may not be a practical option.) Just pick anything you like to do. Don’t regret the stuff you can’t. You only have 24 hours, and you’re among the lucky few who can fill it with things you enjoy.
So, I’m effectively saying, there’s no point trying to do things more efficiently in the long run. Picking what you do is more important than doing it efficiently. (That roughly correlates to the third habit in Stephen Covey’s Seven Habits: Put First Things First. It’s the key to time management.)
So, how do you pick what to do? You’d probably want to pick something that you like, or something that’s good for you.
But it’s tricky to predict what you like.
It’s just as tricky to figure out what’s good for us. We have no clue what will happen tomorrow. We have no clue what consequences our actions will have. (Read The Black Swan to get a flavour of that.) So we’re really guessing and groping — though sometimes with a lot of confidence.
On the whole, it’s difficult to figure out what to pick. So what do you do?
This is completely outside the realm of time management. This is about choice. I have a few (bad) habits that guide me.
Those are my principles. (But like Groucho Marx, I do have others.)
Follow your moods
There are times when people do certain things better. I’ve heard some people study best early in the morning. Others study best late at night. I don’t know if there’s any physiological benefit one way or the other, but even if it’s psychological, it makes a huge difference to study when you think you’ll learn better.
Sometimes I’m in a mood to write articles. When I do, the article usually writes itself. If not, I could spend days at it without any progress.
If there’s any reality to this, then the best thing to do is to do what you feel like doing. You’ll naturally accomplish this faster. That’s typically what I do when I’m given any work. I usually wait until I just feel like it. Then it’s usually a matter of a few hours before the job is done. Sometimes the mood doesn’t quite arrive before the deadline, in which case there’s always inspiration.
Seriously: do what you feel like doing the most at the moment. That’s a great way of becoming more efficient.
In fact, I would go as far as saying, mood management is more important than time management. Moods are more precious than time. If you’re in a mood to call people, pick up the phone and talk to folks you’ve been out of touch with. That mood is rarer than the time to make calls. (At least for me, the reason I am not in touch is because I’m not in a mood — not because I don’t have time.)
Optimise that mood. Do what you’re in a mood for. And when your mood changes, go with the flow. Do a lot more of what you feel like doing. You’ll do more (which is probably good), and of what you like (which is certainly good).
Work less
I’ve talked about this in Less is more. At the end of the day, 90% of the stuff you do is useless. So why do it? Just focus on the 10%.
Procrastinate
I can’t put this better than Paul Graham’s article on procrastination.
Good procrastination is avoiding errands to do real work.
You won’t know what the important 10% until much later, so you may as well wait to find out if it’s important, and then do things.
So what am I saying?
Think about it.
I have the habit of reading books on the screen. It’s something that started from the early 90s, when I got a copy of The MIT Guide to Lockpicking. Since I didn’t have access to a printer, I’d spent hours poring over the document on the screen. And then I discovered Project Gutenburg…
I’ve heard many people ask if I have a problem with this. Personally, no. I’ve been staring at screens from the age of 12, and I’m quite used to it. My job requires me to stare at a screen for most of the day anyway. (I’m not saying there’s no a strain on the eye. My eyes are red at the end of the day. I don’t know if they would be less red if I’d been staring at paper instead of a screen. But my glasses have remained roughly the same power over ~15 years, so it’s probably not ruining my eyesight much.) For those who are like me who reads all the time and spends a lot of more time facing their laptops, you might want to check this sd card, a very good quality card that can be handy in the future.
To me, the main advantage of a book is that a book is a lot easier to handle.
None of these is possible on a computer.
Or is it?
On a desktop, I agree — it’s impossible to read for long. Your back would kill you. I’ve done it for many years, and it’s not worth the pain. With a laptop, however, you can lie down on the bed or sofa and read. It’s a huge advantage. (For just this one reason alone, I’d suggest that everyone buy a laptop.)
As for carrying books, I carry my laptop to work every day, so there’s no incremental burden. But if you weren’t doing that, it’s probably not a great idea. When I travel on weekends, I’d much rather take a physical book than a laptop. This is probably the single biggest problem with a laptop — that it doesn’t travel as easy as a book.
That’s probably offset by the advantage that a laptop isn’t really a book — it’s a library. I don’t need to decide which book to read. I can bring them all along, pick what I like, and when I’m done, move on to the next. And I’m not restricted to books. I have a fairly good collection of movie scripts and comics. Depending on how long I have on the train, and my mood, I can pick between these.
One thing that makes a laptop a lot easier to use is to rotate it.
If you hold the laptop this way, it’s surprisingly easy to handle. I find that I can read this way even when standing on a crowded train — which is as much as I can expect from any book. (Strangely enough, it doesn’t seem to attract too much attention on the train either.)
If you have a decent graphics card, you can rotate your screen using the graphics properties. (I’m sure there are are hotkeys to do this. My two-year old daughter somehow knows them, and manages to turn the screen upside down in a fraction of a second, while I spend then next 5 minutes struggling to restore an upside-down screen.)
If not, you can just use a PDF reader (like FoxIt, which is better than Acrobat Reader) to rotate the page by 90°.
A laptop takes care of the problems of bookmarking and load time as well. I usually leave mine on hibernate, and it takes about 10 seconds to open up to where I left off. Sometimes I just leave the laptop on in the bag — for example if I’m changing trains.
The other solution, of course, is to try an ebook reader. Given my laptop, I haven’t tried one. But other than the ease of holding it, there’s no big I see.
The other question is, how do you find ebooks?. Other than buying them, I find that the easiest option is to search on Google. A surprisingly large number of them are indexed.
Here’s a custom search engine for ebooks.
I’m thinking of buying a digital keyboard with touch sensitive keys and MIDI support. (The one other thing that I thought off — a pitch bend — puts the keyboards out of my budget.)
I’d like a good deal. (Who doesn’t?) But I don’t like to spend time searching for one. (Who does?)
So here’s the plan.
Firstly, I’ll restrict my search to Amazon.co.uk. For electronics items, I haven’t found anyone consistently cheaper. Tesco has some pretty low prices, but not the range. eBuyer is pretty good, but not often enough. Google Products is the only other one that gets me consistent lower prices, but I’ve had my credit card identity stolen once before while shopping online, so I’d rather not pick any random seller listed on Google.
Amazon has a secret discount. You can search for electronics items with 30% off or more. And then you can narrow it down to Sound & Vision > Musical Instruments > MIDI Keyboards. Further cap a 100 – 200 GBP restriction. That leaves us with one product:
While that matches my criteria, I’m in no hurry and can wait for more offers to come up. But I don’t want to keep checking this page every day. So, RSS to the rescue. You probably think I can’t get enough of RSS feeds. And you’d be right. The thing is, as an attention mechanism, it is incredibly powerful, and I never cease to be amazed that the things it lets me do.
Using my XPath checker and a bit of trial and error, I figured all product links link to “amazon.co.uk/dp/…” with a <span>
inside. So this XPath gets all the links:
//a[contains(@href,'/dp/')][span]
And I made an RSS feed out of that using my XPath server and subscribed to it on Google Reader.
Combining a bunch of such searches, I have a shopping folder on Google Reader has all the items I’m searching for. Now that’s lazy bargain hunting.
Which is all very fine. But given that I’m buying a car in a hurry right now, and I’m not doing any bargain hunting, it’s a classic case of being penny-wise and pound-foolish. Sigh…