David Bolton

David Bolton was a game developer and a past game designer at MicroProse. He now works as an independent developer creating mobile and desktop applications and writes on programming for About.com and News.dice.com

2 Free C Compilers Worth a Look

Posted In C++/C#, Working in Tech
Debugging in Pelles
It’s surprising how important the C programming language remains, as it’s now over 40 years since it was first created. It’s a simple but useful language that gives you a very low level view of memory and how variables are stored. It doesn’t have any high-level libraries for hash maps or lists; ANSI C only gives you arrays and pointers. If you want advanced data structures you have to either write them yourself using pointers or get third party or… continue…

How Shaders Can Render Awesome 3-D Graphics

Mountains Shader
Creating 3-D graphics involves more than just creating objects — you also have to tell the GPU how to best render them. To do that, you use shaders. Shaders are computer programs that are run on graphics processor units (GPUs) when 3-D images are rendered, that rapidly calculate colors, lighting and special effects. Here’s how it works: The Graphics Pipeline Graphics processing units run a pipeline of processing stages with instructions — compiled shader software — and geometry data. The… continue…

Tournament of Sevens: Week 1 Results

Marathon
Though the Tournament of Sevens coding challenge took much longer to get off the ground than expected, I’ve taken steps to sort out the bot bugginess and the contest is now roaring ahead. The first week included 16 viable competitors, out of 19 entries. One obstacle in getting this going was from Eclipse projects. The problem with them is that their source files end up in different places and the IDE is a bit fiddly building and deploying the class… continue…

How to Build Your Job Credentials With Code

Posted In Looking in Tech
Good Code
The mark of a great programmer is well-written code, but it’s not always easy to showcase the quality of your work. As a contract programmer, I’ve started to bring printed examples of my code to interviews. I make sure that I know every line of whatever I bring and can explain what it does. I have a bachelor’s degree in computer science (from 1981), but being able to show that I write good code is much more effective for landing… continue…

Programming for iOS With Xamarin Studio

Posted In C++/C#, iOS, Working in Tech
Xamarin Thumbnail
Back at the start of July I began a contract to develop an iOS app for a Taxi firm. I decided to invest in Xamarin Studio so that I could develop the app in C#. The development took a bit longer than expected due to issues with the server, but it’s now very near completion. Xamarin, while appearing to have come out of nowhere, is actually a renamed and rebranded version of MonoTouch, so it’s a couple of years old… continue…

Tournament of Sevens Contest Update: A Saga

Posted In C++/C#, Living in Tech
Tired Runner
I picked the game for this contest with the thought that it would be simple and straight forward. Was I ever wrong! The contest was due to start Jan. 1, but a sudden unexpected vacation took me to Vegas through Jan. 2. With jet lag and such, I wasn’t really up to sorting the entries it for a day or two after. I had most of my competition runner created, though I hadn’t debugged it. By that point, there were… continue…

Why Managed Code Is Safer

C# as Machine Code
One of the biggest sea changes in computing took place in the late 1990s, with the switch over to running managed code, first with Java and then a couple of years later with .NET. Prior to this, compiled code (typically written in C, C++, Visual Basic or Delphi/Pascal) produced unmanaged code. Yes, both of these run machine code. So what’s the difference? Unmanaged Code Unmanaged code is just low level code (machine code) that the CPU (Central Processing Unit) executes… continue…

Generating Not-So-Random Numbers With Java’s Random Class

Dice Snake Eyes
All programming languages have random number generator classes or libraries, which produce sequences of random numbers. Those sequences are similar to pi in that they run on forever (well, sort of). As Harold explains to a class of bored teenagers in this Person of Interest clip, because pi runs forever (though so far only 10 trillion digits have been computed) every number or word that exists can be found within it. The same can be said of sequences of random… continue…

Key Differences Between C# and Java

Java vs. C#
Any comparison of C# and Java’s language features will always be contentious. The parable about the three blind men describing an elephant illustrates the issue well —  no one developer has used or experienced all the features of the current C# or Java versions. I certainly haven’t. This comparison focuses on the ways Java 7 and C# 5 differ. Java 8 is scheduled to become generally available in March 2014 and C# 6.0 will likely appear sometime in 2014 as… continue…

Using Microsoft’s OneNote as a Creative Tool

OneNote Logo
For many years I designed games, projects, to-do lists, and more using Wiki on a Stick, a single page wiki which worked beautifully in Firefox until three or four years ago. It held everything in one HTML file with embedded CSS and JavaScript. It still exists but is a bit awkward to use because of changes in the Firefox security model. A file that writes itself to a local folder? That sounds dodgy, but it worked well until they removed… continue…