Archive for January, 2007

Contracting: The Cost of Doing Business

Jan 22

Being a contractor / having your own company is not cheap. Its always hard to decide what to charge your clients but a good start is to figure out what your overhead is with just having a company. There are lots of costs associated so here is a list of some of them for the “average” contractor.

Startup Costs
Incorporation (By a lawyer. You can do it on your own for a lot less): $700-$100
Licensing of software required
Hardware required

Monthly Costs
Business Insurance: $100-$200 (basic insurance. not errors and omissions which is more expensive)
Payroll (income tax and cpp. you do not have to pay into EI) : $500-$1,500
Accountants fees (if you are not doing it yourself): $50
Phone: $100
If you are working from home add in utilities, rent, office supplies, vehicle, postage, etc.
Also if you are entertaining clients add those expenses
Note: this does not include the salary you are paying yourself which is a huge chunk of monthly costs.
Total Monthly: $750 – $,1750

Annual Costs
Accounts year end: $1,500 – $2,000
Federal And Provincial Corporate Tax: $3,000-$7,000
(NOTE: Corporate tax will vary depending on income and expenses so this is a pretty broad estimate)
Total Annual: $4,500-$9,000

Total: $13,500 – $31,200 / year

Take this with a grain of salt as these are all really rough estimates and every company is different but it gives a little bit of focus to see what the basic costs are.

Filed Under: Uncategorized

Tools Day Contribution

Jan 19

Seeing as how every one is talking about Windows Developer Tools Day, I thought I would contribute one of my favorite unheard of tool…. dataset quickwatch.

Dataset quickwatch allows you to right click on a dataset variable while debugging and bring up a datagrid of a dataset while debugging which is great for any application that uses datasets. On the current application I am on I would be lost without it.

Filed Under: Uncategorized

Deployment Fun

Jan 5

I should blog more on deployment stuff using the built in stuff in visual studio. Its not great but it still is fairly powerfull.

Today I ran into a fairly common issue that not many people seem to have a solution for (besides creating a whole new setup project):

“Unable to get installer types in the C:\blah\blah.dll assembly. –> One or more of the types in the assembly unable to load”

The reason that this error happens (for me) is that my custom action in my deployment has depenancies that are not installed on the target system. The MSI first extracts the assembly, loads it, then runs the custom action. If a dependancy is missing you get this error (yes I wish the error was a bit clearer).  Either vs did not properly include them as dependancies in your MSI or you excluded them. Once the proper depenancies are installed on the target system the deploy should go fine.

Filed Under: Uncategorized

Serializable By Default

Jan 4

One thing that has bugged me with .NET development is making a class that I am using over some boundry (i.e. com+ / remoting / web services / etc) and getting the exception that the class I am exposing is not marked as serializeable. Its simple to fix but still a pain.

I have been trying to think of a good reason why classes were not serializeable by default. There should be no performance issue with this as the only time an object should be checked if it needs to be serialized is… when it needs to be serialized. You could not want to expose a class over a boundary but then we should have an attribute called [NotSerializeable()]. The only thing I have come up with so far is that it adds size to the assembly and might take a bit longer to JIT the file while running.

Anyone else have any theories on this?

Filed Under: Uncategorized