I consider myself to be a creative genius. My imagination excels at the intuitive leap ahead where something occurs to me like a miracle, without my knowing how I arrived at the idea. Unfortunately this type of creative genius can be useless for a programmer because programming requires thinking of the precise steps required to achieve the desired result. In programming, it will do you no good if you think of something brilliant without knowing how to arrive at it. So although I am often inspired and profoundly inspired this has never been apparent in my career. In fact, I have never benefited from my creative genius in any way. All it seems to do is make me an idle dreamer. You could say that I took to computer programming as an antidote to this idle dreaming. Exerting control over a computer gives you the illusion of creative power. There is also a strong graphics design element to web pages which appeals to anyone who loves book covers, magazine layouts and other printed matter.
Recently I have decided to make a concerted effort to apply my creative genius to my craft. My incentive for this is that I need money. Everyone seems to think you can get rich quick with just a good idea for an application. Frankly, I find these entrepreneurs annoying since they try to entice you to do a herculean task for a piece of the company when all they have to fund their project is a few hundred dollars. But there are many modest ways to make money in software development. Most of the start ups I read about are focused on mobile applications for smartphones and tablets. Unfortunately mobile application development is a completely different technology stack than web development so it would take me a long time to learn how to create those kinds of applications.
For now, I think I have come up with my first brilliant idea which does qualify as an example of my creative genius applied to programming. I first thought of this idea as an elaborate joke but after further thought it does seem to have some potential. My idea was to generate IBM punch cards as image files which encode data. These image files can then be scanned back into the computer to read the data. Only you don’t actually need to scan the punch card, just read the pixels from fixed locations in the image. IBM punch cards are an obsolete form of data entry so this is sort of a joke. But they do have an advantage over bar codes and QR codes in that they are human readable, to an extent, and the encoding scheme is extremely simple. The basic concept can be taken further. For example, you could create a deck of punch cards as an animated gif. Smartphones could scan punch cards to obtain a web address just like how QR codes are used now. OK, so I can’t imagine why you would want to do that, but it is sort of cool. At the very least, you can use a punch card as your calling card if it encodes your web site address. For example, the punch card image below can be read to give you my web site address.
I have created two web pages on my web site to demonstrate this idea. Punchcard Image Generator allows you to enter up to 80 characters and generates the punch card image that represents that data. Punchcard Image Reader allows you to upload this image. It scans the punch card by reading the pixel color at fixed positions in the image and shows you the data that was punched onto the card.
This idea is probably not going to make me rich. It doesn’t seem to be of any practical use whatsoever. But it does exemplify my quirky imagination and it is somewhat brilliant. There are probably some old mainframe programmers who will get a chuckle out of it. A more serious application of my creative genius to computer programming requires more thought. I’m not a math whiz so I can’t do anything highly technical. Fortunately there is a wealth of possibility out there in the form of old technology that was surpassed before anyone really had the time to take advantage of it. I’m inclined to look towards old technology because I can wrap my head around it. As I do my programming chores, I’m always looking for an angle, something that I can use in an unexpected way to get ahead. There are also millions of lines of open source code out there that you could study, searching for a killer idea. But who has the time to do that? Another idea I had was to stalk a particularly brilliant programmer. Programmers attract very little attention but you can find out an awful lot about their work. I am currently in scheming mode.