C / C++ / C# Sitemap - Page 3 2014-04-20

Welcome New Scientist Readers!
A big welcome to the readers of the British New Scientist magazine who have read the article about Rock, Scissors and Paper that mentioned our RSP Challenge and

Attributes in C#
One of the things I like about C# is the attributes that you can apply to methods and classes. It's quite a powerful feature, and one that will get a tutorial

Nintendo Writing an Operating System?
Nintendo is famous for their NES, SNES, GameBoy and of course Wii game consoles. But now it looks as if they are working on an operating system architecture

Interested in C# Development on the Mac?
This topic on C, C++ and C# tends to be biased towards Windows and to a lesser extent Linux. That happens because it's what I mainly use and I have never

Do You Use Do While?
I started my programming career with Pascal before moving onto C++ and I think Pascal's repeat...until structure which is the equivalent of do...while in C/C++

JSC - Recompiling C# to JavaScript
Yes that is space invaders, written in C#, running in my browser. It's one of many demos for the JSC Reompiler. Interestingly this doesn't use C# code (some

Ten Years of GnuPG!
Just before Christmas, GnuPG celebrated its tenth birthday. GnuPG is short for GNU Privacy Guard and is a PGP replacement that lets you encrypt email and other

Personal Rant about Game Development
I saw a press release last week about a project supported by the Engineering and Physical Sciences Research Council. The project is the result of a £1.2

Checking Diagonals...
In marking Programming Challenge 7, I had to write code to determine if a King (of either color) was in check. It's not the hardest problem but it does involve

A Better Type of Captcha?
Occasionally I do website development- either in PHP or ASP.NET. Now one of the techniques used to stop people logging in with web bots is a Captcha, typically

Programming Challenge 7 Preliminary Results Posted
We had five entrants for this. One had an exception in his code but since sent a working version. Congratulations to Robert C Cartaino who scored highest with

MPI- Message Passing Interface
MPI (Message Passing Interface) is a communications protocol that allows two computers to robustly communicate via messaging and is used in clustering. It was

Programming Puzzle - Any language with Pointers
A colleague asked this one and eventually gave me a rather novel solution to it. You're given a pointer to a single linked list and told that code that

SimCity now GPL'd as Micropolis
Will Wright's classic game and one of the first Software Toys is almost 20 years old, it first appeared in 1989 and I played it on the Atari ST the year after

RSP Week 22 Delayed Plus Programming Puzzle Answer
With another new bot this week from Thomas Vervest my match running software has become a bit creaky and is undergoing refactoring, so results will be delayed

A New Search Engine is Born!
Usually most Internet things use weird or proprietary computer languages, mostly scripted like php, jsp or even C# but there was a time about ten-fifteen years

C and C++ are not the same Language...
Typically, I learnt C and C++ in the wrong order. I seemed to bypass C and learnt C++ first. Mind you before that I'd also learnt Basic, Fortran, Pascal, 6502,

Takeoff with Microsoft ESP
Not to be confused with the extended Stack Pointer register (!) in the 80x86 family of CPUs (I know they have different names but to me they are just more

Rock, Scissors and Paper is Back with Results
Frustratingly though, I didn't get the refactoring finished so this is still running it the old fashioned way. The new way that I want to do is with each bot a

The Interview Paradox
If you have been a developer for more than a few years, there will come a time when you change jobs and you face the dreaded technical interview. The really bad

Academics up in arms about University Computer Science Courses
Two academics (Dr. Robert B.K. Dewar and Dr. Edmond Schonberg) at New York University have spoken out about the increased use of Java as a first language. The

CMPH - C Minimal Perfect Hashing Library
Coincidentally, following yesterday's entry about the state of computer science education, I came across an excellent Sourceforge project CMPH (C Minimal

Free Feature Pack (Beta) for Microsoft Visual C++ 2008
If you have Microsoft Visual C++ 2008 (in Visual Studio 2008) then you might be interested in the free download from Microsoft that provides an

System.Data.SQLite - SQLite in .NET
Occasionally I find what I consider real gems on the web and this is one. It is a complete open source drop-in replacement for the original sqlite3.dll and you

Source Code Conversion of Quake III Arena for .NET
I've played Quake versions II, III and IV and love all three games. In fact just a month ago it was the 10th anniversary of Quake II's release. The source code

VNC - Making Remote Computing Possible
Invented in the UK at Olivetti Research Lab which was acquired by AT&T in 1999 (and then closed down in 2002), VNC is short for Virtual Network Computing and

Nokia to Acquire TrollTech- the QT Company
Following on from the recent Sun buying MySQL announcement, today came the announcement that Finnish company Nokia will make a public voluntary tender offer to

What is a QR Code?
The image to the right is actually the url of this site- http://cplus.about.com displayed in a two dimensional barcode, called a QR Code. QR is short for Quick

Thinking About the Future + RSP Weekly Results
In the software business, change comes if not exactly at a glacial pace but at a somewhat slow rate. A bit like the ticking of a clock. You have to really look

An Operating System in C# (Eventually)
With over 70 million active websites (according to the Web server survey by Netcraft.com) in use there is a massive amount of material posted each day. Some of

TrueCrypt Version 5.0 Released
By coincidence, a new version of the free open source TrueCrypt which I mentioned last Saturday has just been released. Version 5.0 came out a couple of days

Eating your own Dog-Food!
This is a phrase made popular by Microsoft developers who developed operating systems like Windows NT using versions of their own software. The idea being that

Mercurial - a Distributed Version Control System
I've raved about Subversion in the past having worked closely with it for over nine months. One alternative is Mercurial which is a distributed version control

A Way of Compressing a URL
One website I use a lot is tinyurl.com. It lets you plug in a long url like

Keeping Documentation Uptodate
It's only human nature but unless you work in the kind of place which is strict about keeping documentation uptodate, it is almost inevitable that any non

A New .NET Language - Cobra
At the moment, new languages are springing up out of the woodwork with a particular bent away from imperative languages like C, C++ or C# towards more

How small can a working application be?
This applies only to C/C++ developers. You can't ( I believe) shrink .NET code. I was looking at a website today where every program is 256 bytes or smaller.

A Little Bit of Maths
Over the years I've met a number of developers who have little or no maths beyond high school level. Not all programmers went to University, some, especially

Answer to the Average Speed Problem + RSP Results
Such a simple problem but as some of you spotted, it's a trick question. The road is two miles long so at 30 mph it will take two minutes to travel one mile. To

Are you a Developer or a Programmer?
A British computer columnist Dick Pountain recently complained in a magazine article that people were increasingly referring to programmers as developers which

Microsoft Releases File Format Documentation
Published less than a week ago, Microsoft has released full technical details of the formats of MS Word, Ms Excel, and Powerpoint file formats as well as

TntNet - Write Web Applications in C++
At some point or other I think nearly every major programming language has 'powered the web', i.e. acted as the server language that outputs html to your

Using Excel/Spreadsheet to help with the job.
The everyday tools I use include compilers, IDEs, version control software, database clients, and text editors (wordpad and/or notepad++). But I'd also add

AMD Open Sources their Performance Library
They've called it Framewave, and hosted it on Sourceforge.net and are sponsoring its ongoing development. This is for C and C++ developers writing software for

A bit of Phun for the weekend!
It's alright talking about what physics engines can do for you but seeing one in action is a bit different. The Phun engine was devised by MSC student Emil

The Monty Hall Problem - Seems Easy but...
Talking of paradoxes reminded me of the Month Hall Paradox which still baffles a lot of people. Let me quote. A thoroughly honest game-show host has placed a

Freeciv - Open Source Civilization
I've long been a fan of the Civilization series of computer games, originally by Microprose. I even had the honor of working at Microprose Manchester (in the

Monty Hall Problem Answer
As was correctly spotted (and thank you for the C# demo program Robert Cartaino- visible in the comments). As Robert said the answer is that you have twice the

Interpreters are Still Used Today- e.g. CINT
I learnt to write computer programs with a Basic Interpreter in 1976/1977 just a year or two before the Apple II, CBM Pets and Tandy TRS-80 appeared. My first

Monty Hall Problem Revisited
As you'll see from the comments, there are still some who think that staying with your first choice or choosing to switch to the other door means that the

The Easiest Way to Break into Games Development
In the last week or so, Microsoft made available the first of several user written games available on the Xbox 360. It's like the early 1980s again when games

Programming Challenge 10 Now Live
I'll have nine marked in a day or two but challenge ten is now live and is about a form of steganography. When people mention steganography (Greek for hidden

Why You Should Learn C, C++ and C#
I have to admit that I like C# a lot. Microsoft have implemented the IDE in Visual C# 2005, 2008 etc very nicely and Intellisense works very well. The .NET FCL

Dmalloc - Debug Malloc Library
One of the pleasures I gt is turning up useful software, especially free/open source. And some of it is nicely matured and very handy. A case in point- Dmalloc

A Hard Problem- Measuring Language Popularity
Some problems are fairly easy but one that is quite difficult is how to measure the relativity popularity of programming languages. Oh you could search Google

Paste C/C++ and run it online
As well as the C/C++ interpreters I've mentioned in the past there is another way to compile and run a C or C++ program. Just visit the website codepad.org,

Microsoft Research Singularity Project is Hiring
There's nothing quite like an exciting 'out there' name for your project to attract interest. Singularity is one such name and applies to Microsoft Research's

The Game of Empire
As an example of a long lived and popular game/genre it's hard to beat Empire. I came across this from a friend at University in 1982 and a printout of the

Programming Challenge Nine Marked
Well done to everyone who entered- all got the correct answer and special congratulations to Robert C Cartaino with the fastest time. One question,

Responding to The Challenge!
Robert C Cartaino (Challenge 9 winner and comment poster from the previous entry) posted a challenge to work out what would be output from some code. Here is my

NSIS - A Free Professional Installer
As a games developer in the 80s, I did some work on writing installers- I developed a software installer authoring system for the CBM-64 tape deck. Commodore

Memory Concepts in Modern Computers
I've been having an email correspondence with a reader on the subject of writing to memory. He wanted to know how he can write a value at an address that he

Use of Bug Tracking Systems
I've probably not mentioned these before because no one likes to be reminded of their bugs. Whether there is just one of you or a thousand in your team, you

XBMC - Google Summer of Code 2008 C++ Project
I've mentioned the Google Summer of Code before - the annual internship for students, sponsored by Google to help develop open source projects. One such project

NeoAxis Game Engine
Many people I know dream of writing their own games. I did it in a simpler time, 24 years ago when one person could design the graphics, create the sounds (and

C-Jump - The Board Game!
I'm on holiday (Spring Break, or as we British people call it Easter) until Tuesday so in the holiday spirit, here's something a little different. Want to teach

A New IDE for Linux - MonoDevelop hits 1.0
Generally I try to be Operating System agnostic- all three languages C, C++ and C# are available on Windows, Linux and Mac-OS, as well as others like

TOR - Anonymity on the Net
While some people are suspicious of anyone making themselves anonymous when surfing the web, there are plenty of people who have a legitimate reason for doing

My Comments on Comments in Programs
Traditionally there are two schools of thought with comments. You need them because your code is way too clever and hard to read or understand.You don't need

Is it Me or My Code?
Sometimes, usually at times when I am busiest problems occur that half convince me that I've woken up in a parallel universe where everything seems the same

Writing Games for a Living
I don't write games now full-time now, but I used to. However today I got a 6 month contract job offer as a C++ game developer in London from two different

SQL Problem Resolved and a new PC!
As one commenter correctly guessed, it was corruption in the SQL text but I think it occurred in Outlook not Excel. For some as yet undiscovered reason, some of

C# Tutorial Will Appear Later this week
Remember when you are getting estimates from developers for when their work will be completed, always multiply their estimate's length by two and add three.

Google Supporting KML with C++ Library
KML is the geographic data file format (and XML grammar) used on Google Earth and Google Maps. If you are comfortable with XML, you'll have no problems with

Mobile Linux - The LiMo Foundation
I think the name LiMo is a bit naff (English word meaning silly!) given how many people drive around in Limos but if you'll excuse the pun, I think this one has

Programming Challenge 11 is now live
A card puzzle game I've owned and played for many years is Set invented by a geneticist Marsha Falco in 1991. You have to identify matching sets of three cards

Pandora - Portable Linux Games Console Coming Soon
Well my quest for a low cost portable Linux box (as opposed to the desktop PC which I now have) continues, and Open Pandora looks a very interesting open

Programming Challenge Ten Results In
Congratulations to Sameerkumar Namdeo (India) whose code managed to beat the others for hiding and then extracting a text string from a complete book in under

Free C# Game Programming Webcasts
DigiPen Institute of Technology, a company that started out 20 years ago in computer animation now teaches degree courses in Redmond Washington. They have also

C/C++ Programming Puzzle
It's been a while, so just to refresh you; what will this output? #include int fx(int * p) {    return (*p += 1) ; } int main() {

Installing Microsoft Visual C#/C++ 2008 Express Editions
If you're tempted to dip a toe in the water with programming on Windows I can recommend both Visual C++ 2008 and Visual C# 2008 Express Editions. They are both

Programming Challenge 12 Posted
This one is a bit early for a change and doesn't start until May 1. You have to process a file containing a map of ten points with every location in the file

Writing Multi-Player Games in C# for Money
Traygames.com is a commercial firm that has developed a platform for quickly running multi-player games. Their entire back-end infrastructure, client,

So I'm changing jobs...
Though it's at the same desk, in the same company working for the same boss! My current position is a consultant in an investment bank developing software for

N-Gage 2.0 C++ Games Platform Launch
Nokia's original N-Gage shown in the photo, came out over four years ago and was a dedicated games console and mobile phone that aimed to rival the Nintendo

Wykobi - C++ Computational Geometry Library
A graphics library lets you draw shapes etc, perhaps animate them. The GDI+ in Windows for example. A computational geometry library though is a bit of a

Computer Generated Art- Filigrams
Thirty years ago at University I acquired a collection of ASCII art (Star Trek, bunnies etc) that was an early form of computer art. We could only print them

Developing an Online Game - One Small Step
As well as writing here and holding down a full-time job I also do other computer related activities, often including websites. The danger is that when you do

Some Thoughts on Outsourcing Development Jobs
A company I used to work for didn't outsource as such. They opened up an office in Shanghai and recruited developers there. Given that they could get 4-5

Using The Programming Tools That You're Given
I think writing software is getting harder, or at least there's a steeper learning curve than there used to be. When I learnt 6502 Assembler, all I had to

Game Development Notes
This is the first of a series of occasional notes on the development of an online multi-player game. I did a lot of coding for this online game (that I

Code and Data Rot
By now I guess most people are familiar with web rot. This is the phenomenon where an old website that hasn't been maintained is full of broken links or links

Recommending a Book on Assembly Language!
Have I gone soft in the head? Why would I suggest a book on Assembly Language to high level developers? Because It covers a lot of common ground about Linux

Starting ASP.NET Development
Today I sat down to learn what for me is a new technology- asp.net. I learnt html in a night class back in 1999. By coincidence I got a dotcom job as a

A Free E-Book on Learning C++
Herbert Schildt is a well known author who seems to have been around for ever. The first book I bought on C++ in 1991 was written by him. Now you can read his

Managing Very Big Quantities of Data in C++
If you consider just how much data is held by Google; not just for their search engine with billions of web-pages but Google Earth, Maps, Orkut etc it is truly

Is it Worth Making Code Run Faster?
Back in my halcyon youth as as a game programmer in Z80 and 6502, I reckoned that my old CBM-64 with an 8 bit CPU clocked at 1 MHz could execute instructions in

Downloaded the New MFC 2008 Feature Pack Yet?
Back in January I commented about the available Betas and the full version of the MFC Feature Pack is now out as a free download for Visual C++ 2008 (The full

Inkscape - Open Source Vector Drawing Program
Although not at version 1.0 yet, Inkscape is a quality vector drawing program not unlike Illustrator. I'm pretty dire in the artistic stakes, more technical

C# Programming Puzzle
Answer tomorrow. Without trying it, will this compile and if so what does it output? using System; using System.Text; namespace ex1 {

Answer to C# Programming Puzzle and Another!
If you're used to C or C++ and not C#, you'd expect the compiler to whinge about the casual mixing of incompatible types but C# is more like some scripting

My Progress With ASP.NET
It's not that it is intrinsically difficult, I think I was just trying to run before I could walk. I've just spent three days last week taking an existing

Hungarian Notation or What?
In case you didn't know it, Hungarian names are apparently given in the order family names first then personal name. This was the reason given for Hungarian

Warning! Silverlight 2.0 Beta or Visual Studio 2008 SP1 Beta?
When you have two overlapping technologies, in this case Silverlight and Visual Studio, both with betas there is the risk that things won't work together. It's

Starting Some New Tutorials
I've been asked if I would write some additional programming tutorials for people who are totally new to programming and on both Linux and Windows. These will

Ever Heard of Cuda?
No it's not a misspelling of a certain Caribbean island! A few years back it was discovered that graphics processing chips (GPUs) could be used to offset much

Using Eclipse For C/C++ Development
One thing that C and C++ are not short of is IDEs. Eclipse which started life as a Java IDE has the CDT (The C/C++ Development Tools) project which is now up to

C# Programming Puzzle by Robert C. Cartaino
A regular entrant in the programming challenges (and winner) Robert C. Cartaino has sent in this puzzle. In C#, the value of any type can be treated as an

C, C++ and C# in the UK Job Market
I've mentioned jobs in the past but recently came across an excellent UK job tracking website that gets data from agencies and employers and shows

Answer to C# Programming Problem (by Robert C. Cartaino)
The output is: False True Why? When comparing two objects, the equality operator (==) checks to see if the objects are exactly the same object

DreamSpark - Getting Microsoft Professional Tools For Free
I don't mean by downloading from dodgy websites or P2P networks but obtaining the software legally and legitimately. If you are a student in the United States,

Internet Problem Solving Contest Tomorrow! (May 24)
Sorry this is a bit short notice but I only found out today. If you run a programming contest please write and tell me (so long as C, C++ or C# can be used).

Latest C Tutorial Published - Random Access Files
Back nearly twenty years ago before databases (or even networks for PCs) were used much, if you wanted to have file access you used either text files or random

Game Enough to Win a Few $1000?
There's less than three weeks to go as Microsoft and Dr Dobb's magazine are offering several thousand bucks in prizes for the best modifications of the Dr.

Nathan's Zombie Simulator in C#
A 21 year old programmer who hosts the blog Wr3cktangle has published the source to his Zombie Simulator. It's a simple simulator, a variant on the

Sysinternals Utilities Now Available Online
One of my favorite set of free developer utilities on Windows is the sysinternals.com collection. Whether it's filemon to see what's writing to a file, regmon

A New type of Visual C++?
Developer John Torjo has just released eGUI, short for Easy GUI. This is a C++ library that masks the complexity of Windows GUI programming. It completely hides

Crawling up the ASP.NET Learning Curve
Coming from a background where I've developed websites using the original asp and have written a fair number of php websites, the realization about the use of

An Embeddable Web Server written in C
With all this talk of ASP.NET, it's easy to forget that C and C++ developers can also interact with the web as well. I recently came across SHTTPD which is a

Are there many WPF applications out there?
WPF (Windows Presentation Foundation) first emerged with Vista and is now on XP if you have the .NET 3.0 framework installed. If you want the .NET 3.0 framework

Can You Write a VPN?
True story. I got emailed the other day and asked if I could help someone Write a VPN for his son. Of the many varied things I've written, sadly a Virtual

A Free E-Book on Parallelism
My background was computer science and though I graduated nearly 30 years ago, I still retain an interest. Many graduate level publications in the field are an

An Open Source alternative to MS Word - AbiWord
Now in its 8th or 9th year Abiword has grown in stature as a Microsoft Word look alike (well until Office 2007 came along!). Mostly written in C++ with a

Has WPF Really Taken Off?
With my games programming experience (technically about as useful these days as a apprentice stage coach builder!), I can understand the technical enthusiasm

C++ Timing Code For Linux
Dennis Muhlestein who was one of the Programming Challenge 12 entrants has created a Linux version of the Timing code I wrote for some of the Programming

C++ Advanced Data Structures - B+ Tree.
One of the things I've always liked about programming is advanced data structures. Just think of the problems that face Google and other search engines; coping

Game Contest! Win Dollars with Your XNA Game Submission
No prizes though for guessing which gigantic software corporation that is into C# is sponsoring this contest. Up to $75K is up for grabs with $40K to first

A free Graphics E-Book by Michael Abrash
Anyone in game or just PC programming from the late 80s on should recognize the name of Michael Abrash. As well as working on the original Quake (optimizing it)

C Programming Puzzle - Count Down!
This is C only, not in C++ as you could probably solve this with templates! Write a small program in C to count down from 50 to 1 using printf to output each

Mega Collaborative Game Development
Slightly off-topic for once but it's about software development (and games). As part of three contests they've been running for the last few months, Acclaim is

Another C# Puzzle from Robert C Cartaino
C# allows conditional compilation so #define Debug class program {     static void Main()     { #if Debug

Yet Another C Puzzle!
it's just a phase I'm going through- normal service will resume shortly! Ralph Lakes sent me this one and I must admit it fooled me for a minute. Can you see

Change to Programming Challenge 13
Apologies to those who have already entered, you can resubmit entries if you want. The change is that hits on a ship can now return the type of ship hit and

Nokia's Big Giveaway (and purchase!)
I know I harp on about non computer devices, but while it's now estimated that there are a billion PCs of all sorts in the world, there are probably 4 billion

TADS- Writing Interactive Fiction Games
Interactive Fiction is the modern name for Adventure Games. These were a single player text game where you typed in instructions like Go North. The computer

Reviewing a Java Games Book!
No don't panic, I haven't defected to the darker side (depends how you like coffee of course!) but occasionally I get sent books to review. I know, it's an

ASP.NET Development Continued
As I've blogged before I'm engaged in a non work project (a website) and learning ASP.NET 3.5 to do it. My web development in the past included original asp

Programming Challenge 14 Posted
Thanks to all who entered Challenge 13 which is being marked now and I'll hopefully publish the results tomorrow or Wednesday. The next challenge is a very

Being Stylish in C++ - The Google Way
You might heard of a outfit called Google who run a popular search engine. They also develop a considerable amount of software for their own use and much of it

A Day of Open Source Releases
Both Microsoft and Google have released open source versions of internal tools. Google's release is Ratproxy, a cross-platform tool for helping identify

Programming Challenge 15 Posted
Yes this one is definitely a bit early; it doesn't start until August but I wanted to make sure there weren't any gotchas or things I've overlooked. If I've

Grace - Writing C++ In a more Modern Way
I can't see C++ purists really taking to this but those who have been learning other languages first then C++ might consider it. Grace is an attempt to hide

C++ Programming Puzzle
Here's some source code for a class to manage planets in an astronomy program. A planet is created with co-ordinates (assume those are correct- the values are

A Truly Open Cell Phone - Cell Phone
OpenMoko Neo FreeRunner is a cell phone that was launched last week though availability is still pretty limited. Whether it sets the world on fire or not (and

Sometimes Assembler Is Ok
I've said it before that for most programming you don't need assembler. The disadvantages of using it are: that it's less portable, slower to write, and is

11th ICFP Programming Contest
Yes it's that time of year again. Organized by the Portland State University and the Univerity of Chicago, this time you have to write software to move a Mars

Deploying SQL Server Databases - The Hard Way
With my ASP.NET development, I've come up against a similar problem that I had in my last job when I worked on SQL Server Express 2005. Deploying the contents

Google Open Sources Their C++ Unit Testing Framework
The Google C++ Testing Framework known also as Google Test, based on xUnit has been used by many of the Google C++ developers to help in unit testing their C++

ASC - Multi-Platform Open Source Battle Isle Type Game
Back in the early 90s, Blue Byte (later famous for their The Settlers games) had a series of successes with their Battle Isle games. These were a traditional

Google Code Jam Starts Today- Win $10,000
Google Code Jam is a programming competition which both professional and student programmers can enter. The problems you have to solve are complex algorithmic

A New Way to Make Money Programming in C
It's difficult to have escaped the buzz about the recent iPhone 3G launch and its sales in excess of 1 million. What makes this a compelling platform (apart

Taking Better Photos With your Canon Camera
No you're not on the wrong topic, this is about C, C++ and C#! The Canon Hackers Development Kit (CHDK) is an open source application written in C that provides

ASP.NET Development Continued
I spent a large chunk of the weekend advancing the ASP.NET application. It's starting to settle down but still has some very rough parts. I feel the way

A Cross Platform GUI Toolkit - Agar
Once you consider developing cross platform GUI application development then life gets more interesting. You can play it safe and go down the QT route or

PowerShell in ASP.NET
The power of .NET is that it is language agnostic. There are over twenty different programming languages implemented on it with more no doubt in the pipeline.

PDFsharp - PDF Generator for .NET
Over the last few years before moving to .NET I spent considerable time investigating PDF libraries on Win 32 both free and commercial. Getting text flowing

The 10 Commandments of Henry Spencer on C Programming
In between writing code and tutorials I prowl the length and breadth (virtually speaking) of the web looking for interesting stuff to link to, to write about or

A Fascinating Java Project- PC Emulation!
No, I'm not losing my marbles and yes I think it's relevant to C,C++ and C#! The project I'm referring to is an Oxford University project JPC which completely

ASP.NET - My Adventure Continues
The design of a website; the look and feel rather than its functionality depends upon a great many things and I'm not a great designer. If I'm looking for a

A C++ Programming Puzzle
My thanks to Cristian García-Ramírez who sent in this C++ programming problem. Without compiling or running it, can you say what happens when you run this code?

Very Fast Open Source Messaging
One of the bits of computing that you don't often hear about is messaging unless you work for a big company. Yes it's another Enterprise software thing. The

Programming Challenge 14 Still Being Marked
There were 13 entries; thanks to everyone who entered. I'm working my way through these and will hopefully have them marked by later tonight or at latest

Sometimes Programming Makes You Too Clever (Another Puzzle!)
Challenge 14 is now marked- there's a link below. Congratulations to Makis for his stunningly fast multi-threaded multiply. When I design software, I try and

The Answer to the Puzzle
The digits were 0,1,2,3,4,5 and 0,1,2,6,7,8 as was correctly spotted. But how does that handle the ninth, nineteenth and 29th? That's the lateral thinking bit-

Distributed Compiling of C/C++ On Linux for Free!
Because of the complexity of C++, compilations can take a long time. A major deficiency is the partition of compilation units which came straight from C with

Free Database Models!
If you work professionally the odds are that you will need to write code that uses a database. In big firms particularly you probably won't have any control of

An Interesting C Program and Puzzle
I'm not sure if this will correctly format so I've also provided it as a download. It's a great example of how not to write a program and I found it on

Microsoft Releases SP1 for .NET/Visual Studio 2008
Nine months after the original release Microsoft have brought out service packs for the .NET framework and for Visual Studio 2008. The framework update is not

Answer to C Programming Puzzle
That was too easy perhaps (malempati sussed what it did) though no one actually gave me the answer I was looking for. It's a recursive program as best I can

The Disruptive Nature of Open Source- Asterisk
You would think that private branch exchange (PBX) software to manage telephones which many companies use, is not the type of thing that would make a success in

Buying an iPhone and learning Objective-C/C++
I've made the decision to not only buy a 3G iPhone, but a Mac Mini as well so I can try my hand at developing for it. Why? Well I'd been considering getting an

Programming Challenge 17 - Implement the Cellular Automaton known as Life.
This isn't due until the end of October but as I thought of it the other day, I thought it best created before I forgot about it. Nearly 40 years ago a British

Boost 1.36.0 released - With Four New Libraries
Boost is the C++ next generation STL and it's almost six months since 1.35.0 was released on Boost's 10th Anniversary (or pretty near). Boost is a collection of

MyGeneration - Open Source C# O/R Mapping
I really love open source (yes I know that the iPhone and open source are incompatible- sad really) and some of the projects around are quite remarkable. I've

A Silly C# Programming Puzzle!
August is regarded as the silly season in the UK so here is a silly programming puzzle. What does this short bit of C# code do? Will it compile and/or run? Can

Linux Is Getting Its Act together
If you had ventured into Linux waters say 10 or more years ago to the extent of keeping software updated you would have noticed that occasionally things got a

Quadruple Your Desktop Thanks to SysInternals
Slightly off topic but I like to keep you aware of useful tools that can simplify your life as a developer. Mark Russinovich and Bryce Cogswell of

What is a Protothread?
Protothreads is a free (BSD-style licensed for both commercial and non commercial use) highly portable library for applications in C that provides lightweight

More on the ASP.NET Development
As it was a public holiday in the UK on Monday I spent most of it on the website project. I made a break through in that I got my own dynamic menu system

I am now a registered iPhone Developer
But I promise not to be too boring on the subject! I now own a Linux box, a Windows box and now a very dinky (cute and small) Mac Mini. As a first time Mac

Microsoft SQL Server 2008 Express Released
The latest version of Microsoft's flagship database product has been released and now there is the free Express edition (PDF Features). This comes in three

Programming Challenge 15 DeadLine Today
I think that Programming Challenge 15 joins the ranks of the too hard as there was only one entry so it looks like congrats to Pedro Graca from Portugal for an

Wt - Write Web Applications in C++
This is interesting if you want to write your own web server based application but not have to learn a server-side language like ASP.NET or PHP etc. WT is an

Name the Open Source Project!
That is 429.3 MB in size and requires Visual C++ 2005 to build on Windows. The new open source browser from Google is called Chrome and is initially only

Two New Free E-Books
It's not that easy to find legitimate E-Book downloads but here are two which I've just added links for. The 2nd edition of Bruce Eckel's classic Thinking in

iPhone Development Continued
I have been getting upto speed (a) on using the Mac and (b) on Learning Xcode the Mac IDE. Xcode is quite complex at first glance and the number of config

Lateral thinking in Action
I've always tried to solve problems through lateral thinking but it's not easy. Only a few puzzle sussed the trick in the Dice puzzle. Here is an example of

Minor Annoyance with ASP.NET (But it was my fault!)
What makes ASP.NET handy to work with can also be a real pita. I'm talking about the controls for login registration etc. It all works very well except they

Do/While Considered Confusing
All three languages (C, C++ and C#) have three looping statements in common (if you forget goto) or ForEach. These common loop statements are for, while and

Hexen and Heretic Source Code (C) released under GPL
If you were playing PC games fifteen years ago then you might remember Heretic and/or Hexen (by Raven Software). The game used the Doom engine software and was

Good Old C - The Workhorse Language
I've noticed an interesting phenomenon with some of the modern functional languages (and older ones like Lisp). The language might be interpreted but more often

Reduce Your .NET Line Count- PostSharp
Czech Republic developer Gael Fraiteur has spent four years of years building PostSharp and it just reached version 1.0 yesterday. PostSharp transforms

Programming Interview Type of Question
This isn't complicated enough to be one of the monthly programming puzzles, so have a try and post your answers in the comments (with code to show you didn't

Google Making a Mockery of C
No, it's actually a good thing! Google has released CMockery, a lightweight library that makes it easier to write unit tests for C applications. If you have

Answer to Gambling Problem
As promised, I had a go at coding this - the answer to the Interview question. You can see my first entry here. It's a simple class which uses an array of ints

An Interesting Programming Paradigm
I'm on holiday and writing this from a hotel room in an East England seaside resort. Years ago (back in the Apple II days) I remember seeing a visual

Mapping With Open Source - GRASS
GRASS is short for Geographic Resources Analysis Support System and is a Geographic Information System (GIS) used for geospatial data management and analysis,

Thinking About Graphs
Not the usual visual charts when you plot functions but the type found in advanced mathematics. A graph is a special data structure made up of connecting lines

Open Source Video Compression From the BBC
As paid for by the tax payers of Britain (including me!). Dirac, named after a British physicist and Nobel prize winner is a video compression/decompression

Seeing Stars with C/C++
No, I'm not annoyed with those languages, I've been looking at Stellarium, an open source planetarium software. If you know Google Sky and Microsoft Worldwide

GTK+ Now avaiilable for Mac
GTK+ is a cross platform toolkit for creating mainly Linux and Unix GUI applications as well as 32 and 64 bit Windows. It was originally for the GIMP ( GNU

Complexities of Software
For another project I'm on (C++ casual game development), I am installing Netbeans. This is a Sun platform and IDE and includes C/C++ development with GCC/G++

Recaptcha - Killing two birds with one stone!
Spammers try to get free email accounts so they can send more spam or add spam comments to some blogs to help promote their website. That's probably the main

The iPhone Development Continues
I'm continuing a two pronged attack. First is watching all the videos etc that Apple provide and reading all of the reference material in Xcode. Because Apple

Apple Scraps the iPhone Developer NDA
A major criticism of Apple was that they had kept the pre-launch NDA for the SDK etc. This was attracting a lot of criticism, authors were able to not write

Interesting C Puzzle
What does the following function do? #include float puzzle( float inp ) {   const float ths = 1.5F;   const

A Faster Algorithm For Indexing - FastBit
Apologies, the marking of Challenge 17 has been a bit delayed but will be completed soon. Until recently I didn't know that the US Government (Well Lawrence

Answer to C game Programming Puzzle
In the C Programming Puzzle, commenters correctly spotted that it was a square root function albeit rather mysterious in how it works. To stop anyone finding it

Silverlight 2.0 Release Candidate 0 Launched
It's taken a while and it's not quite there yet but Microsoft's Flex Killer - Silverlight 2.0 is nearing release and the first release candidate is now

Mono 2.0 Is Released
This is a major release with lots to try out. Project Mono is the implementation of .NET for Linux, Mac OS X and Windows. Generally it is playing catch up with

Using Amazon Simple Storage Service (S3) from .NET
Amazon, the online book (and everything else) store has been running an online service S3 for storing data for a few years. Objects up to 5GB in size are held

On a Solitary Death March!
Most programmers encounter the Death March at some time in their career. It's not that bad- the work I am doing will succeed (not fail) but it has been a long

Silverlight 2.0 is Go!
You might find the Silverlight.net website a little busy today as everyone and their dog is downloading Silverlight Version 2.0 onto Windows and Mac computers.

Being Better Isn't Always Best! PostgresSQL
In low cost web hosting you really only have two main choices of database, MySQL on Linux/Windows and SQL Server (200,2005 and now 2008) on Windows (MS Access

Using Open Source on the move
This week I'm on vacation at a country resort in the East of England. I'm using my wife's laptop (Windows) and fortunately we have free WiFi where we're

Source Code for Android is Now Open
I've mentioned Android before. This is a cell phone platform developed by Google. The first example of an Android cell phone goes on sale in the UK in a couple

I'm not into Functional Programming but...
I realise others may be, so I'm stepping out of my comfort zone suggesting that if you're into C# and want to try a functional language such as OCaml (Objective

Having Your Say With Tools Development
I have strong feelings (putting it mildly!) about IDEs. Unless you adopt the Java model of one class per file (bad in my opinion), you can end up with

A Secret Built-in Database in Windows XP/Vista!
Today I came across a link to the Microsoft msdn website which documents the Extensible Storage Engine. This uses ISAM (Indexed Sequential Access Method) to

31 Free iPhone Apps with Full Source Code
Well 25 so far with six to go. The website appsamuck.com is publishing 31 individual applications, each with full source code and graphics for the iPhone.

A Quick Reminder of Programming Challenge 17
This is due up at the end of the week and I'll mark it over the weekend. We've got five entries so far so more welcome! If you've forgotten, its to program the

Cracking a Secure Card with Crapto1
A few months back there was quite a fuss when it was revealed that the security on a contactless smart card using the MIFARE Classic chip could be easily

It's a Basic Interpreter but...
The Pagetable.com website have been writing some interesting software in C. How about a Commodore Basic Interpreter (from a CBM-64) that compiles on Windows,

Programming Challenge Time Again
This weekend is the deadline for challenge 17, so you have until Sunday lunchtime to get your entry in. From tomorrow Challenge 18 is live and it is to generate

Studying iPhone development at Stanford or Online
This year's course actually started over a month ago (September 23) so it's too late to join, but it's an interesting syllabus and worth a glance plus there are

NetHack - from ASCII to 3D
NetHack, a descendant of Rogue is one of the oldest games around, having just reached 21 years old and is still in development at version 3.4.3. It's a hack

Xiph.org releases Theora 1.0
A codec is a pieces of software that can both code and decode video hence the name, just like modem is short for modulator demodulator. If you've seen any video

Low Cost Microsoft Software for Startup Businesses
Slightly off topic, but not content with giving away the free Express Editions of Visual Studio, SQL server etc, Microsoft is now offering a three year almost

Developing Games Part Time While Working Full-time
I'm doing that myself but here's another example of someone creating a game. Using C# to power the asp.net website with SQL Server, developer Aaron Murray has

Cairo Graphics - Open Source 2D Rendering
As part of my iPhone development I've been looking around at C and C++ libraries. Though the iPhone has extensive graphics capability e.g. through Quartz and

Peeking Under the Hood; NIB Files Exposed
I continue to work on my iPhone application and out of curiosity today copied the .NIB file for it over to my Windows box. I'm still feeling my round the Mac

Reading PDF Files in C++
There are a number of utiities with source code for writing PDF files (including Max OS X where it is the native Metafile format) but not so many for reading.

Setting up Subversion Server on Windows
At my previous job, we switched to using subversion (hosted on Linux) from an existing proprietary, old fashioned and quite clunky version control system. I

Does a Neural Network Weigh Up?
Many moons ago when I was writing commercial wargames, AI for the computer player was always a difficult thing to do. Mine were coded solutions, eg the AI had

Adobe weaves some Alchemy
I've mentioned them in the past because they're not just into Flaah but C/C++ as well. As a bit of an experiment through Adobe Labs are providing Alchemy, a

Amazing Home Brew Operating System
Imagine you're a programmer who likes games and over a five year period you write a home brew operating system with it's own compiler, kernel, graphics (albeit

A Success Story - A Console Soccer Game (in C++)
Earlier today I visited a former colleague and friend of mine Roger Womack who has been working on a Soccer management game for 20 years. It is launched on the

Programming Like Its 1983!
I remember 1983, when the CBM-64 first appeared, Sinclair Timex were selling well and the home computer revolution really started taking off. Back then most

200 Dollars Per Hour!
That's about £1,000 per day. What am I talking about? iPhone Contract development. The US figures come from Raven Zachary's blog on OReilly. These rates won't

A Catalog of Free C Compilers
Being the simplest programming language it's not that surprising there are so many C Compilers around, virtually all free. As well as the well known ones like

A Programming Book without Code!
Yet it's one I recommend. Best of all it's free and online. How to be a Programmer: A short Comprehensive and Personal Summary by Robert L. Read. I started

Help Free The Postcode (In the UK)
Unlike the USA, where you can easily get the latitude and longitude information for a Zip Code, in the UK the Post Office jealously guards that information (

C Programming Puzzle
What does this piece of C code do? It's from a book and provided as an example of how not to layout code because it looks horrible. main(int v,char**c){

The Shallow End of the Development Work Pool
There are a large number of freelancing websites which invite developers to bid for projects. You might be tempted to apply for them but to be honest, I think

A Free Lightweight Game Development System
Lite-C was developed by Conitec GmbH, Dieburg in cooperation with Atari to let you quickly and easily develop graphics or virtual reality applications like 2D

Help Wanted! A C# Programming Problem
I am working on the follow up to the Rock, Scissors and Paper Programming Challenge and want to use the same principle that anyone can submit code (in C, C++

Run C/C++ Programs in your Browser!
You can already run Flash, C# or VB.NET with Silverlight 2) and ActiveX controls written in any language in your browser but this is somewhat different. This is

I have given up on ASP.NET Development (for the Moment!)
I really tried hard but I found just too much not to like and with a pressing requirement to finish a website, I reverted back to php. The final straw was the

Using MySQL with Microsoft Visual C# 2008 Express Edition
Over the last 12 years I have helped a friend of mine Brian create an application for managing dog shows, according to the UK Kennel Club rules. Not exactly

Programming Challenge 20 - Sieve of Erathostenes
This is a technique for working out if an integer is prime, i.e. can't be divided cleanly by any number except itself and 1. 2 is prime but no other even number

Looking at SQLite again
I've mentioned this before- a totally free embedded (no server) zero configuration transactional SQL database engine with the C source code in the public

C++ Programmers are Just different from C Programmers
C# programmers can just sit on the sidelines and smirk. I can't quantify it exactly but from what I have seen there is as much software written in C as there is

Genetic Algorithms (GAs) Visually Demonstrated
I've never really said much about GAs because it's not something I've any experience with but there's an interesting example of a GA in use by developer Roger

I hate CVs (Resumes)
No I haven't misspelled CVS (the Version Control System), I mean CV as in resumes- the employment record that you send off to agencies to get a job. In a past

A Very Clever Application
Last week I downloaded a free application called SnapTell for my iPhone. You take a photo of a book's cover with it, which is sent to a server and 30 seconds

Lua- a Scripting Language for Games
It's not the best kept secret but the video games industry makes extensive use of scripting languages such as Lua to control game logic, trigger events and

The Lowdown on Shaders and Free E-Books!
When you read about GPUs (Graphic Processing Units), you'll see plenty about shaders but what exactly is a shader? Well it depends upon the type of shader- ie

P2P Is as Natural as Networking
For some reason, P2P (Peer to Peer) is regarded as an illegal activity that must be condemned and stopped. This is pretty stupid as P2P is just a way for two or

Testing whether this would make an Interesting Challenge
I'm away for a few days but have a laptop and free wi-fi so you haven't seen the back of me - I'll still be posting. I've been considering having you write the

Global Optimization - An E-Book
Thomas Weise, a researcher and PhD candidate at the University of Kassel has published a free 585 page e-book (with over a hundred pages of references!) on the

TIOBE Lauds C and C++ as The Languages of 2008
The Tiobe index (based on the number of skilled engineers world-wide, courses and third party vendors, all determined from the web) looks at various search

If You Don't Test Boundary Conditions...
If you own a Microsoft Zune then you may have experienced a little bug on December 31 2008. Last year was a leap year and this code executed. Can you see a

Interesting C++ Project - Game STL
Much like the C++ Standard template Library (STL), Game STL is a bridge of sorts between the full STL and barebones C++. The project was only launched in

Many Zune Owners Lost their Music Player on Dec 31
Yes the code from the Zune had a slight date flaw in it and on day 366 of a year (ie every leap year) it hangs in an infinite loop, as many Zune owners found

"The Marking Continues" Plus Industrial Strength C++
Me bad for setting a challenge that has some solutions with running times in hours! Although it's tempting to say enough is enough, when someone has put in a

Marking Almost Complete + Deep Earth
There's nothing quite so bad as waiting for a program to finish after several hours and then on examining the output discovering that the final total figure

Marking Completed + An Unusual Input Device
The winner is Belarussian Aliaksei Senko whose entry ran all last night, so congratulations to him! Thank you to everyone who entered- this must have used up a

Making Sense of Microsoft - PhotoSuru.com
There's a fable about three blind men encountering an elephant- and each feels a different part so there are three different descriptions by them of what an

The Biggest iPhone Development Surprise yet - C#
There are about 40 apps and games in the app store that were programmed in C#. This does not mean Windows C# but Mono, the Linux implementation of .NET. For

The Most Dangerous Programming Errors
Just published by Sans.org is the list of 25 most dangerous programming errors. These were compiled by experts from more than 30 US and international cyber

Seven Plus or Minus Two
Supposedly this is the number of items (from 5-9) that typically humans can remember at time. Any more and you start forgetting. If you are designing GUIs with

A Simple Russian Football Simulator in C++
One of the things I love about Google is the language translation facility. On the wordnet website home page in yesterday's blog entry there was a complaint

MusicBrainz Client API
You might have come across the MusicBrainz community music metadatabase. If not, it's a handy free way to label your unlabeled music files in mp3, wav, vorbis,

Why I Really Hate Software Patents, an Example
Unlike many readers, I'm lucky enough to live in a country (England) (and Superstate: EU) where software patenting doesn't really happen much. I say much

Chipmunk - 2D Physics Engine
Not everyone is into 3D although it's probably the most popular way to do games. Back in the past though, the hardware couldn't support fast 3D and many games

For Open Source, C is the Most popular Language
Black Duck Software, who are owners of the koders.com open source search engine maintain statistics on over 170,000 open source projects from nearly 4,000

Semaphores as a Solution to Synchronization
If you are into operating system design then you may be familiar with the concept of a Semaphore. It's a method of synchronizing access to shared resources such

Does Working for a "Programmer Rental" website work?
I think for some people it does. I did a quick trawl on google and found a few such as rentacoder.com, getacoder.com, elance.com etc. these sites let you sign

Using JavaScript in Your C++ Applications
When Google released their Chrome browser, they included a very fast implementation of JavaScript called V8, the client side scripting language included in all

Converting VB.NET to C#
With Visual Basic 2005, Microsoft gave away a free Card Game kit. This is a bunch of resources plus a number of .vb files. The licensing is basically they don't

There are Errors and Then There are Errors
The type of error I mean is a rounding error in the calculation rather than a bug in software. To see an example of this, say errors on a calculator take the

Back to C Strings Again
It's been pointed out to me that strncpy etc functions (mentioned in an earlier post) are not without their problems. Particularly if the buffer being copied to

Twenty Entries For Challenge Twenty One
Marking is ongoing but will take a day or two longer as there's been 20 entries making this the most popular challenge this year! Mind you there's been one

IM Script Sharping
Which sounds like something you'd do with a pencil. Script# (Script Sharp) is an interesting project that lets you write C# code and compile it to JavaScript.

Writing Games With Allegro
SDL isn't the only open source game library in town, there's Allegro for C and C++ developers which originated for the Atari ST back in the early 1990s and is

Which MMO is Going Open Source?
Because of the uncertainty in the financial markets, Cyan - the creators of the online version of the adventure game Myst announced a couple of weeks ago that

More Free Microsoft Goodies - PowerCommands
PowerCommands is a free add in from Microsoft extends Visual Studio 2008 by adding a bunch of configurable commands. It's not going to threaten the likes of

Making LINQ Easier - Linqpad
Even with the 101 examples, LINQ (Language INtegrated Query) has proved to be challenging. If you think you know LINQ, try this LINQ Quiz. It's by Joseph

How Much do Casual Games Make for their Developers?
I'm not talking about the big commercial games business which is sort of like Hollywood, high risk and high reward but more in the casual games area. Last week

Portable C Compiler - Old but Still Going
Pcc was one of the oldest C compilers, following on from Dennis Ritchie's original C compiler (DMR) and addressing a major deficiency of that with regards to

Locating and Installing the DirectX SDK
As promised I'm looking at the Allegro game library (Linked in the C++ Games Code Library) and writing up a tutorial on it. I'll try and do one for Windows and

MultiFlex 3 Website Design in ASP.NET
I do the odd website and like to have nice designs. One thing I'm not though is a designer. Luckily there are websites such as oswd.org where proper designers

An Interesting Logic Puzzle
No code, just some insightful thinking needed. Much programming requires careful analysis and logic, so test out your logical thought processes. There are two

Game Servers Are Cheaper to Setup
If you have played any multi-player games or even multi-player iphone games, you'll realize that somewhere out there in cyberspace are a bunch of game servers.

Microsoft XNA Game Studio 3.0
This came out at the end of October, just under a year after version 2.0 but I'd been a bit pre-occupied to look at it until now. If you want to try writing

C# Computer Vision and AI Framework
If you're into imaging, vision, neural networks, genetic evolution, machine learning, robotics or video processing, aforge is worth checking out. Hosted on

Follow up to VPS
Just a quick query tonight. I am looking for a VPS Hosting service (Windows 2008 Virtual Private Server) around $35-$45/month with some form of MS SQL (not

Returning Unmanaged Strings in C#
I had been tearing my hair out a bit for the last couple of days finishing this for the Challenge but have now got this sorted. The last bit of code for the

C# Books Now Outsells Java (Books)
Well in at least one market: Books by O'Reilly. This article details books sales by O'Reilly books thru 2008 and shows that C# book sales grew significantly

An Open Source Book about Open Source
I find collaborative work fascinating, especially when in open source projects there are the same problems with people, management, technical features or ways

Challenge 21 Marked + Ongoing Challenge 2 Launched
Congratulations to Richard Mofet of South Africa who came in first with an ODBC reading Excel application. 2nd of the two entries was MJ Carmelotes of the

Seven Day Roguelike Challenge Starts Tomorrow
While you are waiting for the Ongoing Programming Challenge #2 to start, you might find Pedro Graca's entry in Programming Challenge 15 of use here. From

2D Game Engines Still Popular
Despite the immense processing power of GPUs coupled with say Open GL, good old 2D remains popular. I think it's because the game types are different. If you've

Please Can You Help Me?
You'd be amazed how many such emails I get each week asking for help. I try to reply to them all and if it's something simple then no problem, but I also get a

Visualizing a Million Items - Treemaps
Visualizing them on a 1600 x 1200 screen is a challenging task, thankfully not one I'm asking you to do as it has been done a few years back using a technique

Microsoft Provides Free Chart Controls for .NET
Back 6 months or so ago, Microsoft released Chart Controls for .NET 3.5. They actually bought in a version of Dundas controls, hired one of the Dundas

The Book That Was Never Published
Before the Nintendo DS hand-held console there was the Nintendo GameBoy Advance. It's a different console entirely with a different CPU etc (the GBA used a

Computer Science meets the Real world - Stemming
Not quite as well known as say the Soundex algorithm, stemming is a technique that removes the endings off words in English (mainly but there are equivalents in

Serialization in C#, Faster than a DB?
Back in the late 80s early 90s, long before databases were commonplace, I was programming in Turbo Pascal and Watcom C++ and I used flat files for data storage.

Google Summer of Code (GSOC) 2009
Yes it's that time of year again when students world wide (in almost 100 countries) can apply to work on certain open source projects sponsored by Google in the

Interesting Obfuscated C Program
Here is a shortish C program that I came across on the Internet. Don't worry, it's safe and will not harm your computer. I compiled and ran it on my PC from the

About the Obfuscated C Program
If you haven't compiled and run it yet, I can tell you that it outputs the text of 12 days of Christmas! A masterful piece of disguise. Save your energy though,

Rendering a Scene in 567 Lines of C++
The author of this was challenged to implement fast scene rendering in C++ and has published his code which uses the STL but still managed it in 567 lines. His

Diving Under the Covers - Libunwind
One thing that distinguishes C say from C# is the closeness of C to the metal. It's a curse in that one mistake can crash a computer but you have total control.

Am I Too Old to Program?
I've noticed that this is a question frequently asked on programming websites. One problem is that in some countries, recruiters can discriminate on age. It's

Developing Game Servers plus Space Tyrant
If you are developing a multi-player game or application (eg Chat,, File sharing, P2P) you need some form of server so that individual clients can locate other

Games Intelligence Conference Papers and ORTS!
If you were lucky enough to be in Perth, Australia ten days before Christmas (the height of summer there), you might have been able to attend the IEEE

Your C Programming Tips
I've created a new page on C Programming Quick Tips (I'll do the same shortly for C++ and C#) and invite you to submit your own tips by clicking on the page

Developing Applications for Facebook
With astonishingly large user stats (175 million active users), and 52,000 applications (140 new ones each day, as bad as the iPhone!) Facebook is a truly

How to be a Programmer E-Book
Expanded from an original by Robert L Read which you can still read, this is a pretty comprehensive overview of what programming is about. It isn't about any

Visiting Omaha - Googles Open Source Update Software
Many of the Google products on Windows such as Google Earth or Chrome use the Google Updater. Now Google has open sourced this so your projects can use their

Compressing Short Strings in C
Developer Salvatore Sanfilippo has written a library called smaz for compressing and decompressing short strings. As far as I can tell it uses a library lookup

Potrace - Smooth Code
Imagine taking a bitmap (ie raster image) and tracing it then converting it to a vector image with all the jagged bits smoothed out so the image can be

Hundreds of 3D Game Engines!
I've come across several 3D Engines which are truly excellent, well documented and have mentioned them here but recently I became aware via the Devmaster

Programmers Fonts Revisited
Back in the stone age when I first started university (1977), most people in my year there preferred teletypes (30 characters per second noisily onto paper)

Update on (N)Ongoing Challenge 2
I have nearly completed the C version of the test bot. So I've uploaded the source (download link below) but it is only partially tested, particularly the

Something a Bit Different - AsmJit
Having spent several years working in assembly language, I find my life is not in the slightest troubled by me not programming in it anymore. CISC (Complex

Programming Challenge 24 Posted
Basically this is about solving a MineSweeper like 10 x 10 board. Your application reads in a 10 x 10 grid then tries to locate the mines under the * below

Free IP Address to Geo Data Database
Over the years I've been bookmarking useful data sources as the web is full of stuff that may come in useful some day. Sometimes they are found by accident. A

Another Embedded SQL Server for Windows - Firebird
By another I mean, not SQLite. In all the talk about open source databases, people think of MySQL, PostgreSQL and SQLite but often forget Firebird. This is the

Continuing the Embedded theme - XGameStation
I have no connection or involvement (financial or otherwise) with these people but they produce some interesting game console starter kits (8 bit and 16 bit),

Core Wars for Beginners
I've never really covered this because although it's a form of programming challenge, to write a small program running on a simulated CPU that wipes out other

Game Aggregation Websites with Silverlight 2
A new phenomena I've noticed is that Silverlight 2 games are starting to appear on aggregation websites such as the recently launched SilverArcade. The idea is

PixelCity -a Stunning Example of C++/OpenGL
Shamus Young's Pixelcity is a Windows screen saver written in C++ using VC++ 6.0 that generates a massive city scape by night, with lit windows in buildings,

Simple C Programming Puzzle
Another programming puzzle to keep you on your toes. What is the name for this type of program? void main() { char *s=void main() { char *s=%c%s%c;

Win $5000 (US Only) With a Cloud Hosting App
At times Microsoft appears to me like a supertanker with a massive cargo. It sails in one direction and slowly makes adjustments until it gets where it wants