ASP vNext: Playing With The Alpha Bits Presentation

Presentation Cover
Slides from my GGMUG presentation. Click the image to download.

Update I have updated my slides to reflect changes I made for later versions of this talk.

I gave a talk at the August 2014 meeting of the Gwinnett, Georgia, Microsoft User Group (GGMUG) about what's coming in the next version of ASP.Net.

Click on the image of the cover to download my PowerPoint slides.

There is a ton of coolness in the next release of ASP.

In my talk I covered:

  • Open Source Development of ASP MVC/Entity Framework/SignalR/etc.
  • Cross Platform: Run on Windows, Linux or Mac!
  • MVC Merged: MVC 6 is merging of MVC, Web API and Web Pages (Web Forms Not Included)
  • Cloud Optimized Runtime: leaner, meaner, faster startup
  • Super Modular: Replace most parts with your favorite project
  • New Project System: Nuget + Proj file == project.json
  • New Configuration System: Good-bye Web.Config, unless you want to keep it
  • Dependency Injection: Out of the box DI, but replaceable with your favorite
  • Command-line Tools: kvm, kpm, k

I tried to reassure everyone that most of these changes are either optional or can be over-ridden.

The command-line tools will also be available, but not required. Visual Studio will still be the KING!

I made the point that this release will mark the split between the MVC line and the Web Forms line. They will no longer be built on the same base.

Web Forms isn't going away, but I'm not sure it will receive super active development in the future, either.

Already most new features have started on the MVC side and later been added to Web Forms.

I don't have a crystal ball or access to secret Microsoft plans, but my guess is that MVC will be the right choice for new projects. I don't believe Microsoft could kill off Web Forms if they wanted to because SharePoint is built on it. I also don't believe they are likely to want to kill it off.

Here are the links I put on the Resources slide:

Let me know what you think about the slides. Like them? Hate them? Let me know!

I do apologize to everyone who attended for missing the 1 hour mark I set for myself. I did give everyone a chance to leave at the 1 hour-ish point, so I hope nobody felt trapped. I tend to get excited about technology and love talking about it!

Fun Friday: August 7, 2014

Mars As Seen By OSIRIS, the comet catching Rosetta probe's main camera, not the Egyptian God.
Image courtesy European Space Agency
Full Size Image

Space Pix

This week we start off with some good old fashioned space porn thanks to an article by Phil Plait, the Bad Astronomer in his Slate.com column.

Here's What a Comet Looks Like When You're Close Enough to Touch It.

If you aren't familiar with Rosetta, it is a European Space Agency probe that has now rendezvoused with a comet.

Read Phil's article for all the details, but as do most deep space probes, it used both Earth and Mars for gravity speed boosts.

That yielded some spectacular images of both planets as well as the comet in question, 67/P Churyomov-Gerasimenko.

There are some really awesome photos on the ESA site, so I highly encourage you to go take a look!

I'm just putting in some scaled down versions of the images here, but the full size shots are simply breathtaking.

If you are familiar with photos from spacecraft, you know that they are often not in the colors your eye would see if you were actually there yourself. Often separate images are shot with color filters and reassembled on earth.

This shot of Mars is pretty close to what we would see if we were there.

Comet 67/P Churyomov-Gerasimenko
Comet 67/P Churyomov-Gerasimenko
Image from European Space Agency

As for the comet itself, you can see the "rubber ducky fallen over" shape in this image.

Like most comets it is primarily a dusty, dirty snowball. As it gets closer to the sun, little bits will be pushed away by the solar wind and glitter in the sunlight. That will make the comet's tail.

I don't want to put too many of the images in this post, but over on the ESA site they have a wicked cool timelapse of the comet rotating and growing larger as Rosetta approached.

ASP vNext Configuration Details

Bam! There's your graceful segue from space pix to talking about ASP.

Maybe not so graceful, but there you go.

I'm working on a talk for our user group meeting next week about the upcoming version of Microsoft's ASP web framework code named vNext.

I found a post from Louis Dejardin from a few months back talking about how the configuration will work.

ASP.NET vNext Moving Parts: IConfiguration

If you've worked with ASP you've worked with the venerable web.config file.

You have also probably at some point killed a web site by getting ONE DAMNED CHARACTER WRONG in a web.config file.

Not sure how you feel about the fact that one stray character in a config file can make a web app die an unceremonious death, but I'm not a fan.

Such is the beauty of XML.

Well hold on to your hats, cowboys and girls, because you won't have to use the XML based web.config any more.

Unless you want to.

Say what?

I love the pluggable modularity the team at MS are going for here.

Check out Louis' post for the full scoop, but you will be able to specify JSON, XML, INI, Environment Variables, and probably Norse Runes for your configuration settings.

I think that is cool.

If you use Azure, you know you can specify environment variables in the Portal UI for Websites.

One big advantage to that approach is you don't risk someone checking web.config into source control with all it's connection string goodies hanging out for all to see.

Well that about wraps it up for this week.

Enjoy your space porn and config files!

Advice On Beginning A Career As A Developer

Taking care of business
Young businessman contemplating the future. Yes, I have used this image before. Since I paid for it, I'll probably use it again too.
© rangizzz - Fotolia.com

Recently a young man who helped greatly with the Give Camp I ran back in 2011 reached out and asked if I had any advice for someone entering the field as a new developer.

After writing a fairly lengthy email, I figured other people might benefit from the advice as well and turned it into this blog post.

FYI: The young man is David Anderson and you should hire him if you need a hard-working, smart beginner.

These are my observations and opinions of course, so take them as such.

My Advice (For What It's Worth)

What kind of development do you enjoy? Web? Mobile? Games?

Which language stack do you prefer?

My observation is that you can group technologies into two groups (from a jobs perspective):

1) Ultra Cool/Cutting-edge

Used by start ups. Gets all the press. Relatively few jobs.

2) Boring/Mainstream

Used by established companies. Looked down upon by the cool kids. Lots and lots of jobs.

Good News!

Oddly enough the pay tends to be pretty darned good for both.

Examples of the cool kids tech would be (at the moment: changes rapidly) Node.js, MongoDB, Angular, iOS, Android.

Examples of the boring guy tech would be (and has been for a while) Java, C#/.Net, SQL (SQL Server, MySQL, Oracle), Angular, iOS, Android.

There is some cross over.

My advice would be to figure out which kind of tech you want to work with and what industry you would like to explore.

At that point do some research to see which companies in the industries you like are using the technology you like.

I don't know your financial situation, but at your age I think I'd take a chance on a start-up.

The vast majority will fail, so save, save, save!

That way if the company you work for fails, you can survive to find another.

You might get lucky with stock options. However, never take stock options as salary!

Most stock options will be worth exactly zero, but IF you are getting a decent salary AND options, you might come out in very good shape.

If you don't want to go the start-up route, I'd try consulting. The opportunity to work on a series of projects, often with newer(ish) technology, can gain you experience quickly.

Above All To Thine Own Self Be True

No matter what else you do, be mindful of the concept of personal brand. The old adage about "sell yourself" is more true today than ever. Not only must you sell yourself, you must market yourself.

Start a blog if you like to write. Contribute to open source. Join the user group community (hint, hint). Help people on Stack Overflow if you know the answer. Attend conferences. As soon as you feel confident, speak at conferences. Start by speaking at your user group(s).

At the end of the day BE VISIBLE.

Make sure that an employer who Googles your name finds links to work you've done and information you have contributed. Make damned sure they don't find anything negative (Woo-hoo! Spring break!).

Also, use side projects to learn new technologies. I've never needed a new blog engine, but I've written several to try out new languages or frameworks. I like the blog engine because I can measure what I create against known quantities like Wordpress.

If you combine that experimentation with a) blogging about what you're doing and b) possibly selling something (especially mobile apps), then you get a win-win. Possibly win-win-win.

People, People, People

Always remember that companies are made up of people. Some will screw you over. Some will help you. The trick is you won't always know which are which.

I have always tried to help those around me. My philosophy is that if I help someone today, they may help me (or someone else) tomorrow.

Good Luck!

I hope this helps.