Deployment Recommendations

Today is a day of reflection, thinking of everything that happened the past couple of months lots of overtime due to a third party that carelessly released something that broke a lot of things, a mayor deployment was made, and 100’s of errors suddenly appeared.

That makes me think what happened to testing? What about standard practices on mayor deployments?

I had to spend a lot of time further enhancing our product prevent or fool proof it so that if they do something similar it won’t affect us, again…

Week after week of telling them about the errors, and explaining what we needed all went back to normal.

All starts with development, the first step for a successful deployment is testing, testing, testing.

You need to make sure the code you are delivering is rock solid, no uncaught exceptions, correct validations, etc. also you need to make sure it can be deployed.

And before I forget did I mention you have to test?

One comment heard was “but there are a million rules in the system”, well if you are going to do a mayor version upgrade that will affect all your customer that have millions of rules, well, you have a million tests to write.

Now, hold on a second a million tests?

By the time we will be live the application will already be obsolete …

All starts with prevention, Don’t you have your unit testing in place to automate the testing? (really?)

So let’s go to the second recommendation.

Let’s assume (as it happens very often) you don’t have your testing framework in place, let’s do the deployment, with one condition no down time or minimize the downtime.

What?, can’t do that? Don’t know how?

When a release is to be made, and there are too many rules or validations that you don’t have time to verify, a rollback strategy is required.(a rollback procedure is ALWAYS required)

The deployment process is simple: backup/deploy/test, all work?

Then good, It Doesn’t work? take 20 minutes to figure out why, still failing? rollback.

If the deployment is of a larger scale your planning has to be done with more care

Best approach? do a side by side deployment and start to roll out your customers one by one or in controlled groups so if one has an error we place him back to where he was (he was happy right? I know when things work I’m happy) then continue working on his issues until fixed then rinse and repeat for the next customer.

Its an slower approach but is the best one (little downtime, no headaches)

Another approach is to go cold turkey and place everyone at the same time to production, but this is risky and you risk your reputation and your customer’s Rep. which is by far the worst thing you can do, most likely after that they will want to get rid of you (and they will eventually)

(*rant start*) that is what happened to us,  we “the customer ” had to do the provider QA /QC (grrrr) we had no option for rollback “no we can’t do that” .. well that sucks big time and you know it homenet .. (* rant end*)

To sum up to do a deployment :

  1. Test
  2. integrate your code and test again
  3. backup
  4. deploy and test, if errors grant some minutes(not days) to fix
  5. if can’t fix, rollback
  6. if can’t rollback quit and go work on MacDonald’s (a poorly cooked hamburger can go to the trash and only 1 customer will be affected)

If for any reason you cannot do a partial upgrade or a roll forward approach something is not right on your design.

Always separate the layers on your application.

image

I will expand more on this next time. (UX stands for User Experience)

How to find a job in technology

This blog post is intended for those who have a computer science degree or similar, but it may also apply to everyone else, to some extent.

When you come out from school you start wondering who is going to hire you, when I started my job hunt, I wasn’t even out of the school (I took my bachelor’s degree in Mexico), competition is hard, finding a job is hard …

Sure is, if you don’t know what to do to improve yourself.

image

One of the most common complains when you are a freshmen is the vicious cycle of  “experience = job = experience”, if you don’t have experience you don’t get a job, but you can’t get a job, since you don’t have any experience…

How many times we have heard that?, when internet was being adopted, it was harder to find resources, tutorials, or information about something you wanted to start. It was never hard, c’mon! you have to know how to search.

In today’s job world, is really important to show off what you can do, do you have enough time in your hands to look for a job? are you 8 hours a day outside knocking on doors? of course not; Why don’t you spend your time enhancing your resume doing actual work?

As with anything that is worth in life you have to start investing something (this is for your growth) so start thinking of spending some dollars a year for a hosting place, do some work, publish it, get involved in open source projects, create a blog, find user groups, assist and learn.

The era of the no experience no job, is easier to overcome this days.

You just have to leave your couch and start coding.

Samples?

Create an online resume builder, create an android application to create lists of tasks, create a grocery shopping list .. even a calculator will help .. do as many as you can, you can get the experience from there, expose the work you have done, publish it for free, the more they talk about it the better, accept all critics, there is a saying “Don’t criticize your enemies, they may learn something”  (don’t know who said it)

And one more suggestion, use several technologies in your project, make them interact with each other.

The grocery list, create a web application on asp.net, create an android client for the phone, manage the web services with Azure or Amazon Cloud services, synchronize the information with a windows 8 app, etc. (I omit the IPhone, IPad and junk, since its not as easy to start on it as it is with windows/java/android)

Also, you have to manage your online reputation, some of the things you may need:

  • Blog
  • Twitter account
  • Google+ identity
  • Linked in
  • About me
  • Leverage any other social sites (empireavenue.com, klout.com, etc.)

I don’t include Facebook, unless you think is worth it, as for me, I keep it as private as possible, all else is open.

As with everything, you have to start somewhere, and even if you are bad, as you continue working on it you will improve.

Tutorials? information?

bing.com, google.com, yahoo.com, are good places to start (SEARCH!)

There are so many free tools to use and also you can learn so much for free, for example you can start with:

And many more…

Is amazing the kind of things you can do, when you spend your time where you are supposed to.

Feel free to me your questions, I may be able to help out

Windows 8 First Look

Finally my windows 8 virtualization on VMware worked, if you search in their support forums, they tell you windows 8 is not supported, after adding and removing hardware it turns out the Floppy Drive is the one that was causing the issues. You can find more of that in this

So, Once you virtualize your environment what is next?

(Note: all links on pictures are for a bigger image)

As mentioned in this , we cannot turn off the customer experience program, but there are some others you may want to change.

image

Same for the error reporting, of course we want to report any issues to Microsoft, we want this OS to rock! image

In the configuration settings there are several ways to implement your account, you can use your Windows Live Account Microsoft Account, or local accounts (I haven’t tested domain accounts just yet).

Once you log in, you are welcomed by the Start Menu Live Tiles.

image

And here is where I start pouring some questions.

Since the release of the Developer Preview my concern was on how this start menu works, you are supposed to have live tiles, similar to what you see on your windows phone, so, I have some questions:

  • What happens then when you are not looking at that screen?
  • If you have multiple monitors, will the tiles window remain open? (so far in all my tests the answer is no, unless you snap the window to the left or right but still what about those non metro apps?)
  • What if you have three monitors or more?

I mean those details as I see them one will just have to get use to it, since the Tiles is the “new” start menu, but instead of popping like windows 7

image

It will go full screen.

Now lets get into IE 10.

When you open Internet explorer 10, you know you are in it since there is nothing else on the screen (which is nice), my first page to visit was www.bing.com which I was pleased to see a cool HTML 5 animation, I really liked the background for Windows 8 Beta, with light effects and all.

image

Minimalistic view of Internet explorer:

image

No plugins are allowed (so flash/silverlight is dead uh?)

In this site there is a flash video: image

And this is a page with Silverlight: image

The main objective of IE10 is just to display your pages, therefore is minimalistic 100%, which is good and bad, where are my options? how can I configure the settings? security? cookies?

Well, I have to figure that out if you open the desktop and click on IE, you will get access to the “old” IE9 interface, the thing is, you are using IE10

image

So, will this mean, you can set the settings for the other view? Well, after we play around with it we will find out.

Another thing to notice is the Ribbon bar on the explorer, it starts minified, on the developers preview it was expanded by default, clunky and in the way, here, you can go enabling what you need as you need it.

When you click the option it expands:

image

And that is nice.

Windows Shortcuts still work:

  • Windows key (WK) +1 ..
  • WK + D
  • WK + W
  • WK + L
  • etc…

The apps, seem to be better organized than what we had on the Developer Preview

image

And so far, I’m liking it. So many things to talk about on this O.S. but I will not focus on infrastructure, “Spock, I’m a developer not an engineer”

Still tempted to upgrade my laptop.

Well, next step, Install Visual Studio 11.

See you then.

Windows 8 inside VMware Workstation 8

If you have some experience with virtualization you will see that this is the best option to create different testing environments, try new software or just use different applications in the same computer (like mixing windows and linux).

Installation on VMware is simple enough, the problem are those little “gotcha” that can ruin your mood.

So lets start, you have to get your copy of Windows 8 (don’t forget to get the key  (DNJXJ-7XBW8-2378T-X22TX-BKG7J)

In order to create the virtual machine you select the File –> New Virtual Machine.image

You have to select to install the operating system later, if you don’t do that VMware will try to create the unattended install file (which works for Windows 7).

You can select any operating system, but in this scenario we select Windows 7 x64 to simplify the selection of drivers and devices.

image

You name your Virtual machine, and specify the location (I’m skipping that picture)

After that you specify the hard drive settings, I usually select a single drive, since its better performing.

Once you get to the Hardware screen:

image

Click on the Customize Hardware, here is the main caveat, you have to remove the floppy disk from the available selection

image

That will prevent Windows from Crashing, at least that did it for me, I also (as an extra precaution I disabled the 3d Graphics on the display configuration.

image

Once that is done, save your virtual machine, and change the ISO on the DVD to the newly downloaded copy of windows 8, after that it will boot, you have to do somewhere around 4 clicks and the installation will be completed.

There is not a lot to configure or change, once the installation goes, select the hard drive, and let it rip, you will be up and running in no time.

I have a couple more post you can check on some other details about the installation and configuration, and later on the week I will be adding more info on how it works.

I will be enabling the 3d acceleration on VMware, we’ll see if we crash or if it works as expected

Next step is to install Visual Studio 11 and start throwing lines! 😀

Get set, ready, Code!!

Windows 8 Public Beta available now

I just watched the public release of windows 8, lots of new features, and Visual Studio 11 beta is out too, (I hope the screens aren’t as bad as they seemed on the preview they gave)
Anyhow, Here are the links
To get your windows 8:

Windows 8 Beta
Windows 8 Beta

To get Visual Studio:

Visual Studio 11
Visual Studio 2012 Beta

This leap day is really exciting 🙂 now to wait other 4 years for this?

Will be updating people once I install my copy 😀

Windows Phone 7–App hub Issues

All started once I got my windows phone, I had some trouble trying to connect my account on App hub, in the end all worked out, I have my account setup and everything is set.

Now this post is more of a tale of what happened and the things I had to do to be able to use it.

The particular setup associated to my account is different to what you normally see, or so it seemed to be.

The account setup is fairly simple and easy to follow

  • You login with your windows live account
  • Create an app hub account
  • Pay 99 dollars and you are set.

image

Right?

Well it seems not, for some of us, there are issues that are different per account.

For me, the main problem was related to the credit card validation

image

Every single time I added my credit card information (no matter which one) the application will come back telling me that is not valid.

There were several links and recommendations on how to fix this issue, but they were not working. (the forum I was directed to)

One of the suggestions is go to https://billing.microsoft.com/home.aspx  and add your credit card information in there

image

Well, there were no options for doing that (I tried a couple of accounts, and had the same issue)

Later on (from a reply from the tech support team on the app hub) I had to go to http://www.microsoft.com/windowsphone/en-us/default.aspx to add my credit card information.

I’m a developer, so my train of thought was:

  1. Set everything up, so you have the account ready
  2. Download the resources and set your Dev. environment
  3. Finally pair your device with the above already setup.

What happened every time when I was trying to add my credit card information was that there was no phone attached to my account.

image

And non of the emails related to the support ticket I was following told me anything about that, I had my phone (I got it from the evangelist on my area, see this post), I had a windows live id, but, I did not associate my live id with my phone.

The issue starts from the app hub having problems with the credit card validation, but if the workaround is there, well, is not so big of an issue, right?

We Devs. tend to think like that, but as consumer it’s not a good response.

Anyhow back to were we were.

I had to create a different account, in this case a Hotmail account (against my will since I wanted to use my own domain/email address) but in this case this will have to do.

Then you would ask, why you didn’t try pairing your domain/email again with a windows live id?

For a simple reason, I was hosting my custom email with: http://home.officelive.com

But I received a note that they will pull the plug on it, and I will be forced to move to Office 365 if I want to keep what I have, but obviously costs will be higher (but this is a story for some other time)

And that seemed to have trouble with my windows phone, since it was unable to authenticate my account. (good thing it failed, #Fail on the reporting why it failed)

After all the setup and the new live account added:

image

So, in the end here are my recommendations to create an app hub successfully and painless.

  1. Make sure the live account you are using is valid
  2. Check your billing address in three different locations:
    1. https://live.xbox.com/
    2. https://billing.microsoft.com
    3. and finally: https://www.windowsphone.com/en-US/my
  3. Pair your windows phone and setup your ZUNE account on your local machine before attempting anything.
  4. Be patient when contacting app hub, the volume of requests must be really high, understandable, but not likeable

And now, once you are set, happy coding! Smile

Check this post for Windows phone Development resources
and this post for initial setup of a development environment

Last but not least here is how to unlock your phone once all the above steps are completed

Later!

Developing on Windows Phone – Set the environment

As I mentioned in a previous post you can setup your development environment pretty much for free.

If you are starting your development right out from school you can take advantage of https://www.dreamspark.com/ it will provide the tools for you to be successful building windows applications, its free and is really useful, I wish I that program had existed when I was studying in Mexico.

Now, you are no longer a student you can use the : BizSpark in a similar way, start ups and small business get some love from Microsoft too, if you register your company you can access lots of useful resources (and software) to be able to reach that dream you are pursuing.

So, back to the environment.

As lots of people did before me, there are tons of blog posts about how to setup your environment and where to get all the tools, perhaps after this link you will stop reading, don’t blame you, is a lot of things to know to do this (but is really worth it, at least so far it has been for me) without further adieu here is the link

Now after you install all the goodies that you can find in that location what to do?

Well you can start developing,

But how do I do that? Well, I can’t provide all the answers, right? right (well not that much, I will be adding more posts about it as I go along), so for that we have more resources so you can get training on how to do stuff for the windows phone here (training) and some more information here

now for some questions:

  • And what about the device you got for free?
  • How do you use it?
  • Where can I get one?

About the device I got for free, I posted it earlier today here

How do you use it? I will get to that in an additional post later.

Where can you get one? uhm, this is a tough question since there are lots of options and you will only get it if you really want it.

What you can do: follow @DanielEgan, @UserCommunity, also try this URL: http://www.30tolaunch.com/ (free phones are being offered now for  contest)

and finally try all the user groups in your area you can find try this

http://windows-phone.meetup.com/

image

You should be able to find one or two near you

So, I will be posting more information on the setup for the Windows Hub Account and some hurdles you may have to jump over.

(BTW.. I really dislike my Android now, so unstable.. cool platform but the OEM just messes up with the core a lot)

Update –

Just as I was installing the Azure framework, more dependencies showed up, well, there is a lot of utilities there that will definitely save me some time later on.

image_thumb

So on to the next post

Get your Phone Dev on!

I’m a developer, as the world is moving forward I decided to start building apps for mobile devices, there are so many things you can do and there are so many things now possible thanks to the power of the smartphones.

While making the decision of which platform to use as my first development area I reviewed Android and Windows Phone platforms, and due to the abundance of tools and information on how to develop for windows phone I decided to use that as my launch pad.

The first thing you have to do is get a phone, or so I thought, since I need a place where I can test all the things I will be building, therefore the first step was to get the hardware.

Fortunately here in California Daniel Egan (@DanielEgan) is the Evangelist that is in charge of that, and he happened to be giving away some windows phones for free, (well, you have to be a developer and must be doing something for the platform), so I reached out to him after seeing this tweet:

image

And after a couple of emails describing the apps I want to build, he sent me the phone, pretty cool! Open-mouthed smile

So I was in my merry way ready to deploy a test application I created, but for to do that you have to have an App Hub account.

More on that coming up in some posts.

BTW, this is my phone:

image

This weekend off to Vegas – Visual Studio – Asp.Net – Html 5 – Silverlight

Well, all the posts I have planned and currently working on will be expanded alter since I won a pass to the DevConnections in vegas  

I will be attending mainly the conferences on Visual Studio and Azure, alongside HTML 5, so expect some live updates from there (via twitter) and several blog posts regarding whatever I can find out.

I have some other posts to talk about, regarding XAML applications for Windows 8.

Its been a busy week and a lot happened, My company TKCarsites was bought by KPA,  is funny how many times I’ve changed jobs being in the same company, this time is an entirely new plan, this is going to be interesting, new challenges always come with new management.

Attached is the conference brochure, I will be back next Wednesday with more, for the time being, back to Visual Studio and Windows 8

Posting from W8

Hey, After a while I was able to load windows 8 on a virtualized environment but with full hardware environment.

Trying to use Virtual Box, VMware, Virtual PC (or XPMode in windows 7), proved to be not the best (at least at this time, since the O.S. is really, really new).

So I went back to something I found after the Build conference, a post from Scott Hanselman (@shanselman) with really good instructions on how to set all this up.

The original blog post is: http://j.mp/pxHUKa

IMG_20111002_110406-1

Once the application is installed you can see how the dual boot section is enabled in the computer, so with a simple click you can choose to use the Dev Preview and your previous operating system. (please read the original post for the details of how to do this, is WOMB certified –works in my box)
After the initial setup you can find all the goodies for Windows 8, in fact the loading time is just amazing, I love the startup is really fast, (I will time it next time)
IMG_20111002_110548-1
The computer I am using is a XPS 15”, pretty nice laptop. Even though the machine detects my multi-touch screen the missing drivers do not allow it to work fully, but I have touch input.
specs
Running the OS with the full hardware  is totally awesome, and knowing that my main OS is untouched is priceless.
IMG_20111002_110748-1

(live writer just exploded!, but I got my changes back!, woah! where is that save button again?)

Untitled

The developer preview I obtained has already visual studio 11 in it, but I also happen to have the developer preview which I will try to install and use for all the next posts.

mount

you can mount an ISO directly Smile that is really good if you want to get things done quickly without 3rd party tools

As an ending note. I need to find a better editor for the blog.. the CSS, is messy and I cannot edit it with this crappy HTML editor live writer has. Well on to look for one it is, In the mean time, Visual Studio is installing 😀
also
I want to like IE9 and IE10, but they are still behind on several settings, after I saw the videos on Build related to desktop sync. I hope they can really put it up to par to what I can do with Google chrome.

I mean, I just downloaded chrome, went to the settings, hit the sync button and I have all the stuff I use in my real computer.

I need to get a hold of one windows phone, to be able to test the integration.