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

Coding Challenge Wrap-Up: Who Won the Map

Roman Trade Network
Compared to our previous coding challenges, May’s was a modest affair, with just three entries coming in from Rick Matter, Jon Pattinson and Jay Nagel. And, despite opening the entries to include Delphi, Go and Python as well as C/C++, Java and C#, all three were written in Java! (You can find all the competition files here.) In this challenge, you were given a 20×20 map that contained 20 trading islands, each occupying a square. Each island was a trading… continue…

4 Ways to Debug Application Crashes

Magnifying Code
Among the worst things that can happen to an application developer is having their software crash at a customer’s location—and having the customer on the phone to them, screaming. So how do you prepare against such an eventuality? In this article I’ll look at a few things you can do to be ready when–not if–something goes wrong, whether it’s hardware failure, a disk crash or someone pulling out a power cable and corrupting a disk. Actually, if you can deal… continue…

Pascal Is Way Underrated

Delphi IDE
While it came slightly later to the party (see my article here), Pascal’s history can perhaps be summed up with the phrase, “Always the Bridesmaid never the Bride.” Developed at the end of the 60s by professor Niklaus Wirth, Pascal was only intended to be a teaching language. Original Pascal had very limited string handling, no disk access and, crucially, lacked any kind of library mechanism. What it did have was an easy-to-read syntax, a good type system, facilities for… continue…

Comparing Django, TurboGears2 and Web2py

Python Frameworks
One thing Python isn’t short of is packages and Web frameworks. A visit to PyPi, the official package index, shows that frameworks alone have a whopping 12,514 packages available, with Django, Plone and Zope 2 leading the pack. Web development frameworks in Python are about as common as content management systems in PHP. The point of a Web framework is to save you the effort of writing infrastructure code when developing a non-trivial website. Unless you have a well-funded and… continue…

How to Process an Image in Code

Galaxy
I’ve recently begun working on a space-themed game that will be set in a galaxy and I’ve decided to create the background based on a photograph. I generate the background by displaying a 100×100 grid of colors, with the color of each block determined by the brightness of the corresponding section of the photograph. The image I started out with is a 600 x 600 pixel photograph of a spiral galaxy from NASA (above), which I divided into a 100×100… continue…

50 Reasons to Celebrate BASIC

CBM-64s
I started programming in BASIC 38 years ago, in 1976 while I was in my last year of school. I enjoyed it so much that it decided my university degree and career. Back in the mid 70s, if you had access to a computer, it was most likely through a dial-up terminal and you programmed it in Dartmouth BASIC. May 1, 1964, was the date BASIC was launched onto an unsuspecting world at Dartmouth College in New Hampshire. That makes… continue…

Is Mobile Game Development Worth the Effort?

Flappy Bird
The developers who got into iOS a few months after the App Store was launched had it a lot easier than their brethren today. A few months after the store opened, there were just 10,000 apps available. Today, that many are launched in two weeks. That means more than 1,000 new apps appear each day. That’s a phenomenal figure – and not what anyone with a low marketing budget wants to hear. Another challenge: Roughly one in five players who… continue…

May’s Programming Challenge: Resource Trading

Posted In Living in Tech
Roman Trade Network
In this problem, you are given a 20×20 map that contains 20 trading islands, each occupying a square. Each island is a trading port for gold, iron and wood. The map also contains a few reefs and uninhabited islands. The goal is simply to sail a ship from the top left square (0,0) and eventually end up at the bottom right (19,19) having earned as much as possible. Click here to find Java developer jobs. Your ship can sail to… continue…

PEA: A New Method of Encryption?

Enigma Machine
Irrespective of the algorithm used, most encryption systems take plain text and a pass phrase and then create an encrypted file. Depending on whether it’s symmetric or asymmetric, either the same pass phrase is used for decryption or another one is needed. With PEA (Programmable Encryption Algorithm), I propose an encryption scheme that takes a pass phrase and a plain text file and outputs an encrypted file and a file of decryption instructions. The two files are then separated and… continue…

How Long Does It Take to Learn a New Skill?

Posted In Looking in Tech
BlackJack Program
When employers say they need specific skills, job seekers often reply that an experienced IT professional can learn a new language or technology quickly. But is that really the case? It may be if the skill in question is closely related to your experience, but if you’re looking to pick up a new language from scratch the challenge is much greater. There aren’t many programming languages general purpose enough so that when you learn one you may never need to… continue…