A while back (probably towards the end of 2012 in fact) I saw one of those Bose SoundLink bluetooth speakers being demonstrated. I was pretty impressed and made a mental note that it would be a cool thing to buy. Since my phone/tablet/laptop all have bluetooth, it makes sense to be able to beam out some nice quality sounds from them. If nothing else, it's a bit like having a hi-fi in every room of your house, you can just carry the speaker round with you.
Anyway, now I've finally decided to get one there seems to be a lot more choice, and there are some cheaper alternatives that still give good sound quality.
So I've bought a Minx Go made by Cambridge Audio. It's quite an impressive thing and has worked with every bluetooth device I've got. It also means that if we're watching BBC iPlayer on my MacBook, then I can enjoy nicer sound quality.
The Minx Go is a bit bigger than the Bose one, but that doesn't matter to me... It was quite a lot cheaper though.
But despite the cheaper price, the sound quality still seems excellent as evidenced by the review in What Hi-Fi found here where it receives top marks. It especially gives nice bass for a relatively small unit I reckon.
Of course, other bluetooth speakers are available, but I have to say I'm quite happy with my choice.
For some time I've admired the simple web server code called nweb, which can be found here. It's written in C and shows how you can build a nice simple little HTTP server without scary amounts of code. The code even runs on the Raspberry Pi.
It's written for Unix and Linux systems, but I wanted to see if it would work on my MacBook (which runs Mac OS X, obviously). Since Mac OS X has a Unix heritage, I hoped it would work without too much trouble...
So I fired up Xcode and created a blank "Command Line" application in C, then I just pasted in the nweb source code. It gave just one compilation error.
All I needed to do was replace SIGCLD with SIGCHLD in one line of code. Then it worked! Nice.
So that's awesome, a very handy little command line web server for Mac OS X.
I'm sure I will find a use for that. The old brain cogs are whirring as I type this in fact.
After owning a hudl (an Andriod tablet made by Tesco) for a little while, I have found a few useful Apps. So here are some of the ones I've found to be quite good (they have all come from the Google play store):
A nice ePub reader, with good abilities for highlighting. So it's useful for study purposes.
Quite an impressive document editor for MS Office documents, especially considering it's free. This is what I often use when I'm taking notes.
C/C++ IDE (woo-hoo):
OK, you have to pay for this one, but it means I'm never too far away from a C compiler. This is the feature I always wanted on my iPad...
I'm still quite impressed by the hudl, and I use it often. I'm planning to post some more of my thoughts on the hudl another time, watch this space.
I like coffee. But I drink too much of it, so I've mainly switched to decaf at the moment. My objections to most decaffeinated coffees are 1) they don't taste the same, and 2) I'm worried that they're full of other chemicals left over from the process of removing the caffeine.
So I've been experimenting. Or rather, my wife has been experimenting and I have been the tester/victim. Actually, it's not been too bad, she has chosen wisely.
So far the winners are...
Ground coffee: Grumpy Mule Organic Sumatra
Instant coffee: Clipper Super Special Organic Decaf
Both are organic and fairtrade. Both use a water process to remove the caffeine, so no nasty chemicals. And both taste OK, IMHO (I think they're pretty nice actually).
Sometimes I mix them with a regular coffee to make a 50/50 blend, just to get a little caffeine. Just occasionally.
They are worth checking out, if you're looking for a nice cup of decaf.
I'm becoming increasingly reliant on having some kind of tablet type computing device with me. My favourite is still the iPad mini, which works brilliantly as far as I'm concerned. It's one of those things that just works. Shame you can't actually do any programming on it though. A decent lightweight C IDE on the iPad would be nice... but I digress.
However, the iPad is not the type of thing I want to chuck in my bag and drag round Cambridge all day. If I damaged my iPad I would be very upset indeed.... they are not cheap to replace.
So I have been looking for a cheaper tablet, something where I would not be quite so upset if I dropped it or scratched it. As long as I can get online and run a couple of apps I'll be OK. But this would be slightly more expendable than an iPad.
So I've decided to try out the Hudl from Tesco. It seems to have a very decent spec for the price, and if you buy it online and use your Clubcard points you can get further discounts.
I went into a Tesco store to try one out... but the demo machine was locked down and would do little more than play some promotional videos. I wanted to fire up the browser, look around in the Google Play store and that kind of thing. Unfortunately, the demo machines don't let you. Boo...
So you need to buy one to have a proper play. I've bought one now, and will report back if there are any important developments.
It has been a beautiful autumn - my favorite time of the year. Yes, we've had a few storms too, but we've also had some absolutely fantastic days where the sky has been clear and blue.
Recently, I've been starting early in the mornings, so when I've walked through the streets of Cambridge in the early morning sunshine I've snapped some pictures on my phone.
The picture quality isn't great (I have an iPhone 3GS which is quite old now), but hopefully you'll get an idea of the sights I have been enjoying.
Here is a view along the river Cam ... looking along the backs:
Here's Kings College, looking nice in the early morning sunshine:
And this is the Senate House, which is also near Kings:
....it's certainly no hardship to walk around these streets, even if it is before 8am. In fact, it might be the best time of day to experience it.
We went on holiday to Tenerife recently. It was nice, but very hot - the on-street
temperature displays were reading 39°C on the day we arrived. So it was a
real shame that the air conditioning was not working in our hotel :-( Actually,
it's the first time in over a decade that we've felt let down by Thomson
holidays (TUI). The hotel was just not up to their usual standard. But apart
from that, we had a nice time.
Anyway, when on holiday I'm extra-happy if I can find a decent cup of coffee..
Most of the Spanish coffee is not to my personal taste, so I have pretty low
expectations when I go to the Canary Islands. I mostly prefer the Italian
style of caffeinated beverage of course...
But we actually found this place, which did nice 'Italian-style' coffee and
was also extremely cheap:
Result! So look out for Freddinos if you're in Puerto de la Cruz and want a nice
But I have to say their ice cream and cheesecakes were awesome too, look at this
We had to go back several times, just to make sure...
I remember there was a time I was very happy because H2D2 was running my Mandelbrot test program in about 650 milliseconds (whereas the original proof of concept, DALIS, took nearly 12 seconds to do the same thing).
Since moving over to my new MacBook and compiling the H2D2 source using Xcode, just look at the result now:
Whoa! 72 milliseconds! Now that's impressive. This new MacBook is pretty fast, but I'm sure the Apple LLVM compiler is also playing its part in achieving that level of speed. I have done some optimisation work in H2D2 recently, but I don't think I can take the credit this time.
It really pays to do this type of 'system level' programming in C (plus I enjoy it of course). Right, I'm off to work on parsing string expressions now...
OK, first of all, I've bought a new laptop, and it's a Mac - a 13" MacBook Pro to be precise, the one with the Intel Core i7 processor, 8Gb of RAM and 750Gb hard disk. After having great success with running things as VMs at home, I've decided to do the same on my laptop. But the old Toshiba T130 was just not powerful enough to do that (it seemed like quite a powerful laptop when I bought it, but that was over 4 years ago I think). Besides, the Toshiba was feeling quite slow anyway.
But I came to realise that if I was going to run all my stuff as a VM, then I didn't need Windows as the host OS. And getting a new shiny Apple piece of kit seemed like a pretty good choice. I've virtualised the old (Windows) laptop and now it's running happily as a VM in VirtualBox on my new MacBook. Pretty seamless really.
But, I then went and downloaded Xcode (Apple's IDE) and quickly realised that it will happily support plain old C programs. So I copied the H2D2 codebase from Pelles C on Windows into Xcode on the Mac. It compiled and ran first time - even I was surprised. But that is what is supposed to happen when you write portable C code - you can run it natively on just about any platform.
So, I'm going to carry on developing H2D2 in Xcode for a while and see how that goes. My initial impression is good, I'm still learning the keyboard shortcuts … but then I'm still getting used to the new Mac keyboard as well. I was surprised to realise that there is no hash (#) key, at least not on the UK Mac keyboard. Maybe twitter isn't as popular amongst Apple users as I had thought. Or maybe that's just because I think of Steven Fry when I think of a typical Mac user :-)
Anyway, I'm still finding my way round the IDE at the moment. It's probably too soon to draw any final conclusions. Maybe I should buy a book on Xcode...
Since my school days, I've always liked the Game
of Life, invented by mathematician John Conway. It
nicely demonstrates how complex behaviour can come about from just a few simple rules.
Anyway, when I was reading up on the I2C interface recently,
I accidentally found
this code on the Wiring Pi
website (which is a GPIO interface library for the Raspberry Pi). It looked like a nicely written bit of code
so I decided to write something similar in C#. There's no real reason why I should, but it just seemed like
a fun thing to do...
In terms of my example (with black and white cells), the rules go like this:
- a black cell with less than 2 black neighbours goes white
- a black cell with 2 or 3 black neighbours stays the same
- a black cell with more than 3 black neighbours goes white
- a white cell with three black neighbours becomes black
Here is the result:
This console app version demonstrates a glider
gun, which is some pretty impressive behaviour from those four simple rules.
Oh, and if you're really interested, and would like to see my code, it's here (as a text file).