Tuesday, October 16, 2012

Today is Ada Lovelace Day!

Today is Ada Lovelace Day.

Finding Ada

The idea behind Ada Lovelace Day is to share stories about women who have inspired you to become who you are today in regards to programming and science (STEM Stuff)...

So, today I'm going to write about my wife, Marta Smith, who inspires me all the time. She is a programmer. Currently she is in school at Franklin University in Columbus Ohio where we live. She studies hard and she is passionate about programming. She's smart and she teaches me things and because we are both programmers it is fun to mess around solving problems together.

She stays up late to finish assignments and she is enthusiastic about learning more each day.

We recently went to the Grace Hopper Women in Computer Conference where I watched her lug her 10 lbs of laptop + books all around the conference as she tried to take in as much of the conference as possible while she also completed her homework. She made time to talk to others and she made a lot of friends while we were there. She just has so much passion for programming and for learning.

I'm proud of her. She's an inspiration.

Hard work comes with rewards. There is no better feeling than solving a hard programming problem that you've been struggling with for some time. To be a professional in any field it takes years of study and application. There are lots of women doing it everyday. Marta is definitely one of them. She is taking the field by the reins and having fun challenging herself and it is an inspiration.

Monday, April 2, 2012

How to run Knockout inside MVC 4

I'm watching Knockout Fundamentals by Steve Michelotti

I was having trouble getting the example running that he wrote to show how Knockout is used inside of a MVC 4 project.

This worked for me.

1. Create a new ASP.NET MVC 4 Project using the Internet Application template. Razor view engine is fine.

2. Right click on References and choose "Manage NuGet Packages". Install knockout.js

3. Navigate to Views -> Shared -> _Layout.cshtml
add in script tags:
http://github.com/downloads/SteveSanderson/knockout/jquery.tmpl.js

After this reference, add the knockout reference
"~/Scripts/knockout.js"

The order must be (a) jquery, (b) templates, (c) knockout. Also, the microsoft URL that worked in the previous post does not work in MVC 4 projects. This order must be exact or else it will fail.

4. Go to the scripts directory of the project and create a javascript file, named codeFile.js
Place the javascript code from this jsfiddle link into the javascript file.
JavaScript code from jsFiddle

5. Navigate to Views -> Index.cshtml
Place the html code and the template script tag from the jsfiddle link above into this file.

6. Create a reference to the javascript file by dragging and dropping the javascript file onto the view (Index.chtml).
src="../../Scripts/codeFile.js"

Sunday, April 1, 2012

Trouble getting observableArray's running in Knockout?

I'm watching Knockout Fundamentals by Steve Michelotti

I was having trouble getting the example running that he wrote to show observableArray's.
There must be a bug in this URL
http://github.com/downloads/SteveSanderson/knockout/jquery.tmpl.js

If you load the libraries in this order:
http://code.jquery.com/jquery-1.7.1.min.js
http://github.com/downloads/SteveSanderson/knockout/jquery.tmpl.js
http://github.com/downloads/SteveSanderson/knockout/knockout-1.1.2.js

You will get all sorts of errors that will be very hard to track down.

Instead, use this URL from Microsoft and it works.
http://code.jquery.com/jquery-1.7.1.min.js
http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js
http://github.com/downloads/SteveSanderson/knockout/knockout-1.1.2.js

To get these working in jsFiddle, load jquery.tmpl.js first and knockout second. For jQuery you can choose the latest jquery framework from the frameworks dropdown.
The example working in jsfiddle

Here is the code outside of jsFiddle





Double click on these pictures to see the code enlarged.

Monday, March 19, 2012

Executive Summary: HTML 5

I'm introducing a new series of posts today. It is called the Executive Summary. Here is the first entry of this series: HTML 5

Things you need to know:

(0) HTML 5 is really a combination of technologies:
HTML 5, JavaScript, and CSS 3

(1) IE browsers are behind in supporting HTML 5 so in using these features you must do a lot of browser checking. The other main browsers are also supporting HTML markup tags in a piecemeal fashion, so you must make sure each feature is supported by each particular browser.

(2) The most important new features provided in new markup tags: Video, Audio, Drawing (called Canvas), Storage, GeoLocation

(3) HTML 5 isn't going to completely wipe out silverlight and other plugins because it does not have exactly every feature that they support. It is too early and premature to think that way.

(4) PhoneGap - you can code up apps in HTML 5 and use PhoneGap to port to different phone OS's. However, expect to do some work porting even when using Phone Gap.

(5) Windows 8 - you will be able to code tablet applications in JavaScript for windows 8 so learning this technology now will help you in windows development in the near future. Applications that are HTML 5 centric will most likely be easy to port to windows 8.

(6) JavaScript - this language is everywhere and most developers now need to take a look at it and its best practices. HTML 5 only enhances its value.

(7) HTML5 - is going to be a nice mulch-platform solution soon, once all browsers support it.

Tuesday, January 17, 2012

How to install Windows Phone Toolkit

1. Download NuGet package manager
Download Nuget

2. Go to Visual Studio 2010 Express for Windows phone -> Tools -> Library Package Manager -> Manage NuGet Packages for Solution...

3. Search "Windows Phone Tookit"

4. You should see Silverlight for Windows Phone Toolkit pop up... Install it for the solution

5. To test that it is installed. Go to Expression Blend. Right click on your solution and choose Expression Blend.

6. Go to the last symbol on the toolbar (>>), click on it to expand it.

7. Type "wrap" into the search box and if you find it, then Windows Phone Toolkit has been installed properly.

Wednesday, January 11, 2012

Inspired at CodeMash

The CodeMash conference is a perfect way to start the new year. No one could fail to be inspired by this conference. Well, ok, I'm sure someone could, but I couldn't. I'm completely geeked about this conference. Choosing between the sessions is traumatic though, it is brutal. I want to attend them all.

Code Mash

I'm focusing on windows phone for my precompiler (workshop), Jeff Blankenburg

and I'm going to hit more windows phone talks by Jeff, and by Jesse Liberty. I'm going to An Intro to Expression Blend by Joel Cochran, and definitely the Windows 8 talk by James Bender.

Who doesn't love a great conference? Well, this is the best I've seen. You can really tell its run by and for developers. They handed out nice swag but no plastic bag filled with paper. It is just classy in ways that are hard to describe. It is day one and already its my favorite conference.

Saturday, November 12, 2011

Becoming An Expert

At work I heard a great talk on Thursday from Rob Garrison about how to focus on a technical track career. The talk was really great and since I want a technical track career, I was interested in what he said.

One important point me made was that he said, you must become an expert in something.

However, after the talk, I was left wondering more about exactly how one picks what to be an expert in that would result in a strong technical career. This is a moving target.

1. How broad should the topic be?
a. MVC
b. All topics related to web development with ASP.NET and C#

I guess the answer should be to become in expert in the widest amount of topics you can realistically cover because at some point there is a limit to what you can do, given there are 24 hours in a day.

2. What technology to choose?
a. MVC
b. F#

I think the answer should be something that is going to be relevant to your current job or a job you want to have soon because if you choose something that isn't going to be applied at work then you will learn it but never use it. Use it or loose it!

3. Should you focus on something internal or external.

I think the answer to this is both. I think you need to pick one thing that is proprietary and one thing that is industry wide. So, I guess that means we need to become an expert in at least two things to build our careers, at least.

4. Fundamentals and being good at your job as is comes first.

I think that becoming an expert is a bit out of a person's reach if they aren't rocking out their daily responsiblities and the fundamentals of what they are doing. I think one needs to be rocking this out before they take on more of a load.