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.



Sequential Storage
Written by Mike James   
Thursday, 19 December 2019

Sequential storage played an important role in computing history and gave rise to some very specialised hardware and methods.  You might think that it is no longer relevant and we can forget the lessons of the past, but sequential storage is still with us and its algorithms are worth knowing.

Last Updated on Friday, 27 December 2019
Read more...
 
Spintronics
Written by Editor   
Sunday, 30 August 2009

Spintronics, an emerging technology based on quantum mechanics, is poised to change everything.

Last Updated on Sunday, 30 August 2009
Read more...
 
The Birth Of Ethernet
Written by Harry Fairhead   
Thursday, 01 October 2020

This week sees the 40th Anniversary of Ethernet. It was on September 30th 1980 that its formal specification was launched under the auspices of DEC, Intel and Xerox. This article explains why we should celebrate the invention of the first modern computer communications system.  

Last Updated on Thursday, 01 October 2020
Read more...
 
The Computer - What's The Big Idea?
Written by Mike James   
Thursday, 08 October 2020

There can't be a more central concept than “the computer” to what programmers know, but it is such a commonplace that we tend to take it for granted and miss how truly amazing it is. It might just be that computers are everywhere and built into the very fabric of the universe. So what is a computer? What makes it so special?

Last Updated on Thursday, 08 October 2020
Read more...
 
The Essence Of Programming
Written by Mike James   
Monday, 29 October 2012

We often state that program is just a list of instructions, but this does not do justice to the complexity of this apparently simple idea. A the idea of a program exists outside of any particular programming language, but we only get to see and experience it when it has been expressed. This makes it hard to separate the fundamental ideas from language features.

Last Updated on Monday, 29 October 2012
Read more...
 
The Fundamentals of Pointers
Written by Mike James   
Thursday, 10 March 2016

Despite the fact that pointers have been long regarded as "dangerous" they are still deeply embedded in the way we do things. Much of the difficulty in using them stems from not understanding where they originate from. Pointers are a sophisticated abstraction that wraps some fundamentals of assembly language. 

Last Updated on Sunday, 24 November 2019
Read more...
 
The Heart Of A Compiler
Written by Mike James   
Wednesday, 20 February 2013

Compilers are an essential part of using a computer - but there was a time when they simply didn't exist. First we had to realize that we needed such a thing and then we had to figure out how to build it. If you have ever looked at the theory of building a compiler you might feel that it is a difficult task. The reality is that compiling arithmetic is surprisingly difficult.

Last Updated on Monday, 21 September 2020
Read more...
 
The LIFO Stack - A Gentle Guide
Written by Harry Fairhead   
Thursday, 21 March 2019

The stack is a very simple idea. It is a data structure that has only two simple operations and yet not only is it powerful, it is at the heart of modern computing, both theory and practice. Let's find out more about it.

Last Updated on Thursday, 21 March 2019
Read more...
 
The Lost Art Of The Storage Mapping Function
Written by Harry Fairhead   
Thursday, 04 October 2018

You may not have heard of SMFs, Storage Mapping Functions, but you are likely to have used them. They tend to be overlooked because there are more exciting methods of implementing storage, such as hashing schemes, but really it all started right here with an SMF and there is a sense in which all exciting stuff is just SMFs reinvented. 

Last Updated on Thursday, 04 October 2018
Read more...
 
The Magic Number Seven And The Art Of Programming
Written by Sue Gee   
Thursday, 19 March 2020

The number seven is very important in programming and many other intellectual endeavors. Why is is magic and what significance does it have for us poor limited humans?

Last Updated on Thursday, 19 March 2020
Read more...
 
The McCulloch-Pitts Neuron
Written by Harry Fairhead   
Tuesday, 13 May 2014

Nowadays the McCulloch-Pitts neuron tends to be overlooked in favour of simpler neuronal models but they were and are still important. They proved that something that behaved like a biological neuron was capable of computation and early computer designers often thought in terms of them.

Last Updated on Tuesday, 13 May 2014
Read more...
 
The Meaning of Life
Written by Mike James   
Thursday, 20 February 2020

John Conway's Life isn't just a fascinating program, it's an example of a cellular automaton. The theory of cellular automata (CA) sounds intimidating, but in fact it's simple and fun. It is a deep mystery how complex things arise from simple things – almost without even seeming to try. And how best to implement it? 

Last Updated on Thursday, 20 February 2020
Read more...
 
The Memory Principle - Computer Memory and Pigeonholes
Written by Harry Fairhead   
Friday, 22 January 2016

We discover why computer memory can be likened to pigeonholes and even include instructions for you to build your own memory device.

Last Updated on Friday, 22 January 2016
Read more...
 
The Mod Function
Written by Mike James   
Tuesday, 31 March 2015

What has modular arithmetic got to do with the real world?
The answer any experienced programmer should give you is "a lot". Not only is it the basis for many an algorithm, it is part of the hardware. 

Last Updated on Friday, 23 November 2018
Read more...
 
The Monte Carlo Method
Written by Mike James   
Thursday, 27 July 2017

Monte Carlo methods are powerful ways of getting answers using random numbers to problems that really don't seem to have anything much to do with randomness. For example, you can find Pi and multiply two matrices together all by generating random numbers.

Last Updated on Thursday, 14 March 2019
Read more...
 
The Mouse's Tale
Written by Sue Gee   
Thursday, 06 August 2020

Desktop computer users take the mouse for granted. But where did it come from and how does it work?

Last Updated on Saturday, 15 August 2020
Read more...
 
The Programmer's Guide to Chaos
Written by Mike James   
Thursday, 14 May 2020

You might well think that “chaos” isn’t something that really should be mentioned in the same breath as “computer”, but you’d be wrong. Here's an overview of a  fascinating and disturbing topic and one that every programmer should know something about.

Last Updated on Thursday, 14 May 2020
Read more...
 
The Programmer's Guide to Fractals
Written by Mike James   
Thursday, 18 July 2019

Fractals encompass interesting pure math and computing - and  are very pretty to look at. It is almost a rite of passage that every programmer has to face - write some sort of fractal viewer!

Last Updated on Thursday, 18 July 2019
Read more...
 
The Universe as a Computer
Written by Mike James   
Wednesday, 16 May 2012

Is the Universe just a big computer?
We have been searching for the theory of the Universe, the Grand Unified Theory, for a long time but could the secret be that the Universe is just a computer…

Last Updated on Tuesday, 07 August 2012
Read more...
 
The Working Programmer's Guide To Variables - Scope, Lifetime And More
Written by Mike James   
Thursday, 22 August 2019

Many programmers are confused by the range of variations that there are on the humble variable - mainly because the idea is so basic that we just "pick it up" as we go along. This explanation doesn't cover all of the possibilities but enough of them for you to understand the rest.

Last Updated on Thursday, 22 August 2019
Read more...
 
«StartPrev12345NextEnd»

Page 4 of 5