Activating Win8

Posted: August 16, 2012 in Win8
Tags: , , ,

I was having trouble activating the Win 8 version I downloaded from TechNet, when I tried to activate, it would fail saying that it could not find the DNS, or something similar to that, so after doing some research, here is the solution I found.

  • Right click at the bottom left of you screen;
  • Click the “Command Prompt (admin)” option;
  • Once the prompt opens do the following:
    • slmgr.vbs –ipk <Product Key>
    • Then hit enter;
    • Now type:
      • slmgr.vbs –ato

That’s it, the magic is done

Keep coding.


Woke up last Wednesday to the news that Microsoft was reinventing its certification program , not necessarily news for me since a while back I had the chance to influence some of the changes that are happening. I was happy to see names like MCSD, and MCSE coming back since I hold certifications since 2004 and I use to have MCSD and I liked it, it was well known by the community and well accepted and respected.

But the questions are; Why the change? Why now? and… Why MCSD again? Well here is what I think the answers are.

Why the change? Why now? Why MCSD again?


With the investment that MS and other companies are doing in the “cloud”, we need the incorporation of those skills in the certification program, and that is being done as I write this post, example are certifications like 70-583, or 70-247 for IT Pros. This will allow the market to pin point the professionals they need, as they make there ways into this cloud world.

So the market needed the target on the back of the professionals, and they will have that, but why MCSD? Well I think this name was around for a while and people where confortable with it, they understood the idea, in the same way I described in the opening, MCSD was a brand, I was associated with, and it was a big seller of my skills, and interestingly enough it still is, even after it was discontinued with the MCPD remodel, and I believe bringing “Sexy back” is always a good idea.

What are the changes?


There is constant attempt to create a certification process and path, that allows, what I like to call, “Bucketing”. Basically the idea, is to separate professionals in buckets of skills, so the market can look in the right place for what they need, instead of just fishing on open seas. The buckets are now separated in 3 levels.

  • Associate – Microsoft Certified Solutions Associate (MCSA);
    • This is the foundation level, every certified professional starts here, they will have the proof for specific technologies, making it a prerequisite for the MCSE;
  • Expert – Microsoft Certified Solutions Expert (MCSE) or Microsoft Certified Solution Developer (MCSD);
    • This are for professional with deeper knowledge in many technologies, they will be leader, or mentors in the move to the cloud;
  • Master – Microsoft Certified Solutions Master (MCSM);
    • This are a select few that hold the highest bar of knowledge;


Well with all that said, where do get more, and the answer is simple, MS Learning, and also why should you care, lets say, that there 14 millions of reasons.

So what you waiting for?

Keep learning, keep coding.

Microsoft certification has been around for 20 years, its success is greatly owed to the rigor to which each certification goes through during its creation.

This process, for those of familiar with development, is very similar to any software design. Initially they gather information about what the certification is going to test, then they find resources, and by that I mean, they find professionals that are experts in what is being tested, and they get them to design the questions, while signing a “No Disclosure Agreement” (NDA), to guarantee secrecy of the questions, consequently guaranteeing quality of the test.

Once they have enough questions they start a refinement process where they go through each question and polish them to make them precise and to the point, this can take a little while, and focus groups are put together to brainstorm towards reaching the goal.

After the refinement is done, and they have a set of questions that seem to be alright, they have to go to the wild and make sure it will survive the experienced professionals out there, so they launch a beta test, that is usually longer in quantity and time to accomplish it. This beta test is taken by people that are already certified in other technologies, and it is hardened and refined even further, through evaluations of how well questions are being answered and comments done by the first tester.

Although this process is long, its an attempt to make a test that verify that any professional that has passed is indeed qualified in the technology in question, and is capable of execution of the same. This creates an appreciation and trustworthiness by companies that are hiring, and allow an easier selection as well.

Keep learning, keep coding.

In this business, if you have a notepad, an idea, and some will power , you can be a software developer. But not necessarily a good one. So if you are trying to hire, there are only so many ways you can trim curriculums from a pool in an attempt to get the best programmer, certifications are one of the tools available.

Certifications not only show the person has the knowledge, but they can show the character of a person, since it takes discipline and lots of hard work to accomplish it, and he is also willing to take an extra step to be different. It can help you to track the interest of a person in new technologies, as they are coming out Microsoft Learning is also developing the trainings and certifications that go along with them, allow people to learn about the new and certify on it.

Today as a developer you can take certification like 70-583: PRO: Designing and Developing Windows Azure Applications , that represents you ability to architect and design application for the all new cloud, or 70-599: Pro: Designing and Developing Windows Phone Applications , that show your skill in developing for Windows Phone. This is a powerful thing, the person selecting you, now has that little extra knowledge about you that might make you the one, the all mighty developer, that can solve his problem.

So lets make a deal, you will start with one, go now to Microsoft Learning pick a test, go to one of the test providers like Prometric , schedule your test, and get it going. Then when you pass, contact me telling about your success. I would love to know what you thought of it, and how you think it improved your career.

Keep your self up to date, keep your self employable, keep coding.

Creating the UI


This is going to be another trial and error like everything else. What I want is to get something modern, expressive and obviously user friendly. I will be doing some mock-ups and will see how you guys feel about it.

The Basic Look


Site Layout Basic

In this mock-up I took a pretty common approach where we have the navigation bar on top, and that will be persisted through out the website, independent of the content.

The content area with contrasting colors, between the background and the actual centered content.

Finally the footer where we could links to profiles of the creators, general contact information, powered by links, etc..

The Metro Look


Mock-up 1

Site Layout Metro 1.

Mock-up 2

Site Layout Metro 2

Following the trend we have for this year, the Metro style basically uses big fonts, little written information with icon compensation, which tries to catch user attention by simple graphs with a lot of meaning, also making it easier for touch devices, since this “Tiles”, are big enough.

The grouping are just a simple way of bunching together different categories of “Tiles”, so in the examples above we have news from different sources and social links.

The key difference between the 2 samples, is the lack of a footer in mock-up 2, this is closer to what Metro style, since there is less information on the screen, making it cleaner.

In terms of functionality we maintained the navigation bar at the top, and like the basic mock-up, it will stay independent of the content.

The content area, which includes, the “Tiles”, and the grey bar with “.NET Association”, has horizontal scrolling giving the panorama idea. Depending where you are on the website, the Text, in the header will change appropriately.

Also in blue, there is sub menu that would help you jump to the other categories within the “Panorama”

The content are could also have areas with a vertical scrolling for example, if we had a long article. That content would still respect the boundaries of the area though.

Overall, this is a much cleaner solution but is very different from what a lot of users a used too, so in some ways it could be a bold move. As we build up the website we would be updating with the newer features, and new sections would be created as necessary.

Once more, I will be updating this article when I have more decisions and/or information.

Keep Coding

The Past : Part 2

Thoughts About the Architecture


Here is a thought area, defining how your application is architected has a huge impact on how changes are done, and how they affect the rest of the system. It will tell how difficult it its to add new thing, and how easy other people can cooperate, so this cannot be taken lightly at all. Hopefully we will have a sketch of how it should be by the end of this and later we can go further in the details, and specific changes.

The Key Ideas


Here are a few things that are desirable in a good system:

  1. Business logic have to encapsulated, bleeding of rules, make the system hard to maintain.
  2. Logic has to be reusable, duplication besides being hard to manage is also prone to errors.
  3. Logic has to be granular, this promotes reuse, and also componentization (Lego pieces like Hanselman would say).
  4. Interoperability, the things you do could be reused in a series of systems/platforms, phones, other websites, win/Linux/mac apps, etc..
  5. Scalable, you never know when your site is going to became the next big thing.
  6. Extendable, it’s a given that new things will be needed.

A popular architecture that has these feature is SOA, some people would even say that if you are starting something new now a days, that you should without a doubt use SOA and nothing else. You should be able to find extensive content in the internets about it.

So there that’s what we will be doing. We will use services, for every part of the site internally and externally.

But How does That Work


Every little piece of the site, can be encapsulated into a WCF web service that could further be consumed by the site trough a common interface in a “Service Manager”, which has the responsibility of checking availability, and then execute the request and respond with the appropriate content.

Now is this easy? Not necessarily, the wrapping of this services in this “common interface”, should provide easy access, but will require lots of configurations. Each service would have a configuration file (read data store), describing what methods are available, and what parameters these expect. Further the manager would get the method to be executed, parse the parameters and then execute a call to the service asynchronously.


Looking at the picture above, you will see on the left side in shades of purple, the “Service Manager”, the discovery part is basically check the availability of the service, by asking: Is the API accessible? Once this is done, then the consumer (“Front-End”), can proceed with execution or gracefully fail by posting a message for example.

In some cases, you might not need a service or you are just consuming structure, like MVC or the menus, for example, so I represented those  in shades of yellow.

The front end in light blue, because of the asynchronous nature of the “Service Manager”, could be entirely written in JScript, but not a must. JScript would allow a more responsive UI, creating more user satisfaction and easiness of consumption.

Last the red bar representing things that will be used in all layers, like authentication, logging, etc.

The Service Architecture


Service Architecture

In the picture above you can see, on the top the more common design, where every component can be called from any of the clients, this might create complications when trying to make changes, compose other systems, or even scale some of the functionalities, since, the whole architecture is big block of functionalities.

If you look at some of IDesign documentations you will find that they recommend breaking the architecture in many little services, that would make the problems described above to go away. The addition of he Web API layer, is just a way of abstracting complications when clients communicate with the system, for that you might find different solutions out there (WCF Web API , Service Stack , etc.).

Notice that each service is self contained, it has its own database, business rules, that means that changes there will rarely affect the other systems, making this clearly a good way to promote composability, scalability, extensibility, etc., like we wanted in the beginning of this post.

Obviously this is still a maturing architecture, and as I said before inputs are welcome and I will update the article with more info as I get them.

Also I want to thank Balsamiq  for the cool pictures I have on the post.

What’s next?

Keep Coding.

What’s next: Part 3

The Past : Part 1

Defining the problem


Today we have a boom in social networks of different kinds,,,, are examples of that, and they serve different purposes, and I think that they do that quite well, they have some kind of integration, through authentication strategy, and by sharing “status” on other sites, etc.. Now you can’t go to a single place and consume all the information you want, if you want to know about events, you go, to facebook, google, msevents, etc.,or if you need some code, you go to github, codeproject, codeplex, etc., news you go to some other sites, and podcasts somewhere else. Well that just seems wrong now you have a gazillion favorites and you can’t focus on what you really need to do, which is your work.

Defining the idea


The better world would be a place where you go and you get a snapshot of the things you like, make the decision to know more about something, and then move on, right?

So the initial part of this project is to get that going, concentrating that content in a single place, tailored by the user by picking the sources and rating it as its consumed.

Other interesting ideas:

  • Enabling users to contribute by opening the ability to write articles, that also will be rated, and can be multilingual.
    • Articles should be exportable in a format that is open and consumable in multiple devices, like EPUB.
  • User group management portal, I have seen many of those, but they don’t have a content feed to support the managers, also they don’t have a key component, which is hosting a simple page with the user group theme, events ,news, announcements, contact information, etc..
  • A series of handy services that every one could use in their projects (Hummm, that sounds very big and complicated). Imagine that some of the services that we use in the website could be used by you as well, as an API, so if we have rating system you would be able to use it in your website.
  • Add-ins for browsers, exposing the services of the website to browsers and other systems.
  • Client for all different platforms, like phones and tablets, to enable optimal experience were ever you are using it from.
  • Achievements, having this creates a sense of accomplishment, and gives a game idea to participation. Also the more you give the more you get, so getting achievements will give you more power within the system.

Further on new things could be introduced by suggestion and if I get things right we might be able to build it together, building it for the community by the community. Hopefully by this point I got your interested in some piece of the idea, next I will be working on the tools, frameworks, platforms, defining architecture, playing with idea of services, and way more.

Keep coding.

What’s next: Part 2

The Past : Part 0