In a second installment of what to buy a programmer, we thought that some more serious options were in order. What exactly does a programmer really want? And of course, if you are that programmer simply refactor the code and buy it to give the giver...
All programmers want a Raspberry Pi - and I do not mean a sticky thing surrounded by pastry. This particular Pi is a fast and powerful Linux computer that costs a silly small amount of money. It is so cheap you can think of using a Pi for things that previously would have been out of the question. You can get a Pi 3 for as little as $38 (US/UK) and this might be OK for an experienced user and it certainly is OK for a repeat buy, but to get started you can't beat a kit.
A kit should include a power supply, some cables, an SD card, a case and for the Pi 3 which has a tendency to run a little hot some heat sinks. There are a few kits about but the Vilros complete starter kit (US/UK) has everything you need.
Most programmers would like to get involved in physical computing - and I do not mean getting pugilistic with a desktop machine refusing to run their code. Physical computing is also known as the IoT (Internet of Things) and embedded computing. It basically means writing software that controls the real world and what programmer doesn't want to control the world?
The good news is that the Pi as already discussed is a good choice for physical computing, but the starter kit you need is a little more involved. You not only need the Pi, a power supply and other basic things you also need a prototype board, some cables and some components like LEDs. You can get all of these things separately and, to be honest this is the cheapest way to do the job but, there is also a kit for that too. The Vilros Raspberry Pi 3 Ultimate Starter Kit (US/UK) has quite a bit of what you need to take the first steps with programming real things.
If you do go the Pi road to physical computing then we have no choice but to recommend our own Harry Fairhead's book on the subject. It is just too good for words - seriously it will take you places that other books cannot reach (US/UK).
Of course there are alternatives to the Raspberry Pi when it comes to IoT. The most obvious alternative is the Arduino and the classic UNO (R3) is an amazing $16 US/UK. However, you need to keep in mind that the Arduino doesn't run Linux and can't do all of the server jobs that the Pi can. This is for the IoT only - but it is still a good place to start.
There might just be the occasional programmer around who doesn't want to control the world with their software but there isn't a programmer who doesn't want to live in a world their software creates. This is all about Virtual Reality. The big problem is that VR headsets can be very expensive. There is a nice new low cost one from Google but at the moment it doesn't support many phones. If you just want to have a taste of VR then the original Google Cardboard device is the lowest cost and it provides a huge bang for your buck. There are lots of choices but D-Scope's (US/UK) simple real cardboard design is a good place to start - it's not perfect but it can give you a full 3D experience and you can work out if you want something better.
If you DO want something better and still want to stay in the budget class i.e. less than $500 then the Samsung Gear VR (US/UK) has a lot going for it. It is still only around $100 but it as built in sensors and it is powered by the infamous Oculus. Note: you still need a phone, check that you have a phone that fits and there is a newer version but it seems to be out of stock.
The final big thing in this round up is an AI you can program. Amazon has Alexa - its AI agent that programmers can add skills to. It also has hardware that will give the user voice access to Alexa. The Echo is a large and fairly expensive unit that includes a quality speaker. The Echo Dot however doesn't have a built in speaker but it does everything its bigger brother does and provides an idea starting point for any programmer wanting to get involved in building new skills for Alexa. If you add an external speaker then the quality can be even better than that Echo. And did I mention that it isn't expensive at $39 US/UK so it really is a good starting point.