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.



Introduction To The Genetic Algorithm
Written by Mike James   

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 somthing seemingly so random home in on a one in a million plus solution? 

Read more...
 
IP addressing and routing

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.

Read more...
 
Kolmogorov Complexity
Written by Mike James   

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.

Read more...
 
Magic of Merging
Written by Mike James   

The merge sort is an under-appreciated algorithm - yet it is neat, clever and it still has its uses. With the rise of big data, parallel methods and online processing, you can even argue that it is growing in importance. Let's take a look at how it works and when you should use it. 

Read more...
 
Mouse's tale

The mouse - where did it come from and how does it work?

Read more...
 
MP3
MP3 is just a file format for audio files but judging by the revolution in the way music is listened to since it was introduced you might think it was much more and in a sense it is.
Read more...
 
Muiti-core processors

We are being offered ever more cores within a single processor as if this was as good as making the machine go faster. What exactly is the change from single to multi-core all about?

Read more...
 
Multitasking

We take multitasking for granted now but it was a difficult technology to get right - and still is.

Read more...
 
Neural networks

Neural networks are useful and might provide a route to an artificial brain.

Read more...
 
Non-computable numbers

What are the limits to computation? The computer science theory of computation can be intimidating because of its use of logic but taking a programmer's approach makes it seem much simpler. So if you want to know what a non-computable number is - read on.

Read more...
 
Peer-to-Peer file sharing

Peer-to-Peer (P2P) file sharing is both a technology and a legal, if not moral, battle.

Read more...
 
Power of computing

A quirky look at the power supply. Why do computers need power at all and how do power supplies work. The answers are surprising.

Read more...
 
Power of Operators
Written by Harry Fairhead   

This article  is more or less everything that the working programmer should know about operators and their associated expressions and, of course, the use of parentheses.

Read more...
 
Prime Numbers And Primality Testing
Written by Mike James   

Testing to see if a number is a prime or not is the basis of many encryption and security methods. It has long been assumed that there is no fast way, i.e no polynomial time method, to determine if a number is prime, but now we know different. It is lesson to us all that a classic problem that was long thought not to have a polynomial solution does indeed have one. Given that we rely on some of these problems to keep our secrets safe, this is a change in perspective.

Read more...
 
Processor Design - RISC,CISC & ROPS
Written by Harry Fairhead   

When it comes to processor architecture we still don’t  have a clear agreement on what sort of design philosophies should be followed. How do you make a faster general purpose processor? This is a question about architecture. 

Read more...
 
Programmer's Introduction to XML
Written by Ian Elliot   

XML is a general purpose markup language that can be used to control the structure of data. Despite the fact that many prefer the simplicity of JSON it still has many advantages. What makes it so good?

Read more...
 
Public Key Encryption

Public key encryption is vital to the commercial Internet. We look at how it works and explain the RSA system in detail.

Read more...
 
Quick Median
Written by Mike James   

You have probably heard of Quicksort but this is just one of many partitioning algorithms that work in clever ways to do things faster. Here we look at another of the algorithms devised by C.A.R. Hoare, the Quick Median.

 

Read more...
 
Recursion
Written by Mike James   

Recursion is often said to separate real programmers from the pack. What is it that makes it so powerful? What is it that makes it so difficult? What is the "shape" of recursion?

Read more...
 
Reverse Polish Notation - RPN
Written by Harry Fairhead   

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...
 
«StartPrev12345NextEnd»

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