Babbage's Bag
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.



A Programmers Guide To Interrupts
Written by Harry Fairhead   
Tuesday, 07 July 2015

The trick the computer uses in order to be so productive is to divide its attention between a number of tasks – and for this it uses interrupts. But what exactly is an interrupt and how should programmers think about this essentially hardware idea?

Last Updated on Tuesday, 08 September 2015
Read more...
 
Advanced Hashing
Written by Mike James   
Tuesday, 22 April 2014

Hashing is arguably one of the great ideas of computing and it has hidden depths. Extensible hashing and perfect hashing are ideas that are worth exploring.

Last Updated on Tuesday, 22 April 2014
Read more...
 
All About Kinect
Written by Harry Fairhead   
Wednesday, 30 March 2011

The Kinect is currently the hardware that provides developers with the greatest opportunities for innovative programs - both games and "serious" artificial applications. How does it work? How do you use it? What can you use it for?

Last Updated on Thursday, 14 July 2011
Read more...
 
Artificial Intelligence - Strong and Weak
Written by Alex Armstrong   
Monday, 04 May 2015

The search for intelligent machines started long before the computer was invented and AI has many different strands. So many that it can be difficult to see what it is trying to do or what it is for. We already have an easy way to create intelligent beings from scratch why do we need another one?

Last Updated on Tuesday, 05 May 2015
Read more...
 
Assemblers and assembly language
Written by Harry Fairhead   
Wednesday, 16 January 2013

The sort of instructions that most computers recognize are too simple for humans to be bothered with - and so we invented assembly language. Find out how it works and how it started the whole movement to abstract away from the computer's hardware.

Last Updated on Wednesday, 16 January 2013
Read more...
 
Binary - Negative Numbers
Written by Mike James   
Thursday, 14 September 2017

Binary arithmetic is easy, so easy a computer can do it, but what about negative numbers? This is altogether more tricky and isn't just a matter of putting a negative sign in front of the number.

Last Updated on Thursday, 14 September 2017
Read more...
 
Binary Arithmetic
Written by Mike James   
Thursday, 08 June 2017

What could be simpler than binary arithmetic? It’s just two-fingered counting and, once you know how it works, it seems natural for a computer to use it. But decimal is so built into our hands that it took quite a long time before we realized that two fingers were enough.

Last Updated on Sunday, 11 June 2017
Read more...
 
BIOS
Written by Administrator   
Wednesday, 26 May 2010

You don't often encounter the BIOS any more but when you do it is usually something very messy and unpleasant. What is the BIOS and why do we need it?

Last Updated on Wednesday, 26 May 2010
Read more...
 
Bus basics
Written by Administrator   
Friday, 16 October 2009

Buses are everywhere and yes when you are looking for one they tend to come in threes! With that joke out of the way, let’s take a look at what a bus is in general and in particular.

Last Updated on Wednesday, 14 October 2009
Read more...
 
Cache Memory And The Caching Principle
Written by Harry Fairhead   
Wednesday, 26 June 2013

The caching principle is very general but it is best known for its use in speeding up the CPU. We take a look a the basics of cache memory, how it works and what governs how big it needs to be to do its job.

Last Updated on Wednesday, 26 June 2013
Read more...
 
Cellular Automata - The How and Why
Written by Mike James   
Wednesday, 04 July 2012

You may know about Cellular Automata, if not you may know John Conway's game of Life, but why is this whole subject so important and so interesting? We take a look at not only what a CA is, but why it is so important.

Last Updated on Tuesday, 07 May 2013
Read more...
 
Codd and his Rules
Written by Mike James   
Thursday, 05 October 2017

Theories of how we should organize databases are thin on the ground. The one exception is the work of E.F. Codd, the originator of the commandment-like “Codd’s Rules”. This approach to database has been codified into SQL - Structured Query Language -  and so into most of the databases on the planet, despite what the NoSQL movement might want you to think. So what are Codd's Rules and what is a relational database?

Last Updated on Thursday, 05 October 2017
Read more...
 
Coded Easter Eggs
Written by Historian   
Sunday, 24 April 2011

A software Easter Egg is an intentionally hidden novelty or message concealed for personal reasons within a computer program or application.  We take a look at its history and motivation.

Last Updated on Thursday, 17 August 2017
Read more...
 
Coding Theory
Written by Harry Fairhead   
Monday, 01 October 2012

Information theory – perhaps one of the most remarkable inventions of the twentieth century - naturally leads on to the consideration of how information can be coded and hence coding theory.

Last Updated on Monday, 01 October 2012
Read more...
 
Computational Complexity
Written by Mike James   
Tuesday, 09 July 2013

A lightning guide to the basic ideas of computational complexity without the maths or the proofs. It's almost more fun than programming!

Last Updated on Tuesday, 09 July 2013
Read more...
 
Confronting The Unprovable - Gödel And All That
Written by Mike James   
Tuesday, 11 February 2014

Given infinite computing power surely there cannot be any problem or puzzle that is incapable of solution? The famous or infamous incompletenes theory of Kurt Gödel says different.

Last Updated on Tuesday, 11 February 2014
Read more...
 
Copy protection and DRM
Written by Administrator   
Thursday, 13 May 2010

Copy protection, or Digital Rights Management (DRM) in general, is something that in most cases users hate and the entertainment industry really likes.

Last Updated on Thursday, 13 May 2010
Read more...
 
CPU
Written by Harry Fairhead   
Monday, 27 August 2012

The real complexity of any computer system resides in the processor, but do you know how it works? It isn't difficult - just a matter of "fetch" and "execute".

Last Updated on Monday, 03 September 2012
Read more...
 
Data Compression The Dictionary Way
Written by Alex Armstrong   
Monday, 15 July 2013

One of the most important lossless forms of compression is the LZW dictionary based method. It turns up in lots of compression utilities - ZIP, Compress, Deflate and in GIF and PNG format files. It is also an important idea in programming and you really do need to know something about how it works - if only to avoid reinventing it from scratch.

Last Updated on Monday, 15 July 2013
Read more...
 
Data structures - Trees
Written by Mike James   
Tuesday, 28 December 2010

Classic data structures produce classic tutorials. In this edition of Babbage's Bag  we investigate the advanced ecology of trees - perfectly balanced trees, AVL trees and B-Trees. 

Last Updated on Thursday, 19 January 2012
Read more...
 
«StartPrev12345NextEnd»

Page 1 of 5
 

   
Banner
RSS feed of all content
I Programmer - full contents
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.