Showing posts from May, 2011

Contracting: End of Gig–some suggestions…

Often gigs are done on purchase orders. This means that you have lead time to prepare for alternatives if a renewal does not happen. I have had a few gigs where two weeks notice was required if the client decides to terminate early. Of course, the unexpected does happen, I recall one gig where I suddenly found that I could no longer sign in via-email or VPN into the client; I assumed it was a password issue – turned out that my contract was terminated abruptly (I had refused to work on December 25th for the new boss , and he terminated as a result – I was working for someone else in the same firm 6 weeks later…) It took almost a week before I got the official word through the agency that I was working through…   My usual practice is to always assume that the gig will not renew. This means that 4-6 weeks before the end of gig, I start putting out feelers. I will often drop resumes off to interesting adverts, looking for two types of gigs: Straight Contract Contract-To-Hire

Employee Wage versus Consultant Rates

Recently an old colleague was nailed in layoffs at his company. He was originally a consultant, then became an employee, and now progressed (involuntarily) to alumni. He had two offers on the table for his next pay check: 6 month contracting at $75/hr (B2B) to help a company determine their new development patterns. It would be a walk in, evaluate MVC3, etc and resolve what would be used. Then he was not expected to continue working there. He loved the people he interviewed with. It would get his skills up to date for the next job… Employee situation as an architect paying $140K/yr. He was unsure about personal growth in this position. To him, he deemed the two offers to be financially equivalent. I did not.   While it is not unusual to bill 60 hr/week as a contractor – there are enough occasions that you are locked to 40hrs/week – or should I say, the Purchase Order was written on a 40hr/week basis (you may bill 60hr/week – and then discovered that you have an unpaid v

Advice to new (and some seasoned) consultants

At the start of this year, an old colleague that I have worked with in 4 different companies, decided to try consulting instead of being an employee. I gave him some advice of things that I try to do during my consulting career (and  as an employee). Here is a short list: Weekly Report If the boss prefers a weekly face to face, it is likely also a good thing to send a weekly report. For my current gig, I became slack because my key output was documents for review that always included the boss in the distribution list.  The key aspect is to enable the boss to be able to explain what you are doing (justifying your salary to his superiors) by just going to his mailbox.  Bosses that do not micro-management, often are not concern about week-to-week activities; they are concern about appearing to know what is happening. Make it easy for the boss! Weekly Report Structure My usual pattern is simple: Declare what you did in the last week Declare what you intended to do in the

Windows Phone 7 (WP7) Default Color Codes

These are the colors you will find in Settings | Theme | Accent Color:     Magenta – ff0099 Purple – 9900ff Teal – 009999 Lime – 99cc33 Brown – 996600 Pink – ff66cc Orange/Mango – ff9900 Blue – 3399cc Red – cc0000 Green – 339933   Thanks to Andy Robinson for pointing me to the correct tidbit about Mango .

Things You Should Know About Windows Azure Diagnostics

Unhandled Exceptions Cause the Instance to Recycle If you have an unhandled exception in your code the Windows Azure instance will recycle, tearing down the application domain and restart the instance. Unhandled exceptions are all exceptions that not caught with a try/catch by your code. You can Write You Exceptions to Storage with Windows Azure Diagnostics Windows Azure Diagnostics enables you to collect diagnostic data from an application running in Windows Azure. If you catch the unhandled exceptions in an overridden Run() method of the RoleEntryPoint class using a try/catch, you can write those exceptions to Windows Azure Diagnostics using the Trace class. Once they are written you can throw the Exception causing the role to recycle. The Minimum Transfer Schedule of Windows Azure Diagnostics is 1 Minutes Windows Azure Diagnostics writes the diagnostic data to local storage (local to the instance) and then transfers it to Windows Azure Storage at a scheduled interval

Getting Your Subscription Identifiers from Azure REST APIs

Currently, there is no way to get all the subscription identifiers associated with your Windows Azure Live Id from the Windows Azure REST APIs. All API calls require that you know your subscription identifier before making the call.   There is also no way to make a Windows Azure REST API call using your Live Id (like the Windows Azure Management Portal does) you need to uploaded a Management Certificate using the Windows Azure Management portal and pin it to a subscription before you can start making REST API calls.   Interesting to note, it appears that the Management portal supplies its own Management certificate to Windows Azure when you request a new subscription. If you delete that Management Certificate my guess is that you will no longer be able to manage your subscription via the Management Portal.   {6230289B-5BEE-409e-932A-2F01FA407A92}

Windows Azure Queues Are Not Queues

Just FYI: Windows Azure does not guarantee that Windows Azure Storage Queues are first in first out. If you require a guarantee first in first out persistent multi-tenant storage queue you are probably designing your multi-tenant application incorrectly. If you can see past it, try using SQL Azure and identities.   {6230289B-5BEE-409e-932A-2F01FA407A92}

Meeting the SLA for Windows Azure Instances

When Windows Azure performs a rolling upgrade of their compute clusters they bring down only one fault domain at a time. If you have only one instance of your Windows Azure Web or Worker Role running, when they bring down that fault domain for the upgrade your only instance will go down. In order to maintain the Windows Azure SLA you need to have more than one instance running. Multiple instances are spread evenly across all the fault domains automatically when the role is deploy. If you are running more instances then there are fault domains, some of the instances will be on overlapping fault domains, however they are still spread as evenly as possible.   During a rolling update, Windows Azure does not bring a second instance online on the upgraded fault domain before shutting down your first (non-upgraded) instance.  There are two reasons for not bring another instance online: There is now way to know if your deployment supports having N+1 instances – since you requested ex