Babbage's Bag

 

Charles Babbage invented the modern computer and with it started the development of computer science and all the computer technology that we take for granted today. Babbage's Bag is a look at many of the interesting ideas that are at the heart of computing. It's not quite theory and it's not quite practice. It certainly is fun if you give it a chance and it will provide a background of knowledge that it's all too easy to miss.



Data Structures Part II - Stacks And Trees
Written by Alex Armstrong   
Sunday, 23 August 2015

Part II of our look at data takes us into more sophisticated structures that are fundamental to computing  - stacks, queues, deques and trees. If you don't know about these four then you are going to find programming tough and you will have to reinvent the wheel to solve otherwise simple problems.

Last Updated on Thursday, 23 August 2018
Read more...
 
Dates Are Difficult
Written by Mike James   
Thursday, 29 August 2019

Date and times follow their own regularities, and they have nothing at all to do with binary, or even simple decimal, counting. First, clock and watch makers had to find ways of working with hours, minutes, seconds;  and then programmers had to find ways that were much simpler. Join us on a quick tour of the time and date system and how it can be mastered using the mod function. 

Last Updated on Monday, 13 April 2020
Read more...
 
Face recognition
Written by Mike James   
Friday, 23 July 2010
Face recognition features in most crime drama on TV. It's portrayed as fast and accurate. How does it work in real life?
Last Updated on Friday, 23 July 2010
Read more...
 
Finite State Machines
Written by Mike James   
Thursday, 18 January 2018

Finite state machines may sound like a very dry and boring topic but they reveal a lot about the power of different types of computing machine.  Every Turing machine includes a finite state machine so there is a sense in which they come first. They also turn out to be very useful in practice.

Last Updated on Thursday, 18 January 2018
Read more...
 
Floating Point Numbers
Written by Mike James   
Thursday, 23 August 2018

Inconvenient though they may be, fractions are the real stuff of numbers and to work with them we need to know about floating point numbers ...

Last Updated on Thursday, 23 August 2018
Read more...
 
Fractal Image Compression
Written by Mike James   
Tuesday, 03 December 2013
Fractals - they are just for fun surely? You have to keep in mind that it is a law that eventually every pure mathematical idea finds an application and so it is with fractals.  Fractal image compression is a practical use of fractals and how it works is fascinating ...
Last Updated on Tuesday, 03 December 2013
Read more...
 
From Data To Objects
Written by Alex Armstrong   
Thursday, 03 January 2019

What are objects really all about? The data stupid. We don't give data enough credit for it role in programming. Perhaps we shouldn't call it coding but datering or something. The relationship between data and code is deep and it is the real reason we invented object oriented programming.

Last Updated on Thursday, 03 January 2019
Read more...
 
Grammar and Torture
Written by Mike James   
Thursday, 16 May 2019

Computational grammar is a subject that is sometimes viewed as a form of torture by computer science students, but understanding something about it really does help ....

Last Updated on Thursday, 16 May 2019
Read more...
 
Graphics Accelerators
Written by Administrator   
Monday, 01 March 2010
The GPU - Graphics Processing Unit - now rivals and even exceeds the CPU in processing power but how does it work and what's special about graphics that it needs a custom processor?
Last Updated on Monday, 01 March 2010
Read more...
 
Hard disks
Written by Administrator   
Friday, 02 April 2010

How does a hard disk work? Understanding can help you pick your next drive and make you more aware of what can go wrong.

Last Updated on Saturday, 10 April 2010
Read more...
 
Hashing - The Greatest Idea In Programming
Written by Mike James   
Thursday, 03 September 2020

Although it is a matter of opinion, you can't help but admire the idea of the hash function. It not only solves one of the basic problems of computing - finding something that you have stored somewhere - but it helps with detecting file tampering, password security and more.

Last Updated on Thursday, 03 September 2020
Read more...
 
Hexadecimal
Written by Harry Fairhead   
Tuesday, 19 November 2013

Hexadecimal is the most common way of displaying the raw data sitting in a machine's memory, but if you are not familiar with it you might ask "What the hex..?"

Last Updated on Tuesday, 19 November 2013
Read more...
 
How Memory Works
Written by Harry Fairhead   
Friday, 03 August 2018

Exactly how does computer memory work? What is surprising is that  it still works in more or less the same way as when Babbage designed his Analytical Engine or the IBM 360 accessed core memory. So where do all our programs live?

Last Updated on Friday, 03 August 2018
Read more...
 
Inside Bitcoin - The Block Chain
Written by Mike James   
Friday, 19 February 2016

Bitcoin is a currency that exists entirely in software and is under the control of no central authority. What is really important about Bitcoin, however, are the algorithms that make it all work. We explain the way the Block Chain works. 

Last Updated on Saturday, 20 February 2016
Read more...
 
Inside Random Numbers
Written by Mike James   
Tuesday, 18 November 2014

We often refer to things that are unpredictable as being "random" but this is not the same as truly random behavior - which is something we have to work hard to achieve. Put another way - how can a logical deterministic device like a computer produce a random number?

Last Updated on Tuesday, 18 November 2014
Read more...
 
Inside the Computer - Addressing
Written by Harry Fairhead   
Thursday, 09 July 2020

Where you store data is as important to the computer as the data itself, yet the importance of the address is often overlooked. In this introduction to the low-level mechanisms of addressing in assembler, it is surprising how easy it is to recognize familiar high-level abstractions.

Last Updated on Thursday, 09 July 2020
Read more...
 
Introduction to Boolean Logic
Written by Harry Fairhead   
Friday, 28 September 2018

It may sound like a daunting topic, but Boolean logic is very easy to explain and to understand. It represents the simplest of all the logics and the very basis of computing.

Last Updated on Friday, 28 September 2018
Read more...
 
Introduction To The Genetic Algorithm
Written by Mike James   
Tuesday, 07 October 2014

Genetic algorithms pop up all over computer science and applied computing. They are simple, easy to apply and easy to understand. What mystery remains is why they work at all? How can something seemingly so random home in on a one in a million plus solution? 

Last Updated on Wednesday, 22 October 2014
Read more...
 
IP addressing and routing
Written by Ian Elliot   
Thursday, 16 December 2010

Every programmer should understand how the Internet works and this means understanding IP addressing and routing. It's a good time to find out about such things with DOS attacks on the rise and IPv6 about to take over from IPv4.

Last Updated on Thursday, 16 December 2010
Read more...
 
Kolmogorov Complexity
Written by Mike James   
Thursday, 26 July 2018

This xkcd cartoon provides an ideal excuse to explain Kolmogorov complexity. It is an interesting topic and one that gets right to the heart of programming of how programming relates to ideas like information and entropy. This is a subject that still has lots of mysterious connections with things outside of computing.

Last Updated on Thursday, 25 October 2018
Read more...
 
«StartPrev12345NextEnd»

Page 2 of 5