Rob Kraft's Software Development Blog

Software Development Insights

Archive for February, 2011

Filing your Missouri Annual Report

Posted by robkraft on February 22, 2011

Don’t forget to file your state’s Annual Report.  Maybe this isn’t needed in every state, but you do need to do so every year in Missouri.  You can also file for two years at a time.  The cost is $20 per year and it takes less than 10 minutes if you have previously filed.  Go to to file online.  If you don’t file on time the fee goes up to $35.

I think that your deadline to file is on a yearly basis since you first incorporated.  So the month you incorporated determines your deadlines.  Log in to find out your deadlines.


Posted in Taxes and Fees | Leave a Comment »

Use MailChimp for a great free mailing list

Posted by robkraft on February 22, 2011

I have maintained a few mailing lists for some non-profit organizations for the last ten years using a .Net program I wrote.  I was proud of my little program and the features I provided, but I recently discovered and am now using it instead.

With MailChimp I can send 12,000 emails per month for free.  I can upload a list of existing email addresses from an Excel spreadsheet.  I get feedback and statistics about who has opened the email, when it was opened, and where it was opened from. They also provide dozens of email templates to make your emails look great!

If you manage small email lists and are using your own excel spreadsheets, or just a blob of emails you send to from within outlook, you owe it to yourself to take a few minutes and get to know

Posted in Free tools, Web Sites | Leave a Comment »

W-3 form for the state is due February 28th, 2011

Posted by robkraft on February 20, 2011

If you are incorporated in the state of Missouri then you need to file the MO W-3 by the end of this month.  This is a very simple form to fill out, especially for those of us self-employed S Corporations.

I tried to verify that my federal W-3 was complete when I entered my W-2 information online but found the federal web site to have a javascript error preventing me from logging in.  Doing business online is very handy, but it gives us further reason to avoid procrastination, because if you wait to the last minute, and you find an online site is not functioning, you are much more likely to fail to complete your forms on time.

Posted in Taxes and Fees | Leave a Comment »

Use the free service from to find your SQL problems

Posted by robkraft on February 16, 2011

The new free service will instantly analyze the trace files upload to let you know which queries are taking the longest to run.  I recommend giving it a quick trial run using the script file provided on the site to configure your trace.  It is easy to implement, easy to gather data, and easy to submit for analysis and get results.

This site is targeted for traces from Microsoft SQL Server, and most any edition.

Posted in SQL Server | Leave a Comment »

Missouri Consumer Use Tax form for businesses to file

Posted by robkraft on February 10, 2011

I received a letter from the state of Missouri this week asking me to send in a form (53U-1) for my Consumer’s Use Tax for years 2007 and 2008.  I suspect I will get a similar request for such a form some day for years 2009 and 2010.  Getting letters like this always makes me a little nervous.  I wonder if I was not filing something I should have been filing and am about to be hit with huge penalties.

As it turns out, I don’t need to send in the form because I am exempt.  But I do need to send them a letter to let them know that I don’t need to send in the form.  So I made a copy of their letter, put my X in a few check boxes, and mailed it back to them.

Who should be filing this form?  It is for businesses that buy products wholesale (without paying sales tax) in order to resale them to other clients.  So if I purchased a new computer and used my Tax ID to excuse myself from paying sales tax, and then sold that computer to one of my clients, I should be filling out this form.  Even then, you only need to do this if you bought more than $2,000 worth of stuff in one year.

Posted in Taxes and Fees | Leave a Comment »

Long and thorough SQL Server Security Checklist

Posted by robkraft on February 6, 2011

I presented a lecture on SQL Server Security at SQL Saturday #53 in Kansas City in October last year.  As part of the lecture I provided reference to this very long checklist of security considerations for SQL Server.  I think it is very thorough and hope some will find value in it:

Posted in SQL Server | Leave a Comment »

Are you a software development enthusiast?

Posted by robkraft on February 4, 2011

I’ve heard some developers argue that a “professional” is someone that is dedicated to their craft and thus works unpaid hours improving skills.  A lot of developers don’t like this definition of professional because they put in their 40 hours of weekly work but still believe they should be considered a professional.  This is why I use the term “Enthusiast”.  Surely, by definition, only Enthusiasts put in non-paid hours merely for the sake of learning new software related skills that may or may not be applicable to their current job.  I agree that a person can be a software professional, and yet not read any blogs or spend any time on a computer outside of the office; but I think only an Enthusiast spends their own personal time doing such things.

I consider myself to be a software development enthusiast. Do you?

Posted in Coding | Leave a Comment »

Do you have or need a Software Development Enthusiast?

Posted by robkraft on February 3, 2011

The question I keep asking myself throughout the day every day as I develop software is, “What task is most valuable for me to work on next?”.

  • Should I begin coding the next feature in the software?
  • Should I implement an automated build process?
  • Should I write some unit tests?
  • Should I spend an hour learning how a new technology like cloud computing may impact the way I should be designing code?
  • Should I upgrade the RAM or CPU on my computer so I can work faster?
  • Should I document this complex bit of code for the sanity of the developers that follow me?
  • Should I spend time evaluating all the things I could be spending time on?

Of course the answer is rarely clear and the possibilities are daunting.  Not only that, but most programmers already know the basic processes, tools, and patterns they need to solve the next problem, so they are disinclined to solve the problem in a better way.  So week after week, month after month, year after year we solve problems as we always have unaware of the advancements in hardware, tools, processes, and techniques that could help us develop twice as fast with higher quality.  But what can our software developement industry do about this problem?

 As a software development enthusiast, I have a few suggestions.
1) Every software development shop needs a software development enthusiast.  This is the guy or gal that enjoys writing software and learning outside of their normal business hours.  This person writes code and learns how to be a better developer even when he or she isn’t getting paid to do so.  If you don’t have one of these in your shop, you should have one come in at least twice a year to give you a list of suggestions about how you can improve your development.

2) Become the software development enthusiast.  Even if you only do so during work hours, convince your boss that you need to spend an hour every day reading blogs, computer industry email blasts, researching new tools, listening to podcasts, and watching training videos to learn and incorporate what you learn into software improvements at your shop.

3) Arrange a Structured Information Exchange (SIX) meeting with someone from a development shop that is similar to yours.  Share information about your tools and processes for resolving the problem spots in your software development process.  Check this blog again in a few weeks for more information about SIX meetings.

4) Get into a program or on an email list that will help you migrate through stages or levels of software development maturity and that helps keep you informed about the latest developments that specifically could improve your software.  Where can you go for such a list?  I don’t know yet, but I think if someone creates a service like this, they will have a lot of people that want to sign up.

5) If you want to do it yourself then I suggest you adopt the Continuous Process Improvement mindset.  There will never be an end, you will always be looking for ways to get better.  You will need to create a list of problems, and areas of possible improvement.  Then try to assess the amount for improvement in each, perhaps a list of possible projects you can implement and the cost to implement each along with the return on investment.  Prioritize based on the greatest improvements for the least cost and begin implementing the projects on the list.  Every journey begins with a single step.  Of course implementing a Project Management Office to manage all these projects, or spending time assessing, estimating, and evaluating all these projects may take more time than you want to devote.  Sometimes it is better to just jump in and implement some process improvements before you know if it is the best possible process improvement you can implement.

Posted in Coding | Leave a Comment »

A Programmer’s Pledge

Posted by robkraft on February 3, 2011

I recently created in response to a blog post I made a few weeks ago.  The site includes discussion groups for you to discuss your own ideas for pledges.

Posted in Coding | Leave a Comment »