I bought a Kindle a few months back and I love it! It is the first gadget that I've truly connected with and I think I would be more upset about losing it than my laptop, But, I am deeply conflicted about the whole ebook thing.
The Kindle is damn fine: the hardware is nearly perfect, of course it could always be smaller, lighter, and have a bigger screen (and I never use the keyboard, so that is dead space to me), and the software is pretty good, although there is room for improvement here (it crashes more often than I'd like, viewing two column PDFs is pretty poor, it takes ages for big files such as audio books to appear, etc.). So, I have no big complaints with the device, and it is extraordinarily convenient. Being able to buy books and read them in seconds is amazing, it's great for travelling with - I recently travelled round India with mine using the Lonely Planet PDFs (pro tip: avoid the LP Kindle editions like the plague) and a whole bunch of books I would not have been able to carry otherwise, and it's a nice reading experience in a way I can't quite put my finger on.
BUT, I'm already fighting the urge to buy paper copies of my ebooks. Having real books is so nice, it's something I grew up with, and having a book case full of good books to browse and just have around is really important to me. There is something aesthetic about all the colourful spines, as well as the ease of browsing and the serendipity factor of some old book jumping out at you for a re-read. I don't see the Kindle coming close at the end of the day, or anyway to get around this fundamental barrier. I am already using the Kindle to read books I don't think I'll want to read again or have around, and saving the good ones for the real thing.
And then there's the cost. On Amazon, Kindle books are only a whisker cheaper than their paper equivalents, which to me means someone is making a big profit over the paper, and I would bet anything you like it's not the author. So I feel like I'm paying a premium for an inferior product. If I lived in the UK, I would probably only use the Kindle for travelling.
However, it's a lot cheaper than buying the book in New Zealand (where books are extortionately expensive) and I don't need to wait for weeks for them to turn up by mail, so here and now, the ebooks have an edge. If you live in NZ, buy a Kindle, you'll save a fortune.
I'm a research engineer at Mozilla working on the Rust compiler. I have history with Firefox layout and graphics, and programming language theory and type systems (mostly of the OO, Featherweight flavour, thus the title of the blog). http://www.ncameron.org @nick_r_cameron
Saturday, September 24, 2011
Friday, September 09, 2011
Algorithms
I was never a fan of algorithms as an undergrad. Whether it was the way they were taught or my attitude at the time, I don't know, but I didn't like them. It felt like dull rote learning, un-practical because, you could always look up an algorithm that you needed, right? (In contrast, I always had a soft spot for data structures, for some reason they just seemed so intuitive and stick in my head without me really trying, and there is something creative and almost artistic about some of the fancier ones).
I am currently applying for software development jobs, and I think my knowledge of algorithms is one of my weakest points. Programming is like riding a bike, it seems to just come back, I think I have pretty good 'general knowledge' about computer stuff, and I have a good idea of design things from my teaching, but algorithms are a bit of a gaping hole in my knowledge, and since they are a necessary thing to know for the more interesting jobs, and seem to be the number one thing to ask at interview, I thought I ought to improve...
So, I have been reading a lot and programming a lot of algorithm-type problems (makes a change from compiler things), and I've been really enjoying it. I don't know what's changed, but this time round I'm finding the algorithms stuff really interesting. It's amazing how some of these work, the creativity of some of them is amazing. And tackling algorithm-type problems (see, e.g., Google code jam, topcoder, endless olympiads/programming competitions) is lots of fun. I used to think of these as distractions from 'proper' coding, but it's great to really think about some of these things and often the model answers or commentaries are illuminating.
Anyway, just thought I'd write a little about the fun I'm having...
I am currently applying for software development jobs, and I think my knowledge of algorithms is one of my weakest points. Programming is like riding a bike, it seems to just come back, I think I have pretty good 'general knowledge' about computer stuff, and I have a good idea of design things from my teaching, but algorithms are a bit of a gaping hole in my knowledge, and since they are a necessary thing to know for the more interesting jobs, and seem to be the number one thing to ask at interview, I thought I ought to improve...
So, I have been reading a lot and programming a lot of algorithm-type problems (makes a change from compiler things), and I've been really enjoying it. I don't know what's changed, but this time round I'm finding the algorithms stuff really interesting. It's amazing how some of these work, the creativity of some of them is amazing. And tackling algorithm-type problems (see, e.g., Google code jam, topcoder, endless olympiads/programming competitions) is lots of fun. I used to think of these as distractions from 'proper' coding, but it's great to really think about some of these things and often the model answers or commentaries are illuminating.
Anyway, just thought I'd write a little about the fun I'm having...