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.



Reverse Polish Notation - RPN

This week's cartoon is based on the use of RPN or Reverse Polish Notation. This used to be a basic of the computer programmer's world, but today it is not as well known. Hence there may be some perfectly clued up programmers who are still left wondering what the sausage is doing outside of the bun.

Read more...
 
Search Engines
 

The web would be virtually unusable without effective search engines that allow us to find the information we want.

Read more...
 
Sequential storage

Sequential storage played an important role in computing history and gave rise to some very specialised hardware and methods. 

Read more...
 
Spintronics

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

Read more...
 
The Birth Of Ethernet
Written by Harry Fairhead   

Ethernet is 40 years old in May 2013 and this article explains why we should celebrate the invention of the first modern communication system.  It is a surprising story that starts, of all places, in Hawaii with a desire to surf - not the web but the waves that crash on the beaches. 

Read more...
 
The Computer - What's The Big Idea?

There can't be a more central concept than “the computer”, 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?

Read more...
 
The Essence Of Programming
Written by Mike James   

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.

Read more...
 
The Fundamentals of Pointers

Despite the fact that pointers have been long regarded as "dangerous" they are still deeply embedded in the way we do things.

Read more...
 
The Heart Of A Compiler
Written by Mike James   

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.

Read more...
 
The LIFO Stack - A Gentle Guide
Written by Harry Fairhead   

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.

Read more...
 
The Lost Art Of The Storage Mapping Function
Written by Harry Fairhead   

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. 

Read more...
 
The Magic Number Seven And The Art Of Programming
Written by Sue Gee   

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?

Read more...
 
The Meaning of Life
Written by Mike James   

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? 

Read more...
 
The Mod function
Written by Mike James   

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

Read more...
 
The Monte Carlo Method
Written by Mike James   

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.

Read more...
 
The Programmer's Guide to Chaos
Written by Mike James   

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.

Read more...
 
The Programmer's Guide to Fractals
Written by Mike James   

Fractals encompass interesting pure maths and computing - and they 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!

Read more...
 
The Universe as a Computer

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…

Read more...
 
Turing's Test, the Loebner Prize and Chatterbots
Written by Mike James   

The Turing Test - it's pure Hollywood. Any time a character in a film wants to impress all they have to mention is the Turing Test. There is even a $100,000 prize, the Loebner Prize, for the first AI to pass the famous test - but this too is mostly Hollywood. With the next Loebner Prize due on September 14th, it's a good time to review the whole situation.

Read more...
 
Variables revisited

 

There is more to the humble variable than meets the eye. We look at scope, global and local.

Read more...
 
«StartPrev12345NextEnd»

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