search
top

Outsourcing Dilemma

I’d love to be able to outsource, but in the dynamic world of software development, the person you outsource to needs to be proactively thinking about all situations, they need context, and be focused on quality. And quite frankly, …

read more

How to eliminate analysis paralysis

Over the first decade of my programming career, one trend became very obvious to me. I noticed that I could always increase my efficiency dramatically in the 11th hour before a deadline. It took about a long time to see (a decade), but I finally saw the truth…

read more

Obviously unethical consulting … but why?

… and with this, my rational mind kicked in and argued that as an ‘Entrepreneur’, isn’t this exactly what I was supposed to be doing? Trying to make as much money as quickly as possible, while minimizing my costs? Isn’t that what business is all about? Isn’t this providing the customer more value faster? Maybe this is the way to go! Think about it; StarBucks is praised for quadrupling the price of a cup of coffee by adding foam … foam! … Air with a thin milk film separating the $5.00 air from the free air. How is it StarBucks is praised for selling foam, while what I described above is clearly wrong? To be honest, I had a very tough struggle with this …

read more

Finding my voice

… I do enjoy blogging, and plan to continue. I’ve got a ton of great ideas and thoughts I want to share. But basically, I appear to be in the ‘Finding Your Voice’ phase. Over the next couple months, I may try a few different styles, and see which one is the most effective. By effective I mean; first and foremost delivering real value …

read more

How To Get The Most Frequently Used Column Values

Whenever I import external data, integrate to another database, or am new to a project, I need to get familiar with the database. The table schemas, relational integrity, and constraints are the first thing I look at and take me a long way, but soon I need to know what the data looks like.

In an ideal world, relational integrity and database constraints would define control this, and all I’d really need to do is look at those. But the reality is, in 15 years of working in this industry, most of the databases I’ve worked on, that I didn’t design, have barely used constraints and some haven’t even used relation integrity fully!

The need to get a good feel of the data is even more prevalent when working with dirty data, or when refactoring poorly written applications to ensure any refactoring doesn’t introduce other issues. I will usually wind up writing the following query repeatedly:
….

read more

How To Guarantee Dependent JavaScript Files are Included

I’m very much a statically typed kind of programmer and knowing that missing code will not be found, until executed, and then only when it hits that missing code … well, lets just say it makes me … uneasy … actually, I’m nervous as heck every time I run it! I feel like my app is held together with duct tape! …. a house of cards waiting to collapse with the next gentle breeze.

When I started programming in JavaScript, this really bothered me. In addition to my ‘uneasy’ feeling, there was the constant aggravation of missing dependencies. This was more than uneasiness; this was an irritating thorn in my side. It was again only compounded by the fact, that if there were 5 missing dependencies, I would only find them one at a time, and only if I happened to be so luck as to covered it’s reference in my GUI testing!

Wouldn’t it be nice if my code would tell me on the first run ever dependent file that was missing?

I thought so; so I came up with this little trick to test if a JavaScript file is included already. Basically, …

read more

How To Write Dynamic SQL AND Prevent SQL Injection Attacks

One of my pet peeves is when general rules are taken as gospel, and declared as the only acceptable practice regardless of the circumstance. One of the big ones is Dynamic SQL. There’s a heck of a good reason for this, and it’s called an SQL Injection Attack, and if you are not familiar with it, I would strongly urge you to leave this post right now, and read up on it. Anyway, Dynamic SQL is not inherently evil, it’s the appending of user entered text that is evil. Appending user entered text is just lazy and can be easily avoided with parameterization. The trick is to create dynamic SQL …

read more

Purpose of ‘While I Compile’

The purpose of this blog is to express my ideas about programming, software architecture, business of software, technical consulting, database design, etc… I will also share code from my prototypes and proof of concepts. I’ve wanted to write share my thoughts and ideas about software for a long time, but was put off by two things; a) I wasn’t sure my ideas were that good, and b) I was nervous about exposing the holes in my knowledge via my ‘self declared’ insights. …

read more

Next Entries »

top