Category Archives: Technology

Am I a grumpy old git, or are we trying to kid the next generation that coding is really easy?

Someone coding

I’ve been a programmer for over 30 years. That’s not a boastful statement (at least it’s not meant to be) I’m simply saying that I’ve clearly been around the block a few times. This article is about coding and specifically why we’re pretending to young people that’s it’s an easy thing to do.

So the purpose of this post is to complain, in a somewhat grumpy-old-git kind of fashion, about initiatives like “The Year of Code” and, perhaps to a lesser extent, the “BBC Micro Bit”. But more about why I want to whinge about those in a moment. First of all, a history lesson.

A life of code
As a developer, it’s important to speak lots of languages. Not the ones where you battle with a phrase book to order a cup of coffee in a foreign land and end up asking to sleep with the barista’s sister. No, I’m talking about coding languages.

I started off, as many do, with BASIC. Beginner’s All [Purpose] Symbolic Instruction Code. It’s deliberately simple to use and understand (it’s not called BASIC for nothing) and has always been a good way for budding coders to discover what communicating with a computer is all about.

My BASIC experience started on a Sinclair ZX-81. It had 1KB of RAM, although I plugged in a rather wobbly 16KB ram pack to boost this up by quite a margin. In those days, all you had to look at was a flashing cursor on a black and white screen and there was no audio. You learned very quickly that coding can, at times, be quite difficult; that you need to be patient and methodical and instant gratification is unlikely until you’ve committed to several hours of work and solid debugging. It’s a salutary lesson in the kind of personal attributes that you require in order to be a successful programmer. If you’re the kind of person who gets frustrated easily, then coding won’t suit you. Surely, as we’ll discuss in a moment, it’s a good idea to find that out sooner rather than later?

I found that I loved coding. It didn’t always go to plan. I couldn’t always get the computer to do what I wanted it to. But that didn’t matter to me. It just made me want to discover more so that I could make the device dance to my tune.

From BASIC I went through a number of languages on different systems. Some I used for a while, some I still use parts of and yet more are long forgotten. I wrote an integrated Office suite from scratch in Pascal for my A Level Computing Science. On my Commodore Amiga I dabbled in an interesting coding language called FORTH (I wonder what happened to that). And, of course, I’ve used C, C++ and in more recent years Objective C, Swift, PHP and more database and web based technologies than seems sensible to list here without boring you ridged.

Each language has its own peculiarities, advantages and disadvantages. Sometimes you have no choice what language to use. For example, for many years Objective C was (almost) the only answer for iOS and Mac OS X development. That changed in 2014 and I’ve recently started using Apple’s new Swift language and am really enjoying it. One of the attributes I mentioned earlier is being open to change like this. The shifting sands of technology. Sometimes those sands will shift so quickly that you’ll have to change the way that you work completely. That’s just the way it is in coding, and it keeps us geeks on our toes!

After those 30 years (and then some) I’m still discovering, learning, failing (often) and debugging constantly. And I love it. Because I’m the right kind of person to be a programmer.

Year Of Code

So time for my moan
There’s an initiative that’s been running for a while now called “Year of Code”. I don’t claim to know much about it, but what I do know is that it encourages young people to get into computer programming. Or at least that’s its intention. There are other initiatives, such as the recently launched BBC Micro Bit, that aim to do similar things.

Let’s get something straight from the start – I have no problem at all with trying to get people to code. In fact, I think it’s essential that we do; my complaint is how we seem to be going about it.

In 2014, The Year of Code with backing from the British government appointed a figurehead for the UK’s campaign: Lottie Dexter. She’s one of those bubbly “can do” sorts that, I guess, the people in charge thought would appeal to the media. I have nothing against Ms Dexter and I don’t blame her entirely for the situation that she found herself in, however it was still mind bogglingly vomit inducing. I saw her interviewed on BBC Newsnight one evening where it turned out that she didn’t know anything about coding. She didn’t even know what it was. She was planning to “learn it over the next year” and claimed that teachers could “be trained how to educate students in computer programming in a day”.

Clearly, no-one had bothered to check if Ms Dexter had the necessary skill set to be a coder, because (obviously) anyone can do it. Anyone can be an Ada Lovelace or an Alan Turing.

Thanks very much for belittling my profession and hard earned years of experience. No, really, thanks.

This, in a nutshell, is what annoys me about initiatives like “Year of Code”. The total lack of understanding and the failure to accept that programming takes a certain type of person and many years to perfect (if, indeed, one ever does). Like every single profession, programming is the right job for some people and the wrong job for everyone else. These schemes all seem to think that absolutely everyone can code.

I’ve got news for you: They can’t.

And there’s more…
Around the same time as Lottie-gate, I remember watching an interview with a child, no more than about 10 years old. The interviewer was saying enthusiastically that the little darling was a programmer and had written their own game. “Isn’t it amazing!” gushed the TV airhead. Well, no it wasn’t amazing really. The “programming” in question was an environment with some elements that were dragged on to a virtual canvas and then you keyed a value into a handful of boxes on screen to decide what the “program” would do. No coding was harmed (or written, for that matter) in the making of that “game”. What that had proved, was that the child could type a number and use a mouse. That hardly constitutes coding in my book.

Once again, this is an example of sending a signal to children that coding involves a simple bit of drag and drop or, in the case of the BBC Micro Bit, a few (very) simple commands in order to make some lights flash. The BBC Bite Size page on coding ,incidentally, doesn’t even spell “program” correctly, but I digress (not for the first time in this article).

So what should they be doing?
What  really needs to be done is to demonstrate to children what programming really is, warts and all. I’m not suggesting that an 8-year old should be subjected to 6 weeks of intensive C++ object orientation techniques; however the use of fundamentals in coding in schools in order to find those who have the aptitude for it would be no bad thing. In all subjects you start with the basics.

Take physics, for example. Those in year 6 won’t be discussing the plausibility of multiple universes or the finer points of string theory; they’ll be playing with weights and discovering the fundamental principles of the laws of gravity. Similarly with coding, a language like LOGO would be a good introduction but alongside the basics of binary and solving logic problems. It’s not rocket science. Those who like it will be open to the more complex sides of coding while being under no illusion about what it’s really going to be like as a profession.

In summary
You may think that I don’t want young people to learn coding because they’ll take my job away from me. That couldn’t be further from the truth. As we become ever more reliant on technology, there will be plenty of coding opportunities for all of us. However my point is that coding isn’t something that just anyone can do, and no amount of poorly thought out initiatives are going to change that.

Coding is time consuming, it often involves working to tight deadlines, and it’s not unusual for projects to change completely during their development. Don’t be surprised if you’ve spent hours working on something only to find it canned and replaced by a new requirement at the eleventh hour. It happens. Spending many hours looking for one tiny bug that might be down to a single comma or a full stop isn’t unusual; you need to have the patience to have days that go like that. However, to see a web page, a computer or a tablet do something just because I’ve programmed it to work in that specific way never gets boring and there are plenty of other devices out there that need coding in order for them to come to life.

Just because I code for a living, it doesn’t mean that I no longer code as a hobby. I was looking for a gadget recently and couldn’t find the exact spec I wanted, so while the majority of people would prefer to purchase a finished product, I’ve decided to build and program one myself most likely based on a Raspberry Pi core. I’ll do it because I can. I’ll do it because I have the right kind of logical brain that will happily work through all the inevitable problems to get to a working solution. That’s the joy of coding for me. It won’t be easy, but it will be very rewarding.

And that’s the idea that we need to sell to those children who have the aptitude to do likewise.

I’m now posting my articles both on my blog and also to Medium. You can read this article on Medium here. Please follow me on Medium here.

Introduction to the Apple Watch

The Apple Watch launched in April 2015, so this blog post and video recorded in January 2016 is, in product terms, quite late! However, like many people, I purchased an Apple Watch (in my case the Sport edition) for Christmas 2015 and these are my thoughts.

The video features a complete look at the Apple Watch with an unboxing, pairing with an iPhone, looking at some of the default installed (and a couple of third party) apps. I also talk about the good and bad points of the device as well as giving a recommendation of whether, in early 2016, you should be considering purchasing one yourself.

I can’t promise that the demonstration section of this video is exhaustive (it most certainly isn’t) however I hope that during the half hour that this film runs (by far the longest video on my channel so far) you’ll pick up some hints and tips that will be helpful if you’re considering buying a smart watch yourself.

As always, I’d love to hear your comments about the Apple Watch, competing products (like Pebble and Android Wear) and also what you think of my latest attempt at a video!

Quick tip for Synology users with a Mac

Here’s a quick tip for anyone with a Synology NAS drive who uses it with a Mac running OS X El Capitan (although this should work under Yosemite and perhaps even Mavericks).

When listing directories over the network there can, for particularly large folders, be a noticeable delay before the directory contents is displayed on screen. Thankfully, a delay like this is pretty rare however this tip will speed up network directory listings for folders of all sizes – you’ll just notice it more if the folder in question contains loads of files.

Fire up Terminal and run the following command (do not run as super user using sudo):

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Reboot your machine and then marvel at the increased directory listing speed!

What does it do?
This simply prevents the hidden file .DS_store being written to network devices and this speeds things up monumentally!

However, a word of warning. Synology’s forthcoming DSM 6.0 has support for OS X’s Spotlight!!!!!  This is a major improvement and I’m so, so happy about it. Details are sketchy at the moment, however I suspect that network shares will need to be mounted in AFP rather than SMB (which has been the default protocol since OS X Yosemite). I prefer SMB (find it more stable) but will be willing to give AFP another go should Synology’s Spotlight implementation require it. Anyway, I digress. The reason I mention this is that it’s entirely possible that Spotlight support in DSM 6.0 will require .DS_store file to be written to network shares (as that’s where important Spotlight information is saved) so this tip might be out of date soon. (It just makes me wish I’d known about it 18 months ago!)

So if you need to revert back to enable Spotlight in DSM 6.0, just enter the following command in Terminal under your user and then reboot:

defaults write com.apple.desktopservices DSDontWriteNetworkStores false

Note that this is a user level setting, so if you have multiple accounts set up on your machine then you’ll need to run it for each of them.

As always, this advice should be taken at face value and you enter commands into Terminal at your own risk. Blah, blah, blah. 😉

A demo of my sit/stand desk

Regular readers (who are they?) will be aware that I have a desk that enables me to raise or lower it so I can use it in a traditional sitting or a standing position. This kind of thing is ideal for an accompanying video, so here it is!

I’ll be making a more detailed video about my desk at some point in the future. I’ll be talking in that about why I went for the solution demonstrated here and will mention other products that are on the market.

In the meantime, if you want to read my original blog post from July 2014 about why I decided to buy a sit/stand desk, you can do that here. You can also read about why I chose this desk here, although as that article was written nearly a year ago the second part to my video will update my conclusions in that blog. So watch this space for more!

Thank you for watching and please subscribe to my channel to see more content like this.

An introduction to the Apple TV 4

The Apple TV 4 has recently launched and I’ve got my hands on one to review.

In this video I compare the specs of the new hardware with the Apple TV 3 and take a look at the new unit’s operating system: tvOS. I show installing an app, searching with the on-screen keyboard and built in voice command and briefly show Netflix and Plex apps in use.

Finally I sum up what I think of the Apple TV 4 and whether you should think about purchasing one.

I hope you enjoy the content. Please give it a thumbs up and, if you enjoyed the video, I’d be delighted if you subscribed to my channel.

Thanks for watching!

My first VLOG

Something I’ve wanted to do for a while is to VLOG as well as BLOG and this is my first attempt at the former.

I originally wanted to start my VLOG some time ago, however my iPhone 5s had a fault that meant that audio wouldn’t record when using the front facing “FaceTime” camera – the ideal one for VLOGing purposes.

My new iPhone 6s Plus, however, is fully working (I should hope so, I’ve only owned it for 3 weeks!) so I can now give VLOGing a go!

The above video was recorded during the first couple of weeks that I had my new iPhone and covers various subjects – a new bluetooth remote camera activation tool, a selfie stick, backing up my NAS to an external USB 3 hard drive and, most important of all these days, a look inside my fridge! You know it makes sense.

I hope you enjoy the video. Please give it a thumbs up on “the YouTubes” and don’t forget to subscribe if you want to see more content like it. Although goodness knows why you’d want to.

3D Touch on the iPhone 6s

One of the new features of the iPhone 6s is 3D Touch, a new technology that enables the device to not only detect traditional swipes and taps, but also presses into the screen.

The iPhone 6s can not only detect a forceful push on the display – it can also determine how hard you’re pushing it. That’s why Apple have called it 3D Touch – it takes interaction with our mobile devices quite literally into a new dimension.

The best way to demonstrate this new innovation is to show it in action, so please watch my latest video (above) to see it in action!

When I first heard about 3D Touch I thought it might be a bit of a gimmick, however I’m already finding that I use it every day – it really is rather useful.

This is only the beginning, as developers come up with ingenious ways to act on pushes “into” the screen we’ll no doubt begin to see all sorts of interesting new uses for this technology.

If you liked it, please give the video a thumbs up on YouTube and if you enjoyed the content, please subscribe to my channel where you can find lots more!

Comparing the iPhone 4, iPhone 5s and iPhone 6s Plus

Here’s a new video on my new YouTube channel I’ve started up to support my blog. There’s not much to write about as it’s all in the visuals!

The video compares and contrasts three iPhones: the iPhone 4 (released in June 2010), the iPhone 5s (released in September 2013) and finally the newest of the iPhones the 6s Plus released last month.

I think it’s interesting to compare the products’ specs. There’s not much hands-on apart from a quick comparison of how Touch ID has been improved on the 6s.

I talk briefly about 3D touch but think I incorrectly call it Force Touch, so I apologise for that!

I hope you enjoy the video. Please give it a thumbs up on YouTube and if you enjoyed the content please subscribe to my channel to be notified of new videos.

Adding a monitor arm to my desk setup

This week I added a new monitor arm to my desk setup. In this blog (and accompanying video) I describe why I chose the particular arm I went for and how I found using it since installing.

I’ve had a computer for years. So I’ve had different monitors for years too. I’ve never had an all-in-one (like an iMac) instead preferring to add a screen of my choice to a headless computer. The advantage of this approach to owning a computer is that you can change your display without having to change the entire hardware.

When I bought my cylindrical “trash can” Mac Pro in December 2013 (finally received in February 2014 as regular readers will know all about!) I knew that during the lifetime of the machine I would want to add a retina display. The prices and specs at that time were not good so I left it until July 2015 before purchasing an LG 31MU97 true 4K (and therefore “retina” display). It’s fantastic!

One of the criteria for my new screen was that it should include a VESA mount. As I said, I’ve owned different monitors over the years but none of them have ever had a VESA mount and I liked the idea of having that flexibility in my locker should I need it.

The stand that comes with the LG is not bad, as stands go, but for me (as I demonstrate in my video) the height adjustment isn’t quite enough, especially as in an ideal world I would have the screen at slightly different heights depending on if my desk is in a “sit” or “stand” position (I have a video coming up soon showing the sit/stand desk if you’re interested in one of those). Replacing the supplied stand with a new VESA based alternative seemed the appropriate solution.

What to get?!
Then the problems (and the research) start. Should I get an arm or a new stand? Should I get a mount capable of adding additional arms should I decide to get another screen? What manufacturer should I go for? Duronic? Ergotron, perhaps?

I spent quite a bit of time looking around at articles on the intertubes and videos on “the YouTubes” as well as looking at manufacturer’s own web sites and information.

It makes your head spin!?

I eventually stumbled upon a company called Chief based in the United States. I’d never heard of them, however their arms seem well constructed and, crucially, have a rather nifty cable management solution built in – most of the competition use standard clips similar to those found on normal stands.

I selected an arm called a “Kontour” (yes, with a “K”)  that I thought would work well for me. My computer and monitor are black so I rather fancied having the black version of the arm, however it’s not for sale in the UK unless you want to pay a hefty surcharge to have it imported from the US. So I went with the silver version instead at half the price.

Delivery and Installation
I bought it through a reseller that will remain nameless on this blog, however I won’t be using them again – the packaging was simply awful and I was very worried that the goods would be damaged too. However, Chief clearly build solid products so while the box had barely survived the journey, the arm seemed OK. A small scratch, but nothing functionally out of place.

In my video you can see part of the installation. Unfortunately both of my camera batteries were nearly out of juice so I couldn’t record the entire process, however hopefully you can see what I started with and how it ended up.

Final thoughts
The arm itself is of solid construction. It’s well built and the cable management is very nice. As you will see from my video, the spaghetti of cables you could see beforehand has gone and I now have a nice clear desk. I can even position my laptop below my LG should I need to. There was initially a small amount of wobble from the screen, however this was more to do with my desk and some tightening of bolts (on both the arm and the desk) virtually removed this annoyance. It’s certainly not a big problem or one I’m going to remain concerned about.

For the record, the arm I went for was the K1D120S. I would’ve preferred the K1D120B which is the black version, but not at twice the price. I can only comment on what I’ve used and having never come into contact with an arm by anyone else I can’t say whether  this one is better or worse than alternatives, however I’m pleased with what I’ve bought and it makes a nice addition to my 2015 desk setup.

First YouTube post

To help support my text blog (and perhaps make me update it a bit more often) I’m going to occasionally upload a video to support what I’m banging on about.

Let’s be honest, I’m not the most photogenic of individuals so I imagine most videos will involve me standing behind the camera so that you get the best view of me (i.e. one that I’m not in).

This isn’t the first time I’ve uploaded content to YouTube. I started a channel previously and enjoyed ranting about a few subjects before deciding that as I was the only one watching the videos that perhaps it would make more sense for me to drop it and tackle the idea slightly differently.

The “differently” is what you see above.

I’ve decided to make my (new) YouTube channel directly support this blog. If I want to write about something that I think would be aided with moving pictures of some kind, then I’ll include a video on the channel and also post it here.

I don’t know how often I will upload content to YouTube. I have 2 videos planned at the moment and suspect I’ll go through phases of adding lots of content and then not adding content at all. It all depends on what I want to talk about. And if anyone bothers to watch.

If you want to subscribe to my new channel, you can do that here.