Mean On Azure Episode 1

I just published my first episode in a series called Mean On Azure. In it I take you through my journey of discover in the Mean Stack in bite size videos showing you how to not only use the MEAN stack, but how to use it on Azure.

To view the whole series on Channel 9 go to http://sogeek.us/meanonazure

Hockey App in VSTS

imageThere were many announcements  at Connect(): 2015 about Visual Studio Online.  First and foremost, the name change to better reflect what developers were to expect when going there.  Visual Studio Online is now called Visual Studio Team Services (long live VSTS).   DevOps was a big part of the two day event and VSTS is a big part of DevOps.

In his presentation, Microsoft Technical Fellow, Brian Harry announced,

“a little over a year ago, we announced a beginning of a  journey, which was to open up team foundation server and visual studio online with web standards using rest, oauth, and services hooks” 

This led to the announcement at Connect(): 2015 of  Visual Studio Team Services extensions. Extensions enable you to create first-class integration experiences within Visual Studio Team Services.   Anyone can build extensions and make them available to the public. If you want to build one yourself, you can check out how to do that here.

https://www.visualstudio.com/en-us/integrate/extensions/overview

 

image

You can find them if you sign on to your VSTS account and click on the store icon in the upper right of the screen.

HockeyApp is one of those extensions. But before we move forward, lets talk about the elephant in the room. HockeyApp has nothing to do with Hockey so what’s with the name? (Come on, I know you are wondering)  Well, if you dig around in the support pages for HockeyApp you can find the answer, and it makes sense once you read it.

Our product started as an open-source project named Hockey which allowed you to install iOS beta apps on your iPhone. Apple calls this installation process (outside the App Store) ad hoc distribution. The name Hockey was a word play on the Hoc in ad hoc distribution and the word key. When we launched the HockeyApp, the open-source project had already gained traction in the community, so we kept the name and added App at the end.

So when Brian Harry  made the announcement about acquiring HockeyApp almost a year ago, their goal was to integrate HockeyApp into Application Insights, which allows you to detect issues, diagnose crashes, and track usage in your mobile apps and web apps on Azure, IIS, or J2EE.  HockeyApp extends this and helps developers manage the process of developing apps for multiple platforms, specifically it specializes in these three key areas:

  • Crash reporting.  Fast and precise crash reporting with easy app integration, rich crash analysis and support for connecting directly to existing workflows and bug tracking systems.
  • Distribution and feedback.  Beta distribution and built-in user feedback system.
  • Cross-platform.  Support for iOS, Android, and Windows Phone provides a consistent developer experience across mobile devices

 

vstshockey

 

You can still use HockeyApp as a stand alone project, but what the announcement at Connect(): 2015 brought was an integration point so that you can manage the process in the same place you are tracking all the other aspects of your project, within VSTS.  This gives you all the great crash reporting and feedback data right into your VSTS environment. Once you add the extension, you can then add  a HockeyApp widget to your dashboard.

 

 

image

 

What this allows you to do, among other things,  is integrate with your bug reports. When a bug request is filed, while you are still inside VSTS you can launch HockeyApp to see if this is something that your users are experiencing already that you may not have noticed, or is it a new incident.

 

image

You can also dive into individual builds, communicate with your beta testers and turn requests/feedback from your users into work items with the click of a button all within the confines of VSTS.  This is a great move forward for continuous integration and testing for developers using Visual Studio Team Services.

If you wanted to try this out for yourself, first, you need to sign up on Visual Studio Team Services. Its free for individuals or teams up to 5.   Then sign up for HockeyApp here. http://hockeyapp.net/pricing/  your first two apps are free.

Next, add HockeyApp to your VSTS by following this tutorial. Or  you can head over to Chris Risner’s post on setting up your project with VSTS and HockeyApp.

Happy coding

Daniel

Whats new with VS Subscription

11VSProSub

 

 

 

 

To subscribe or not to subscribe, that is the question. Whether ’tis fiscally responsible in the mind  to suffer the slings and arrows of outrageous fortune (and lost developers), or take a subscription against a sea of licenses.   Ok, Ok, enough Hamlet, although that is the question here : Do you buy a license or a subscription?

If you have not heard the news, at our Connect() conference  Microsoft announced that in addition to different ways to license Visual Studio (Standalone, MSDN, Volume, etc.) we now offer what we are calling Cloud Subscriptions.  I for one am a big fan of this model.  I have quite a few software packages that I have purchased on the subscription model.  Personally, there are a number of things that are appealing to me.

  1. No huge upfront cost.
    It is much better for my cash flow :) to be able to pay monthly as opposed to handing over one lump sum at time of purchase.
  2. Flexibility
    If I decide that I am not using it, I can cancel it.
  3. Updates
    As opposed to most licenses, when there is an update I get it automatically.

But lets talk specifically about the Visual Studio Cloud Subscriptions.

( for sake of brevity, I will talk about the Professional Version of Visual Studio.  VS Enterprise follows the same guidelines with different price points)

Annual – If you purchase it for the whole year, your out of pocket costs are $539/yr which is less than half of the cost of the MSDN Subscription and only slightly more than the standalone license.   This is a non-perpetual license which means as opposed to buying a standalone license, when your subscription ends you are no longer able to use the software(unless you renew ).  But the benefit of getting the annual is that unlike the monthly, you get the full subscriber benefits.

Monthly – For the Professional version of Visual Studio, you will pay only  $45/mo which renews monthly. This means that you can cancel at any time and if your needs change, you can adjust your subscriptions accordingly.  If you keep this a full year, it ends up costing the same price as the annual subscription except you do not get the subscriber benefits.

Many of the developers I work with are in early stage start ups ( think, not much money) and as such, have a need to be able to spin up or spin down teams to fit their needs at any given time.  Being able to have monthly subscriptions that they can adjust during the year as they grow or shrink is a huge benefit.

VSTS – An additional benefit of these subscriptions is that you are able to connect to any team using Visual Studio Team Services (Formerly Visual Studio Online) to collaborate and share source code.

So which one is right for you?  Only you can decide that based on your current and future situation.  What I really like is that now you have the flexibility to find the right one to fit your current needs without having to break the bank.

If you want more information you can find a simple exlination of purchasing options here :
https://www.visualstudio.com/products/how-to-buy-vs

Or  a very detailed FAQ here:

https://www.visualstudio.com/get-started/marketplace/buy-vs-subscriptions#subscription-billing-faq

Happy Coding.

Daniel

 

 

 

 

 

Adding Users to BizSpark\Azure

One of the common questions I get is how to add additional users to your Azure / Bizspark account.

This is actually two different questions.

1) Add a user to be able to administer your Azure account

If you add a user to your Azure account it allows them to make modifications (spin up VMs create cloud services, modify active directory, etc..)

2) Add a User to your BizSpark account

Adding a user to your bizspark account DOES NOT add them to YOUR Azure account, what it does is gives them the ability to have their own Azure Sandbox to test and play around with.

Both of these things are valuable but it is important to know the difference and how to set them up.

 

Adding an administrator to your account.

To get started the account owner needs to sign on to their azure account at http://manage.windowsazure.com

Once they do this they will need to scroll down on the left hand side and click on settings.

Next they would click near the top middle where it says ADMINISTRATORS

And finally, click on the ADD icon at the bottom of the screen

image

Next they would need to add the MicrosoftID of the person that will be an administrator. This needs to be a Microsoft account (if they don’t have one they can sign up for one at Outlook.com )

Check the name of the subscription you want to add them to (In most cases there will be only one)

click on the checkmark at the bottom of form when done.

image

Once this is done they can sign on to http://manage.windowsazure.com and start using the account.

NOTE : If they already had a subscription connected to the Microsoft ID added in the step above, there will be one more step.

If they already had an account associated with that ID when they sign onto http://manage.windowsazrue.com  they will now see a Subscriptions menu item up next to their name.

To work on the subscription they were just added to, they will need to

Click on Subscriptions

Select the subscription from the dropdown

Click on the Apply button.

image

 

They will now be accessing the the account they were just added to.

 

Adding a user to your BizSpark account

Remember, this will not add them as and administrator to your azure account like above (although you can do both), but this will add them to your BIZSPARK benefit so they can have their own Azure subscription to test and play around in without using up any resources or credits in the main account.
(Thank you Bret Stateham, this was taken from part of his BizSpark Enrollment tutorial.  Head over there for more information http://bretstateham.com/bizspark-enrollment-tutorial/)

The first thing you need to do is to go to http://BizSpark.com 

Sign in using your MicrosoftID and then click on My BizSpark

image

 

· Then, under the “Manage” heading, click the “add or delete members” link

clip_image002

· Scroll down on the “Manage” page, and click the “+ Add” link, then complete the fields to add the new member (you will need to know the member’s Microsoft Account).  If they don’t have one, they can sign up for one at Outlook.com (I can provide steps if needed) ( I think that is shows only 7 people can be added.  If more is needed, let me know and I will check into that for you.)

clip_image004

· When you press enter, the row will be added, and the membership status will be “Pending” while an invite email is sent to the Microsoft Account email address.

clip_image006

· When the member receives their invitation email, they can use the link in the email to activate their membership

clip_image008

· When they follow the link provided, they will need to sign into BizSpark.com as their Microsoft Account:

clip_image010

· Then complete the enrollment with their Phone, and by Agreeing to the program:

clip_image012

clip_image014

clip_image016

· Once enrolled, they can use the steps described above to download software from MSDN and to activate their Azure benefit, and more!

clip_image018

To see how the added user can add their Azure Benefit, head here http://bretstateham.com/bizspark-enrollment-tutorial/#azure 

Hope that helps.

Daniel

Big Data, how big is big

Size

When it comes to Big Data, there is no way to get away from the discussion on the Size of data. It is one of the three V’s (Volume)

“Big data” is high-volume, -velocity and -variety information assets that demand cost-effective, innovative forms of information processing for enhanced insight and decision making. ~Gartner

 

The interesting part about the Volume of data is not just the sheer about of it that we generate on a daily basis but the fact that due to the lowering cost of storage, we are able to actually keep a good portion of it around.  This in turn gets us talking about size.  This is where people try to dazzle you with their intellect.  For example, you may have heard of an Exabyte.  There may be a possibility that you know that and Exobye is

1 EB = 1018 bytes (10 with 18 zeros behind it)

1000000000000000000B

But seriously even if you are a mathematician, the complexity derives from the fact that most people cannot visualize the size of data in that format.

Is that important?   You bet it is.  One of the key attributes of a Data Scientist is to be able to adequately convey the complex to non-technical people.  To bridge the gap between those with the tools and those with the power (or budget) in an organization.  This may be a small example but it is a good one, breaking down how big data is in terms people can understand is important.

grandmaSo all of that being said, I like to describe it in a way that even my Grandma can understand.  I just relate everything to a GB.  From GB harddrives, to GB in your phone, to GB in your camera, most people can wrap their head around the size because they are used to doing mental calculations based on how many songs, how many files, how many pictures they can hold on x number of GBs.

OK… So lets start talking about big numbers now.

Terabyte = 1024 GB.

With the low cost of storage now, many of you may have Terabyte drives at home or in your computer.  I have a 2TB drive that I carry around with me with EVERYTHING I need on it.  So this one is not much of a comprehension challenge.

Petabyte = Over 1 Million Gigabytes

Ok, so one step up. Over One Million Gigabytes.  What does that get us.  Well, the size of the 10 Billion photos on Facebook is 1.5 Petabytes.  Or the amount of Data processed by Google…. Per day is 20 Petabytes.

Exabyte = Over 1 Billion Gigabytes

When we get into Exabytes, we start talking about how much storage entire Data Center Building hold.  Like Utah Data Center for the Comprehensive National Cyber security initiative (CNCI).  Or cold storage for those Facebook pictures we mentioned.

Zettabyte = over a Trillion Gigabytes

It is said that over 2 ZB of data is created every day.  We don’t store this much (we don’t have the ability) but this much is created. The “Zetta” was recognized by the 19th International Committee for Weights and Measueres in 1991 (along with “Yetta”) .  So where is all of this data coming from?  See the infographic below.

DatainOneMinute

infographic by Domo.com

infographic by Domo.com

 

 

Yottabyte = over 5 thousand trillion Gigabytes

Of course if you are the NSA, you need more storage.  Like the NSA’s secret (ha ha) Data Center in Utah. http://www.foxnews.com/tech/2013/06/13/what-we3-know-utah-nsa-mega-data-warehouse/

Imagine being able to comb through that data.   A Yottabyte is so big that you have to start talking about small things to put in in comparison.  For example there are 1 Yottabytes of Atoms in 7000 human bodies.  Or A Yottabyte of 1TB hard drives would require a data center covering 1 million city blocks

 

 

Big Data — What is HBASE

hbaseThe great thing about Big Data technology is that there are so many tools in the Data Scientists Tool Belt. The bad thing about Big Data Technology is that there are so many tools in the Data Scientists Tool belt.

When we talk about the tools that we use when working with Big Data, an overwhelming majority will discuss Hadoop, the Apache foundations implementation of Map Reduce and Distributed File Systems (HDFS in this instance. Which was created by Doug Cutting after Reading papers on the subject produced by Google Engineers while he was at Yahoo. (He is now at Cloudera). But big data tools rarely if ever work alone. It is a collection of tools and databases that help Data Scientists be more effective in their analysis (or just help to speed things up).

One of these technologies is HBase. HBase is a non-relational (NoSQL) database that is a Java implementation of Google Big Table. It is what is referred to as a Columnar Database. As oppose to Relational Database which stores its Data in Rows, it stores its data in Columns.

So that’s easy to say, but what exactly does that mean. Lets start with the definition Google lays out in its document on Big Table. http://static.googleusercontent.com/media/research.google.com/en/us/archive/bigtable-osdi06.pdf

” A Bigtable is a sparse, distributed, persistent multidimensional sorted map.”

Lets break that down to see what that means.

Sparse

A database is said to be sparse because of lack of data but not in the traditional sense of the term which would usually mean that there are very few items in the database.  In relation to HBASE, it is called sparse because of its ability to have sparse data in its entities.  What this means is as opposed to a relational table that would  require you to fill out all (or most) of the fields (Think of a customer data table in a relational data base), a columnar database can be empty or NULL without it adversely affecting the database functionality.  In addition, this also gives you the added benefit of being able to add other pieces of data you would like to capture on the fly.  In a Relational Database, you create a schema (FirstName, LastName, SS#, TelephoneNumber) and hope that you have thought of all the data you need to capture at the time of creation.  The NoSql schema-less databases allow you to add fields when needed or discovered without interrupting the normal flow of the operations.

Distributed and Persistent

HBase utilizes HDFS (the Hadoop Distributed File System) to distribute data across several commodity servers.  This is how Hadoop and and HBase are able to work with vast amounts of data. It is based on another article from Google on the Google File System which Doug Cutting used as a basis for HDFS http://static.googleusercontent.com/media/research.google.com/en/us/archive/gfs-sosp2003.pdf .  We will discuss HDFS and DFS in more detail in another post.

Multidimensional sorted Map

A Map (sometimes called and associative array) is a collection where the index of what is being stored does not have to be an integer but can also be arbitrary string.  It is a collection of Key/Value pairs where the key is unique.  The Keys are sorted in lexicographical order. (Not alphabetical, nor Alphanumeric, but sorting on the Unicode value of the string)

What you gain/give Up

Using HBase allows you to store your data both preprocessing and post processing in HBase and gives you some greater flexability and host billions of rows of data with rapid access. The downside is that when you use HBase instead of HDFS, tools like Hive (SQL like retrieval of data) are 4-5 times slower than plain HDFS. In addition, the maximum amount of data you can hold is about 1 petabyte as opposed to 30pb in HDFS.

 In the next post will dive deeper into the specifics of HBase, like set up, usage, and analysis.

New WP & W8 Apps from the West

AppsAs a Developer Evangelist from Microsoft I help developers develop apps for Windows Phone or Windows 8. I cover the Western United States. Because of that, I wanted to do a post to showcase some of the apps that are coming out of the west. Of course, because Silicon Valley is part of the West Coast, I am sure you will recognize a few of these apps, but they are not all from big brand names.

Help me support the developers working hard on the west coast to build apps. Download the apps (All are free or have a trial) and then review them too… As a developer myself, I love to get ratings and feedback for my games and apps (I included my game on here too :) )

 

Hotel Tonight – Windows 8 – Get a great deal on a hotel TODAY.  I love this app, I am always last minute so it not only helps me get a room last minute but find really cool hotels to stay at. http://apps.microsoft.com/windows/en-us/app/hotel-tonight/2DAEDD08-2405-47F9-8069-4FEEC7BCCD8D

Scribed – Windows 8http://apps.microsoft.com/windows/en-us/app/scribd-read-unlimited-books/b6b0df3c-febf-4b02-b548-7acb4c91b1b1 – If you like to read, try Scribed to read thousands of books for $8.99 a month, I am checking it out using the free trial.

Interactive Touch Books for Kids – Windows 8http://apps.microsoft.com/windows/en-us/app/interactive-touch-books-for-kids/26145e23-b981-4795-a383-66277caa3086 – My daughter loves this, she is in the drag drop stage and wants to play this again and again.

Madagascar Math Ops – Windows 8  http://apps.microsoft.com/windows/en-us/app/madagascar-math-ops/66724460-7712-4241-be7e-eb172db21c66 – I might be starting my daughter a bit early on this but she loves the Madagascar characters.  Try it out and let me know what you think.

Dave In the Cave – Windows Phonehttp://www.windowsphone.com/en-us/store/app/dave-in-the-cave/e26cc5fa-f96d-4dfb-9ac6-d57b9cecac89 – (Shameless Self Promotion) Help Dave Escape the Caves, 20 levels of fun.  The first 10 may be easy but then it starts to ramp up and really makes you think about your next move.  Check it out and let me know what you think.  It is the first game I created.

Baby Connect (Active Logger)http://www.windowsphone.com/en-us/store/app/baby-connect/bd32d247-f3db-4b17-bfdb-7cb5b40639b6 –  If you have a baby you are always keeping track of things, pee, poo, food, sleep, repeat.. This is a great way to not only keep track, but to share with others that help to take care of your little one.

That’s it for now.  Download, rate, and let me know what you think too..  Im proud to show off apps coming out of the west.. keep them coming.

Daniel

 

GameOn Event Resources

If you attended the GameOn event where we showed you how to build Windows 8 Games using GameMaker Studio, I mentioned a few resources that will help you on your journey to building your first game.  You will find these resources below.

 

GameOn Sample Timeline to get you from start to finish before the June 30th Deadline.

If  you are new to Game Maker and designing games, you may find it helpful to have a rough schedule of how to section out your time so that you can finish your game before the deadline of June 30th.   Since you will need the game to be in the Windows 8 Store by June 30th to be part of the contest you will need to plan accordingly. This gives us 15 days to work with.

 

Day 1: Ideas, Story / Character building,

On this first day, there are some decisions you need to make.

  • What type of game you are going to make (Platformer, Endless Runner, Maze, Physics Game)
  • What is the “Story” of your game.  Who is the good guy, who is the bad guy/s, possible obstacles, etc.
  • Maybe testing code fragments to see how long an idea might take to code

In this phase you want to make sure you are realistic in your idea.  Make sure it is something you can complete in the days required. (Don’t try to recreate DOOM in 5 days)

 

Days 2,3 & possibly 4: Sample artwork,  building the engine, testing everything as you go

In this phase you are working with “placeholder” artwork while you figure out your game.  Whether you download it or create stick figures, you will use this to do testing. In addition,  you will start with possibly one level, making sure characters work as expected (jumping, sliding, running etc) and that characters react the way they should in collisions, that bullets fire correctly (if you have any), that gravity is set correctly, etc.  This is where you will be testing out your gameplay.  This MAY turn into your first level OR just might be a testbed for things, it all depends.  Make sure you have all of the Windows 8 specific features implemented during this section.  Most, if not all, can be copied from many of the starter kits that can be found on the Resource Page.

 

Day 5&6: Assets GFX, sound, etc, which will have been planned in day 1

In this phase you will be creating the assets for your game.

  • Characters
  • Ground
  • Backgounds
  • Sound Effects

Make sure you are creating characters that can be worked on quickly.  Like a 4 image walk cycle instead of a 12, etc… this will keep you within scope

 

 

Days 7, 8 & possibly 9: Level design, building rooms

Once you have built your engine, you will want to start building multiple\levels or rooms.  This of course will depend on the type of game, for an endless runner you would plan on how to make it increasingly difficult and engaging.  You will use the pieces you built in the last section to pump out rooms quickly.   After doing one or two rooms, settle on how many rooms you think you can do in the time allotted (don’t over estimate) because you want to make sure the last room has some closure for the user.  Did they rescue someone, or win a prize, or escape to another world (Where you can add more levels later on with and update)

 

Day 9/10: Testing

This is both, testing for bugs and testing for good gameplay.  Have other people play the game and give you feedback (Incorporate what you have time for).  If you want to use Debug mode you will have to test using “Windows” mode instead of Windows 8 (Native or JS)  this will help you pinpoint and track little oversights by letting you follow variables more closely.

 

Day 10 – 15 Submission to the Windows 8 store.

In this section, you will package up your game (information on resource page) and submit to the Windows 8 store.  You will want to give it pleanty of time so that it is approved and in the store by June 30th.

 

Good Luck and happy Gaming.