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

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…

Blocking Queues Beat Lists in Multithreaded Code

Microsoft .NET
In .NET, it’s quite common to store data in a generic List – a List<T> where T is some type such as an int or a class. In addition to its standard uses, a generic list can be implemented as a generic queue in place of a .NET Queue<T>, since a Queue<T> is just a specialized form of List<T> in which items are only added to the end of the list (Enqueue) and taken from the front of the list… continue…

Watson Becomes Available for App Developers

Watson on Jeoperdy
Watson, the IBM supercomputer that won $1 million playing Jeopardy in 2011, is now becoming available to app developers. The system that was built for Jeopardy was not your everyday PC. With 2,880 cores and 16 TB of RAM running SUSE Linux Enterprise Server 11, it cost roughly $3 million. Its processing speed can read a million books a second, approximately 500 GB of data. On the day of the TV show, it had 200 million pages of structured and… continue…

PlayScript: Zynga Playing Clever

PlayScript Thumbnail
The need to convert Web content to mobile has exploded with users’ adoption of mobile technologies and mobile apps. And while mobile isn’t replacing the Web, content providers need to create content for both places. In the earlier days of mobile development, that meant re-writing Web apps for each mobile platform. To combat this hugely inefficient process, a variety of compilers have been developed that generate code compatible with other platforms. For example, there are C++ compilers for Android that… continue…

Coding Challenge: Best Have a Card Up Your Sleeve

Seven-Cards-Thumbnail
Our newest coding challenge runs through January, ending on Jan. 31, 2014, so you should have plenty of time for it. It’s about a card game called Sevens. The game is for three to seven players. To set it up, deal all 52 cards between the players. Depending on the number playing, and whether or not 52 is divisible by that, they may not all get the same number of cards: If there are three players, the first player ends… continue…