A little more about Nim

I am still tinkering with the Nim programming language, and quite enjoying it. I find the language to be well thought out, and it's very easy to build little libraries which have unit tests included in them. I like that idea.

But I have noticed that the binaries can be quite a lot bigger than my equivalent C programs, which I suppose is to be expected. So I have also been experimenting with the UPX packer which helps to keep the file size down ... this could be useful if you want to run your Nim programs on something tiny, like a router.

In the end, I did buy a copy of the Nim in Action book, available through Manning's early access program. I'd recommend this book to people who are learning Nim, I found it easy to follow and enjoyable to read.

Nim in Action book

Because Nim has not reached v1 yet, for the moment I'm only using it for experimentation and hobbyist type stuff. But when it actually hits v1, I think that I'd consider using it for real work too.

"Programming Projects In C..." book

It's good to see that some new C programming books still get published. These days they are quite rare, but it's great to see when one does appear. At the moment I am enjoying this one:

Programming Projects In C For Students Of Engineering, Science, and Mathematics.

I bought mine when I found a copy whilst browsing the Cambridge University Press bookshop. As I flipped through the book in the store I stumbled on the chapter about makefiles, and realised that it was going to be good there and then. I liked the iterative way that the makefiles were presented - as a series of layered enhancements.

It even motivated me to go away and improve some of my makefiles, which were already working fine ... but could be done even better. The advantage is that now I have more of a chance to reuse them on other projects.

But now, I've had an opportunity to read more of this book, and have really enjoyed it. There are lots of little gems tucked away which would be worth taking note of. I reckon that most C programmers would find something interesting in this book, not just developers working in the fields of science, mathematics and engineering.

The C programming language has been around for a long time now, I think that even the author admitted to using certain blocks of code for 30 years or so. But for me, that's part of the beauty of it. There are not many languages where you could have written a block of code decades ago and find that it's just as good today.

If you're doing C programming and are curious to see how somebody else uses the language then you'll probably enjoy reading this book.

Hacking the Universe

On my recent holiday to Fuerteventura, I decided that I should take the opportunity to understand more about Quantum Mechanics, as you do, so I took the book In Search Of Schrodinger's Cat with me. I really enjoyed it, I can recommend it if you need a bit more wierdness in your life.

I suppose that I'm bound to try and think about it in terms of computing; but I couldn't help feeling that since it seems impossible to measure certain pairs of properties simultaneously, it's like the universe has built in security protocols which only allow us to go so far. For example, it's not possible to measure both the position and momentum of a particle like an electron simultaneously, if you're certain about one of those properties, the other becomes more uncertain.

So, to me, the whole of Quantum Mechanics seems to be about Hacking the Universe. Nice.

Information is beautiful

My wife gave me this book for our anniversary this year.  It's brilliant.  At the moment my favourite page is the periodic table of the condiments:

Periodic table of the condiments