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

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…

‘Fighting Fantasy’ as an App-Game Genre

Fighting-Fantasy-Thumbnail2
Those of a certain age who played games in the 1980s or 1990s may recall the Fighting Fantasy (FF) books. Published beginning in the 1980s, they weren’t the first gamebooks but they were the most well-known and became the embodiment of the genre. The series consists of 59 books, each a standalone single-player role playing game, where the reader has just two dice, a pencil and an eraser to complete a quest. The paragraphs in the book present challenges for… continue…

Coding Challenge Results: The Most Factorially Fluent

Posted In Living in Tech
Dice Coding Challenge Winner Badge
Thank you to everybody who entered our first Coding Challenge: Prove Your Factorial Fluency. We received a total of 61 entries, from 58 individuals — three players submitted extra entries in different languages, and I treated each one as a separate entry. C++ proved to be the fastest language, with eight of the nine fastest programs written in it. The author of one of them, Rick Matter, proved that Java could be fast as well: His Java entry took 0.00000007706… continue…

Visual Studio 2013 Released – Worth Upgrading?

Posted In C++/C#, Working in Tech
VS 2013
Visual Studio, Microsoft’s flagship development tool and considered the best IDE around, has had an overhaul, a new coat of polish and some new features added. But is it worth upgrading, when everyone upgraded to Visual Studio 2012 so recently? First appearing in 1997, Visual Studio has a long heritage. A year after its initial debut, Microsoft released version 6.0. After that, there wasn’t another upgrade for four years. In fact, I was still using Visual Studio 6.0 at work… continue…