I find it interesting to find out more about what creatives do, and how they use their tools. Many people don’t create anything – the same cannot be said of you, Rich (Tricky DJ), and I think that the stuff you do is awesome, and I think that it’s work writing about. Some of the questions aren’t entirely applicable to you, so we’ll have to adapt slightly – so ‘What was your first Mac’ becomes ‘What was your first computer?’
So what was it? What was your first computer? Continue reading “Creative – Richard Hanson”
The private sector has a bee in its bonnet about cutting costs, to the extent that it is also trying to pare its workforce to the bone. Only by doing this, it is thought, will they recover to economic growth and stability. It’s accountant logic. After a point, it’s also utter bullshit. Sadly, the public sector seems to be catching on to this fatuous idea too. Continue reading “Cutting Costs”
This years Challenge is a big one, and not one that I think I’m entirely prepared for. Martin, my companion on the Newcastle to London 24 hour bike ride nearly two years ago (and sadly discontinued now) blazed a trail across the lake district last year on Man vs. Lakes 2017, and I’m joining him (with Sim, Angus, Robin, Jason, Hedges) this year.
There are a few snags to the plan. Continue reading “Challenge 2018”
If you’ve been following along with this series of tutorials, you’ll have built a LEMP stack capable of handling multiple vhosts. That’s all very well – but if you expect your users to enter their username and password into the site then you’ll need to provide them with a little security. The only way to do that is with ssl, certificates for which used to be pricey or came with strings attached.
Let’s Encrypt is a certificate authority started by the Electronic Frontier Foundation, Mozilla Foundation, University of Michigan, Akamai Technologies and Cisco Systems to provide ssl certificates for free, and to simplify the process of securing your website into the bargain. They take donations though – and this is one project that you really should consider supporting. Continue reading “Docker Lab – Containerising your website, Part 4 (Let’s Encrypt)”
So you’ve set up containers for Nginx and for PHP – now you’d like to have a database. After all the work of the last two labs you’ll be glad to hear than adding MariaDB to the mix is very simple – we can get it up and running in minutes. Continue reading “Docker Lab – Containerising your website, Part 3 (MariaDB)”
In the previous instalment (Docker Lab – Containerising your website, Part 1), we installed Docker and Docker Compose, and set up an Nginx container. If all you need is to serve a few static pages there’s no need to read any further. But if you need your website to be dynamic, if you need PHP and, perhaps, a database, read on…
These instructions assume that you have followed the steps in part 1. Continue reading “Docker Lab – Containerising your website, Part 2 (PHP)”
For many years now, 45RPMSoftware has maintained its own webservers (hosted on virtual machines by Rackspace). These webservers have been set up in the ‘traditional’ manner, with a LAMP (Linux, Apache, MySQL, PHP) stack. They’ve worked well and so I’ve ignored them, which isn’t the right way to run a website and especially not one which hosts your business.For many years now, 45RPMSoftware has maintained its own webservers (hosted on virtual machines by Rackspace). These webservers have been set up in the ‘traditional’ manner, with a LAMP (Linux, Apache, MySQL, PHP) stack. They’ve worked well and so I’ve ignored them, which isn’t the right way to run a website and especially not one which hosts your business. Continue reading “Docker Lab – Containerising your website, Part 1 (Nginx)”
The latest version of MailRaider greatly improves its handling of base64 encoded or quoted printable strings – the previous version could get confused if, for example, it encountered ‘=?UTF-8?B?’ instead of ‘=?utf-8?b?’. The problem is that NSString only has componentsSeparatedByString – which isn’t much use if you don’t know what case to expect. Hmm. Continue reading “NSString – components separated by case insensitive string”
You may remember that, a little over a year ago, I wrote a clock for the micro:bit (read it again here if you need a reminder). I pondered adding alarm functionality to it but, in the event, I didn’t get around to it. In keeping with that tradition, I now offer you a calculator for the micro:bit – this one has unimplemented improvements too!
I run a computer club for the kids at the local school where we teach them how to code – free from the constraints of the National Curriculum. It’s no secret that I don’t like Scratch, and I think that one of the reasons that the British Isles produced so many great coders is because they learned Basic on the ZX Spectrum and BBC computers from an early age. Continue reading “A Calculator For Your micro:bit”
If you haven’t read my earlier articles on Object Oriented Programming in C (Objects and Polymorphism) I suggest that you go back and read these first. It isn’t necessary to understand these concepts in order to understand Encapsulation – but it might help give you some background into what I am attempting to achieve here.
To recap, Encapsulation is a means of preventing access to internal object data, ensuring that the data can only be accessed and modified via methods. That’s not to say the internal object data can never be manipulated directly – but one has the option to decide how best the data should be accessed. In explicitly OOP languages this is often achieved through the use of the ‘private’, ‘public’ and ‘protected’ keywords. Continue reading “Object Oriented C – Encapsulation”