Tuesday, October 21, 2014

Microsoft 70-486: Design a caching strategy

Exam Objectives


Implement page output caching (performance oriented), implement data caching, implement HTTP caching, implement Azure caching

Quick Overview of Training Materials


Asp.net - Data caching in ASP.Net applications


Monday, September 8, 2014

Microsoft 70-486: Configure state management

Exam Objectives


Choose a state management mechanism (in-process and out of process state management), plan for scalability, use cookies or local storage to maintain state, apply configuration settings in web.config file, implement sessionless state (for example, QueryString)

Quick Overview of Training Materials


MSDN - ASP.NET State Management Overview and Recommendations

Friday, September 5, 2014

ASP.NET MVC Unit Testing Part 4: The Tests and What Was Learned

So, now that the project is refactored with interfaces, I have fake data, and a fake environment, it's time to run some unit tests! Whoohoo!  I'll go over some of the basic tests and also cover what I learned over all throughout the unit testing process.

Thursday, September 4, 2014

ASP.NET MVC Unit Testing Part 3: Faking the Environment (HttpContext)

So I have my fake data, but I also need to address additional dependencies that are not as obvious.  These dependencies arise from the use of User and Request, which are properties of the HttpContext.  Because you apparently can't assign HttpContext directily, you have to create a fake ControllerContext.


ASP.NET MVC Unit Testing Part 2: Faking the Database

Now that the production code is all set up, it's time to create the fakes that I'll inject for my unit tests.  Rather than connecting to the production database, I want my unit tests to use an in memory dataset so they will run lightning fast.  There are limitations to using in memory data (in effect substituting LINQ to Object for LINQ to Entities) which I will address in another post.


ASP.NET MVC Unit Testing Part 1: Set up

So, a little background here first.  I'm pretty new to .NET programming, having only started my first developer job just this past March.  My one and only performance management goal was to implement some unit testing.  Simple right? Well my first feeble attempts involved trying to add unit tests to a traditional ASP.NET program... come to find out unit testing code behind files is a fools errand.  Did manage to test come CRUD on a service class, but all in all it wasn't that useful.  I was also attached to a new development project called Education Assistance (EA around the water cooler) that was using MVC.  I'd read that MVC was much easier to unit test so I figured that would be a possibility at some point.  Of course, first I had to learn a little about MVC.  I worked through a few tutorials, a couple of which actually covered unit testing.  So now I knew just enough to get myself in trouble.

Tuesday, June 3, 2014

Comparing ASP.NET MVC tutorials: OdeToFood, Nerddinner, and MVC Music Store

I worked through three ASP.NET MVC tutorials: NerdDinner, OdeToFood, and MVC Music Store.  All had their pro's and con's, and I definitely learned much from them.  The pluralsight tutorial OdeToFood was, far and away, the best put together tutorial of the bunch, and if you had to pick one, that would be the one to do.  NerdDinner wasn't bad but is showing it's age as it was developed using MVC2 (though I thought I saw something about updates...). The MVC Music Store tutorial also had a lot of interesting stuff but I would have to consider it the weakest of these three tutorials.

Monday, May 19, 2014

Upgraded Lenovo Ideapad Z570 to 16GB Ram

According to Lenovo the Z570 only supports up to 8GB, but after doing a little research I found multiple instances of folks upgrading to 16GB, so I took a leap of faith and tried it with mine. Success! (How-to video on YouTube helped with installation)

I had a bit of a hard time finding a US supplier for the ram sticks. Crucial's helper application stuck with the Lenovo documentation and would only recommend up to 8GB, but this is the EXACT kit that I used:

Crucial 16GB Kit (8GBx2) DDR3 1333 MT/s (PC3-10600) CL9 SODIMM 204-Pin 1.35V/1.5V Notebook Memory Modules CT2CP102464BF1339

[UPDATE 12/28/2017]
Someone pointed out in the comments that this particular model is no longer available (not surprising given the age of this post).  Amazon recommends another kit, CT2KIT102464BF160B, which has the same specs as the memory currently recommended by Crucial for the z570.  I can't say from personal experience how well this memory would perform in practice, but it seems like a safe substitute:

Crucial 16GB Kit (8GBx2) DDR3/DDR3L 1600 MT/S (PC3-12800) Unbuffered SODIMM 204-Pin Memory - CT2KIT102464BF160B
[END UPDATE]

This Lenovo forum had several users also state that they could use 16GB, and was a key factor in my decision to make the leap.

Here is a screenshot of System Monitor (I'm running Fedora on this machine).  I have 6GB allocated to a Win7 VirtualBox VM, which is why the usage is so high.


Google GovDevChallenge Hackathon

Participated in my first ever Hackathon this weekend (5/17/2014), what an experience that was! The idea behind this Hackathon was to give hackers a chance to make government more efficient and transparent. Colorado and Wyoming worked with Google and Galvanize down in Denver to put the event on, and I went down with four other developers from ETS to compete. We didn't win but we learned a lot and booked some serious overtime haha.

Monday, April 21, 2014

MVA Course: Developing ASP.NET MVC 4 Web Applications Jump Start (Modules 3 & 4)

Cover writing controllers and views.  Visual Studio has a lot of tools to help make this very easy. With some practice should be possible to deploy applications very fast with scaffolding and templates and such.


MVA Course: Developing ASP.NET MVC 4 Web Applications Jump Start (Modules 1 & 2)

Basic overview and ASP.NET MVC, with an emphasis on quickly getting into the code. First couple modules were relatively short (30-45 minutes) and easy to follow.


Monday, April 14, 2014

SICP - Storage Allocation and Garbage Collection

Last lecture in the series, talk about garbage collection. Apparently LISP uses a mark and sweep algorithm. Or maybe a related algorithm developed by Minsky in the sixties. Toward the end of the lecture Sussman talks about the halting theorem, basically proving that there is not procedure that can generally check whether or not a given procedure is safe to run. Interesting stuff.


SICP - Register Machines

In this lecture Sussman covers register machines, and we walk through the operation of a couple of very simple programs. We look at an embedded register machine language.

SICP - Compilation

Shorter lecture on the way a compiler for LISP might function.