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   

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.

Read more...
 
Dates Are Difficult
Written by Mike James   

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. 

Read more...
 
Face recognition
Written by Mike James   
Face recognition features in most crime drama on TV. It's portrayed as fast and accurate. How does it work in real life?
Read more...
 
Finite State Machines
Written by Mike James   

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.

Read more...
 
Floating Point Numbers
Written by Mike James   

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

Read more...
 
Fractal Image Compression
Written by Mike James   
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 ...
Read more...
 
Grammar and Torture
Written by Mike James   

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 ....

Read more...
 
Graphics Accelerators
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?
Read more...
 
Hard disks

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

Read more...
 
Hashing - The Greatest Idea In Programming
Written by Mike James   

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.

Read more...
 
Hexadecimal
Written by Harry Fairhead   

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..?"

Read more...
 
How Error Correcting Codes Work
Written by Harry Fairhead   

Error correcting codes are essential to computing and all sorts of communications. At first they seem a bit like magic. How can you possibly not only detect an error but correct it as well? How do they work? In fact it turns out to be very easy to understand their deeper principles.

Read more...
 
How Memory Works
Written by Harry Fairhead   

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?

Read more...
 
Information Theory
Written by Alex Armstrong   
So you know what a bit is – or do you? How much information does a bit carry? What is this "information" stuff anyway? The answers are, unsurprisingly, all contained in the subject called Information Theory, which was invented by one man.
Read more...
 
Inside Bitcoin - virtual currency
Written by Mike James   

Bitcoin is a new currency that exists entirely in software and is under the control of no central authority. Some claim it will destabilize governments and bring the world economy down - others just think it's the future of money.

Read more...
 
Inside Random Numbers
Written by Mike James   

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?

Read more...
 
Inside the Computer - Addressing

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.

Read more...
 
Interpreters, VMs and JIT
Written by Mike James   

The distinction between a static compiler and an interpreter is one that can cause controversy. One programmer's compiler is another's interpreter and the whole subject gets very murky when you throw in the idea of the Virtual Machine and Just In Time compilation. So what is it all about?

Read more...
 
Interrupts

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.

Read more...
 
Introduction to Boolean Logic
Written by Harry Fairhead   

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 basics of computing.

Read more...
 
«StartPrev12345NextEnd»

Page 2 of 5
 

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