Installing the Raspberry Pi Camera Module How to install the Raspberry Pi camera module and take a picture on the command line.
Object Detection with a Raspberry Pi and OpenCV How to use a deep neural network with OpenCV to recognise objects using a Raspberry Pi camera.
Cambridge A-Level Computer Science Articles Articles relevant to the Cambridge A-Level and AS-Level secondary school computer science syllabus.
Bitmap Graphics and Colour Depth An explanation of bitmap graphics and the meaning of the term colour depth.
Binary To Decimal 7-Segment LED Display Project How to build a single digit 7 segment LED display for the 3-bit binary adder circuit we constructed previously to convert the binary output into a decimal number.
Binary Coded Decimal (BCD) An explanation of Binary Coded Decimal (BCD) as an alternative to floating point binary.
How to Build a 3-bit Adder Circuit from Logic Gates A practical guide to building a circuit to add two 3-bit numbers using 7400 series logic gates using full adders and half adders.
Compilers and Interpreters What is the difference between compiled and interpreted code and what are the benefits of each approach?
Wireless versus Cabled Internet Why is internet via cable still used in preference to wireless and what is the difference between fibre optic and copper cables?
Satellite Internet Versus Ground-Based Wireless What are the advantages of satellite internet versus ground-based cell towers and when is each appropriate?
The Difference between a LAN and a WAN What is the difference between a Local Area Network (LAN) and and Wide Area Network (WAN)?
Client-Server and Peer-to-Peer Networking What is the difference between the client-server model of networking and peer-to-peer?
What are Thin Client and Thick Client Systems? What are thin and thick clients and what are the benefits of each approach?
Understanding Hash Codes and Hash Functions What are hash codes and how are they useful in programming?
What is Register Transfer Notation? An introduction to Register Transfer Notation and how it is used to describe the fetch/execute cycle of a CPU.
Sequential and Serial Vs Random File Access What is the difference between serial, sequential and random file access?
Finding the Version of Raspberry Pi OS Installed How to determine the version, code name and kernel version of the Raspberry Pi OS that is currently installed using the command line.
Usage of the Kowo Standing Desk Control Box Instructions for using the Kowo standing desk control box.
What is Object Oriented Programming? An explanation of Object Oriented Programming with examples in Python.
Von Neumann Computer Architecture An explanataion of the Von Neumann computer architecture and how registers are used.
The Difference Between Imperative and Declarative Programming What's the difference between the imperative and declarative paradigms in programming languages?
Floating Point Numbers in Binary How real numbers can be represented in binary using floating point with the IEEE 754 standard.
Converting Decimal to Binary Floating Point How are decimal numbers converted to IEEE 754 standard floating point in binary?
Installing the Raspberry Pi AI Module Installing the Raspberry Pi Hailo AI accelerator module onto a Raspberry Pi 5.
Configuring Wi-Fi on a Raspberry Pi (Command Line) How to configure wifi via the command line on a headless Raspberry Pi in the 64-bit bookworm version of Raspberry Pi OS.
Installing the Active Cooler on a Raspberry Pi 5 How to install the active cooler module (heatsink and fan) on a Raspberry Pi 5.
Hello World in Assembly on a Raspberry Pi How to get started writing 64-bit ARM assembly language using a Raspberry Pi.
Assembly Language Instructions and Addressing Modes An introduction to assembly language, instructions and addressing modes.
The Insertion Sort Algorithm How does the insertion sort algorithm work and how can it be implemented in Python?
Linear Search versus Binary Search How does the binary search algorithm work and how is it better than a linear search?
Boolean Algebra and Logic Gates How is algebra used to represent electronic logic gates and why is this useful?
What do the terms SIMD, MISD, SISD and MIMD mean? What do the terms SIMD, MISD, MIMD and SISD mean in relation to CPU architecture?
Web Server to Play a Sound when a URL is Visited A simple web server in Python that plays a sound file when a URL is visited. This can be used as an alarm or notification.
Understanding the TCP/IP Protocol TCP/IP is the protocol underpinning the internet. But what is it and what does it do?
Calculations with Logic Gates: Full Adders and Half Adders How are logic gates used to do calculations?
A Solution to Online Game Cheating A method for handling cheating in online games without invasive anti-cheat software.
An Introduction to Electronic Logic Gates What are logic gates? What do logic gates do and why are they relevant?
Working with Numpy Arrays in Python This guide shows various examples of manipulating arrays using Numpy in Python
How to Build a Debian .deb Installer Package How to create a .deb installer package for Debian and Ubuntu
How to Choose a Linux Distro What is the difference between Linux distributions? How to choose the distro that's right for you?
Invoking Python with the Shebang in a Portable Way How to use the shebang line with Python when the interpreter may be at any path.
Starting a Simple SSL/TLS Web Server for Software Development and Testing Sometimes you need a simple SSL web server for software development or testing and don't want to start up a heavyweight web server.
Controlling LIFX Smart Light Bulbs using Python How to turn on, off, enumerate and change the colour of LIFX smart light bulbs using Python on the local network.
Playing Audio over Bluetooth From a Raspberry Pi (Command Line) How to play audio over bluetooth from a Raspberry Pi over the command line.
Beginners Video Encoding Guide using ffmpeg A beginners guide to encoding video using ffmpeg. How to change the video encoding and select specific audio tracks and subtitles.
Solving First Generation AMD Ryzen Freezes and Reboots in Linux AMD first generation Ryzen crashes, mouse pointer freezes (black screens) and the machine reboots when used with Linux