Saturday, December 12, 2009


Hi, I’m James Kolpack, and I’m a code-aholic.

Where I’m from

Ever since I was a kid I’ve been programming at various degrees of sophistication.  Being a child of the 80’s, I started with Basic (of the GW variety on a 8086 based IBM) with a dash of Logo and batch scripting.  Later in college I became learned in Pascal and then C and the trials and tribulations of memory management and complex data structures.  I loved the ability to solve interesting problems by the clever assembly of instructions to be executed on a computer.  It was a bit of a power trip, really - “Pow, I just made a program that can find the optimal combination of items to fill a knapsack in psuedo-polynomial time.”  This capability does not, I discovered, transcend one-to-one to “real-world” power – but you’ve got to LegoMan_biggerdo what you can with what you’ve got.

As for the name of the blog, “popcyclical”, it’s a dual homage to my interest in cyclical relationships and, of course, popsicles.  It also references my moniker “poprhythm” which I was given many years ago for my ever-loving devotion to excellent music.

Where I’m going

On this blog I will be exploring ideas and issues that are relevant to me at the given time.  As a developer employed at a small shop, 100px-Directed_graph_with_back_edge.svgthe focus is guaranteed to wander over time.  For any given week, I may be highly invested in any number of   topics.  This may include : upcoming features of programming languages, graph algorithm design and application, development tooling, data mining, system architecture, user experience, natural language processing, semantic web, test driven development, statistics, data management, … these and many others are all fair game.  As of today, the technologies I’m working in from day to day are C# on the .NET framework, ASP.NET MVC and jQuery, WCF, and a variety of database engines.

I can use your help

When pointing the finger of blame for a problem I’m faced with, more often than not, that finger will eventually turn back to point at myself.  To err is human, and for software creators, this is repeatedly beaten into our skulls. Every time a compile fails, a stack overflows, a user is confused with our design, an out of memory exception is thrown, and every other time we’ve had a slip of the finger or a misconception about the problem or a technology. To combat this, we must flock together to overcome our individual weakness.  I welcome all relevant comments, suggestions, and criticism.