Another Contract Ends - Hanging Out the Shingle

My current contract at Intuit is ending in a few weeks.  I'm heading into a possible slow period so it's a good time to catch the blog up a little.  If nothing else but to remind myself what I've been doing through this year since leaving Notion Solutions.

 

I've been subcontracting through CraftLogic at Inutit's IMS division since last February.  In that time, I've delivered a few minor API service offerings for internal and external distribution, a few really great features, and a whole lot of maintenance to their existing high volume credit card transaction systems and web sites.  With a new framework to streamline development and support, I'm not needed as much and neither are most other contractors that would hope to join such a great team.  So I'm off to new ventures and adventures.

 

Other than their "Team Building" activities that make the team a real blast to work with, here are a few high level take-a-ways that I've had the pleasure of.

  • A refresher of Socket Development that I used to be devoted to  (no C++ this time)
  • Leveraging MSMQ for Speed and Reliability
  • The ability to really, really, really tweak those stored procedures.  And I thought I was good before I had TSQL script reviews...
  • What is Red Faction and is it ok to lose to someone named Rambo every time???

 

Any other details would start explaining the optimized and very secure processes at Innovative Merchant Solutions.  Let's just say that they are deeply committed to their work and it's been a pleasure and education working with every one of them at IGS.

 

By the way, CraftLogic has also been a great company to work with while contracting at Intuit.  They handle everything without distracting contractors like myself from the real work.  I went corp-to-corp and really appreciate their partnership.  Also as an independent contractor, I've worked on a few other commercial applications through a consulting company named Chordial Solutions.  That kept my skills fresh with ASP.NET AJAX, Entity Framework, and SSIS.

 

In the last year I've also made great progress in the integration system software that I've imagined for about 10 years.  In my own opinion, it's very unique, innovative, and valuable as a supplemental BPM and ETL system.  It's been a great enabler to gain serious experience with WPF, Silverlight, RIA Services and so much more.

 

In these past few months, I've brought considerable value to everyone's offering, including my own FreshMetrics, LLC.

 

So if you find a need for a serious contract developer, please contact me through the FreshMetrics web site.  I look forward to my next adventure with another great team.

 

-Vince
http://FreshMetrics.com

 

Posted by vblasberg with no comments
Filed under:

Life as an Independent Consultant

It’s been almost a month since I left Notion Solutions to embark on a new adventure of driving an independent consulting company.  Chris Menegay was the greatest to work with at Notion, so I truly appreciate what I learned and gave back to them.  With the new gig it’s not all easy.  There are some ups and downs that have been a challenge.  The hardest parts have been expensive insurance policies, a formal payroll, and becoming a registered Microsoft partner for an upcoming product.  With all of that behind us, it’s just work, work, work.

I’ve been holding two contracts now to make the startup ends meet.  With one client, I’m performing back-end socket, threading, and SQL work.  With the other client, I’m performing high level ASP.NET and SQL SSIS work.  To top that, I’m also advising and assisting one client with TFS configuration, one of my biggest passions.  I’m using Subversion with the other client.  So I’m keeping the skills going across the board.  This is what it’s all about (and making a profit).  Now I’m wondering how to add more hours in the day to get the work done without hiring an employee.  In consulting, as many consultants would know from experience, you must give the client their dollar’s worth or it’s back to the W2 and the nine-to-five.  It almost sounds good, but I do like being around people more than being a cubicle mushroom that a W2 tends to make you.  So that's where I'm at in this long history of blog entries.  Enough about me.

-Vince

 

Posted by vblasberg with 1 comment(s)

Azure Details and Limitations - Blobs, Tables, and Queues

The Dallas Azure User Group will be meeting tomorrow at the Microsoft offices in Irving for our second meeting.  I'm teamed up with Mike Holdorf and Rob Vettor to discuss Azure storage, namely Blobs, Tables, and Queues.  The listing below is the document that I put together to hand out at the meeting with the "Details and Limitations".  This should help us in our application designs as we move some of our systems to the cloud.  These details are from the current SDK help file.

 

Windows Azure Details and Limitations
Blobs, Tables, and Queues

( From the Windows Azure SDK Help File )

Blobs

  • Block Id - 64 Bytes Per Block
  • PutBlob - 64 MB Total
  • Blob MetaData - 8 KB Per Blob
  • PutBlock / PutBlockList - 50 GB Each
  • Blocks - 4 MB Each

 

Container Name:

  • Valid DNS Name
  • All Lowercase
  • 3 to 63 Characters
  • Starts With Letter or Number
  • Letters, Numbers, and Dash (-)
  • Every Dash (-) Must Be Immediately Preceded and Followed by a Letter or Number

Blob Name:

  • 1,024 Characters Max
  • Any combination of characters, but reserved URL characters must be properly escaped
  • Specify a delimiter within a blob name to create a virtual hierarchy though blob storage is flat and not a hierarchical

 

Tables

Table Name:

  • Only Alphanumeric Characters
  • Case-Insensitive
  • 3 to 63 Characters
  • May Not Begin With a Numeric Character
  • Up to 255 Entity Properties (including PartitionKey, RowKey, and Timestamp)
  • 1 MB Max for Combined Size of All Data in an Entity's Properties

 

Property Name:

  • Case-Sensitive
  • 255 Characters Max
  • Only Alphanumeric Characters
  • Must Begin With a Letter

Queues

  • Messages - 8 KB Max
  • Messages pushed to end of queue and popped from front of queue (FIFO)
  • Unlimited number of messages

 

Queue Name:

  • Valid DNS name
  • All Lowercase
  • 3 to 63 Characters
  • Start With a Letter or Number
  • Letters, Numbers, and Dash (-)
  • First and Last Letters Must be Alphanumeric
  • Dash (-) character may not be the first or last letter

Posted by vblasberg with no comments
Filed under: ,

Azure Services Labs – Blobs, Queues, and Tables

Woohoo!!! The Azure Services Training Kit was updated this week.  Well, maybe it's not that exciting because it means more work or "fun" training.  It all depends on whether the sun is shining and I can ride the Goldwing.  It's overcast and very windy so I'm "enjoying" the Azure Services Training Kit Labs.  I walked through some of the labs this weekend, primarily the Blobs, Table, and Queue labs to better prepare for our Dallas Azure User Group talk on the 18th of this month.  Mike Holdorf, Rob Vettor, and I are teaming up to present the topic of Azure Storage.  It should be noted that the labs use the very useful SDK wrapper to abstract all of the REST complexities.  So if you want to learn everything about Azure REST calls and how to handle retries and storage details, peek into the SDK example classes.  In most cases, people just want to get the job done so these high level labs are very useful.

Now you want the fast track to learning Azure using these labs?

  1. Watch some videos to get acclimated with what the Windows Azure Platform is. These videos are listed in my previous blog post on Windows Azure Resources.
  2. Install the Azure Services Training Kit
  3. Open the file: C:\AzureServicesKit\Labs.htm to list the "Hands-On Labs".
  4. Perform each lab, starting with the first, to get the basic skills such as debugging in the development environment (Dev Fabric). The simplest way to walk through the labs is to just open the Word DOC and follow the instructions.

Leveraging the Azure SDK

The Azure SDK includes a DLL Wrapper located at "\Program Files\Windows Azure SDK\v1.0\samples\StorageClient".  This is well written class library to make Azure Storage development easy.  This is an extremely useful component that saves everyone time by avoiding the time to write individual REST interfaces to the Azure API.  It's the code that we all would have written with at least a week of free time on our hands.  It's also the code we should review to imitate the calls on other platforms such as Mono or non-dotnet environments for our REST calls.  For blob calls, we would then look at the RestHelpers.cs, RestBlobStorage.cs, and the higher level calls in BlobStorage.cs.

Lessons Learned While Using the Azure Storage Labs

  • Read the Windows Azure SDK CHM file. This is a great resource for limitations and error messages.
  • To clear the database when all is done, from the Windows Azure SDK prompt, run "dsinit /forcecreate /server:<SQLServerInstance>"
  • From the SDK Documentation: Development storage supports only a single fixed account and a well-known authentication key. This account and key are the only credentials permitted for use with development storage. They are:
    • Account name: devstoreaccount1
    • Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
  • I manually changed the SQL Server instance from "localhost\SQLExpress" so I could use my local SQL Server 2008 instance in the development fabric. But when the option is selected during the lab to "Create Test Storage Tables", it uses MSBuild tasks to create the tables. The setting in the Targets file is set for SQL Express.

 

For future references, after installing an Azure SDK update that overwrites these files, there are three places in two files to specify a different database location for the development fabric.

  • C:\Program Files\Windows Azure SDK\v1.0\bin\DevelopmentStorage.exe.config
  • C:\Program Files (x86)\MSBuild\Microsoft\Cloud Service\v1.0\ Microsoft.CloudService.targets

-Vince

Posted by vblasberg with no comments
Filed under: ,

Notion Tools for Team System

The company that I work for, Notion Solutions, has just announced a suite of extensions to Microsoft Visual Studio Team System.  Here is an excerpt from the website:

These tools add new capabilities that help teams manage work better, plan schedules, visualize work relationships, manage requirements and requirements documents, record time, and more. The individual products that make up Notion Tools for Team System include:

There is an FAQ available for more information.

I've worked with the team at Notion for quite a while building up these tools.  The tools will continue to gain features through the next few months.  Be sure to download a trial version from the site and see if they boost your TFS productivity. 

-Vince

 

Posted by vblasberg with no comments

If I Ran Microsoft

I saw the "If I Ran Microsoft" video online today.  It mentioned the public image for Microsoft and the great things that they do.  The video showed the "We Are Microsoft Charity Challenge Weekend".  It was a big deal for those charities that now have a great system to do their charity work with.  I'm so glad that I had a part in it this year.

    

No.  This isn't my version of the "If I Ran Microsoft".  I'm not presumptuous enough to think I know how to keep such a huge company running properly with a real profit.  There are marketing engines in place and research being done to ensure its success.  Think about the magnitude of Microsoft (like Wal-Mart unfortunately).

  • Employees and Their Families
  • Microsoft Partners and Their Employees and Families
  • Independent Developers and Companies that Rest on Microsoft Systems and all employees and Families
  • The Auto Industry selling new cars while getting bail-out money (sorry - bridge loans) and the Unknown Loan Companies that bought the auto loans from them a long time ago for all of those people mentioned.

Microsoft has a huge impact on the country where open source software and the expensive support that comes with it cannot replace.

-Vince

 

Posted by vblasberg
Filed under:

Windows Azure Resources

I compiled these Azure Platform Services related resources and distributed them to the Cloud Computing User Group in Dallas on 01/21/2009.

To navigate to the resource, add the id from the left column to the right of "http://tinyurl.com//". 
For example, our user group web site is located at "http://tinyurl.com/9na8v7".

9na8v7

AzureUserGroup.com

8rdgqu

AzureJournal.com

 

 

MSDN

9xrymt

Azure Services Platform

65ogcw

Azure Services Platform Developer Center

6yy75b

Windows Azure SDK Documentation

5pw2md

Cloud Computing Tools

4m92h9

Known Issues and Constraints

 

 

MSDN Introduction Articles and Walkthroughs

6rjx9w

Quick Lap around the Windows Azure Tools for Microsoft Visual Studio

83x2a9

Deploying a Service on Windows Azure

7kwzud

Using the Cloud Service Project Roles Node

79gjpc

Windows Azure Tools Development Fabric and Storage Integration

7j7zen

Enabling SSL Connections on Windows Azure

7upn2y

Other Technical Walkthroughs

 

 

Channel 9 Videos

6fkzqo

Channel 9: Introducing Windows Azure - Manuvir Das

5cvwef

Channel 9: Windows Azure for Developers - Steve Marx

6q8qh3

Channel 9: SQL Server Data Services - Dave Campbell

6eatl6

Channel 9: SQL Server Data Services Team Talks Business Value

5d5tdl

Channel 9: SQL Server Data Services Team Talks Architecture

9dyl93

Channel 9: John Shewchuk and Dennis Pilarinos: Inside .NET Services

62ueqf

Channel 9: Ray Ozzie: Reflections on Azure

6ootax

PDC: A Lap around Windows Azure - Manuvir Das

8neplt

PDC: Essential Cloud Storage Services - Brad Calder

66ehf3

PDC: Developing and Deploying Your First Windows Azure Service

5m3tnb

PDC: Windows Azure: Cloud Service Development Best Practices

a3s5qg

MSDN: An Introduction to SQL Data Services

9t2vhx

TechNet: Introduction to SQL Data Services

86gcew

ITTV: Visual Studio 2010 and Azure Cloud Computing

8lmsva

ITTV: Dave Campbell on Azure and SQL Server Services

7kzs2l

.Net Rocks: David Aiken on Azure

97ugj7

Deep Fried Bytes: Windows Azure - The Overlord in the Cloud

 

 

Blogs

92bww2

David Pallmann

7dfemh

AzureFeeds

95ckax

Cloud Computing Tools Team Blog

8uzbab

Cloudy in Seattle

7hw9sr

Oakleaf Systems

 

 

Other

8he7zo

LifeTracks - Live Sample Application (Live)

6272bn

Azure Services Platform Whitepapers

Posted by vblasberg with 2 comment(s)
Filed under: ,

Cloud Computing User Group – Dallas Meeting #1

It feels great to get back in action like when I was always running the Dallas C# SIG.  Now I'm helping Mike Holdorf and Rob Vettor run the CCUG in Dallas.  The first meeting is finally here (tomorrow).  This invite says it all.

Don't miss the opportunity to be at the first local meeting of the Cloud Computing User Group

Windows Azure is Microsoft's cloud computing platform.  At this meeting, you'll hear about Microsoft's vision of Software + Services and what it can mean for you.  As part of this presentation, you'll see a demo of how a cloud application is developed and deployed.

January 21, 2009 from 6:00 - 8:00 pm


Microsoft Corporation
7000 North Highway 161
Las Colinas Campus
Irving, TX 75039
USA
Map: http://www.microsoft.com/mscorp/info/usaoffices/southcentral/dallas.asp

Please take a moment to register here so we can plan properly.  Pizza will be served at 6:00 and the presentation / demo will begin shortly after.

-Vince

Posted by vblasberg with no comments

We Are Microsoft 2009 - Done and Done Great

The "We Are Microsoft Charity Challenge 2009" event was a great success this year.  So many dedicated, community-spirited people contributed their time.  The biggest thank you goes out to Toi Wright from the Dallas ASP.Net User Group.  She literally put her life into it.  She put her husband in the volunteer group also.  Now that's thinking.  Chris Koenig dedicated some serious time to the event and a portion of Microsoft's funds.  Much of that time just might have been spent using twitter with Peter DeBetta, solving the Rubik's cube in minutes, and playing with the Duncan YoYos.  It's a tough job...

The TFS portion of the event went great thanks to the footwork of John Burns from Notion Solutions and Paul Hacker from SaaS Made Easy with Chris Koenig doing some team project admin work.  The business analyst team spent plenty of time reviewing and entering the requirements in TFS before developers arrived.

Then the weekend started!!

After all of the charities were introduced and the teams gathered, I gave a 45 minute demonstration to some of the group members on everything that was needed to use TFS work items and source control.  Others that gave training were Gabe with Telerik for Sitefinity, Matt with Verio for hosting, and Scott Dockendorf from Telligent for Graffiti.  All of the teams were ready to create and deploy truly RAD applications at this point.  Teams from several consulting companies showed up such as Sogeti, Telligent, Match, and 3 teams from Pariveda.

There were about 20 charities that were given a two day turn-around from design to delivery.  Some of the sites were great because they leveraged content management systems such as Graffiti, Sitefinity, DotNetNuke, and Mojo Portal.  There were a few that hand rolled the ASP.NET site because it best fit the requirements.

The Highlights:

  • The Mountain Dew went dry on the first night. It birthed a new development framework, the MDF - Mountain Dew Framework - the amount of Mt. Dew to get from Design to DAL to Delivery or similar.
  • The chocolate covered coffee beans needed pennies to get them out of the dispenser so we took the top off and ate them anyway.  (What's in your wallet?  Not pennies - I'm sure)
  • The bowl of Hershey's kisses took all weekend to drain.  We were all eating healthy...Right.
  • The Dickey's Barbeque didn't last even with a second delivery.
  • Some great "We Are Microsoft" blankets were distributed to the true Night Owls, but they were really a batman costume for some.
  • Some found out that they couldn't deploy at the 11th hour - but hip-hip-hurray for PowerPoint.
  • A chicken (foam mascot) came before the egg - so that debate is FINALLY over and solved.  (See the "proof" on Facebook)
  • The value of a User Experience / Design professional was felt by all teams.  Some brought their own from places like Arkansas.  There will be more UX pros at next year's event.
  • Awards were given to memorable people and their "special" talents.  I was awarded the "Best TFS Ninja". Thanks everyone - I did my share of work - TFS style.
  • Charities were overjoyed to get feature-rich web applications that they can maintain themselves for years to come.
  • Fun was had my all !!!

To get the real-deal-feel for what the atmosphere was like, there are at least 187 photos and 18 videos located at:  http://www.facebook.com/groups/edit.php?members&gid=25590171916#/event.php?eid=44676024865

-Vince

Posted by vblasberg with 2 comment(s)
Filed under:

We are Microsoft - This Weekend

"We are Microsoft" is this weekend!!!  This event is all about giving a helping hand using our special talents to build solutions for non-profit organizations.  If there's more team work than that, please let me know.

 

For the second year, Toi Wright, along with many others have put on this event in Dallas, Texas.  What she needs now are some stand-by developers in case some organizations have projects that don't have enough developers, DBA's, testers, etc. 

Notion Solutions and the very TFS-talented Paul Hacker from SaaS Made Easy,  has setup and hosted a TFS server and is eager and ready to keep the development going.  Here is the mention for Notion Solutions.

Notion Solutions to Provide TFS (With Paul Hacker Hosting it...)
http://blog.wearemicrosoft.com/2008/10/10/notion-solutions-to-provide-tfs.aspx

I'll be there with another Notion Solution-ite, John Burns, through much of the weekend to provide TFS Training, TFS support, and some development assistance.  When not doing that, I'll probably help others build unit tests, web tests, and good grief - maybe some code.

So how about it?  Want to sacrifice a weekend for some great causes?  Sign up, show up, code up, and go home on Sunday.

-Vince

Posted by vblasberg with no comments
More Posts Next page »