I love computer games.  I have been playing them since I was able to use a computer.  I can’t say I am an avid gamer, I really don’t have the time for that, but I sure enjoy playing them.


One game I play often, and usually with my sons, is Minecraft.  A sandbox adventure game which we have found very fun.  We have spent countless hours building different things, going on adventures and PvP fighting.

On a cold night in November I started digging in to MinecraftForge.  A modding system for Minecraft.  In short time my oldest son and I created two ‘Mods’ for Minecraft: Stonecraft and GrackMod.

I really enjoyed manipulating the game play.  I found it very satisfying to interact with items we added to the game.  Play with rules we developed.  It was just cool.

A month or so prior to this a friend of mine introduced me to Unity3d.  A game development environment which allows you to release 2D and 3D games to many different platforms. And you can do all your scripting in C#!  JavaScript I believe is the other scripting language available.


Acting on the bug which bit me writing the Minecraft mods I downloaded Unity3d and started playing around.  Quickly I figured out this stuff is pretty complex, there is simply a lot to it.  Off to the tutorials!

The first tutorial I found was a top-down shooter game called, Space Shooter.  You fly a simple spaceship and shoot asteroids flying toward you.  It’s a basic 3d game which covers many of the very basics of building a game in Unity3d. My version can be found here.

Of course I couldn’t leave the tutorial as is.  Once built I added a high score, increasing difficulty with more asteroids and faster asteroids.  The overall experience was good and I want more!

Since I can’t draw for shit, and am not very creative with design tools, I plan to stick to the 2d world of gaming.  Modeling 3d objects just scares me.  So you may ask, where do you plan to get content?  Well, two main sources, first, is my son who is a better artist than he realizes and second I will end up buying available content.  I have found some decent stuff already (links needed) and I assume I can find someone to create some stuff form me.

Next on the list is to build a tower defense game.  I found at least one tutorial to build one.  It’s not 2d but  I am hoping it will provide more depth into maintaining more cloned prefabs, controlling their paths and player’s placing items.  Hey, who doesn’t like tower defense games?

See one of my ultimate goals is to build a SimTower type game.  A game I really enjoyed in the past, which doesn’t work on most new hardware (though I do still run it in an XP VM on my Win8.1 box!).  Can I improve on the game?  I have no idea, but I am going to build my version and see how it goes.  I don’t plan to get caught up in cloning the old game, I just want to take it a step (feature) at a time and see where it goes.  I think it will be a lot of really-frustrating fun to build.  The whole reason I build things in the first place.  What fun would it be if it was simple?  It would be boring and be lame.


I’ll update progress as I continue tutorials and build new stuff.  I plan to keep all of it available in GitHub so others may use it for examples or whatever.

2013 is the first year ever that I setup an IDP (Individual Development Plan) for my employees. small_336716715 That is any employees I have ever managed throughout my career.  I have to say when presented with the notion of having to do this, I questioned my ability to do it and its true worth.  Now into our first few months of the IDP, I have to say they are a good tool for learning more about your employees and helping them succeed in a direction they want to go.

As a manager the concept sounded like a good one to me.  I approached it as how I would like to construct an IDP with my manager.  The most important part to setting up an IDP is to take the first step to do it.  Yes, it is that simple, take the first step toward implementing them with your employees.

For me I did a small amount of reading to learn what they are.  Reviewed the companies intranet on the resources available to us, and called a meeting with my team.  No plan, no hard structure, just a direction and a desired outcome; to help develop an IDP of each of my employees.

At the meeting with my employees I explained about the IDP and that we will start putting these together on a one-on-one basis. Sure there were a lot of eye rolling, etc., but gratefully most everyone went back to their desks and put some thought behind where they want their career to go.

According to Wikipedia an IDP is, “…a document completed by individual for the plan of self-development over the next period, usually one year.”

Sounds pretty dry to me, but I guess it covers it. An IDP is a document of individual for the plan of self development. Though for the most part the document doesn’t really mean much, its the process of creating the document that has all the impact.

Recall I said most employees went back to their desks to put some thought behind their careers.  There where a few who really doubted the IDP and considered it another corporate paper waste of time.  And it easily can be, and this is where I come in, to work hard with these employees to reveal some direction they want for their career.

After the initial meeting I called meetings with each employee.  The meetings where set for an hour, but I left a half hour of slack afterwards, just in case.  Since I was learning here as well, I wanted to ensure there was enough time to formulate a plan, or at least have a good start of one.  I didn’t fully know what to expect.  The order I set the meetings was not random.  During the initial meeting and a short time after I paid attention to employees reaction to the IDP.  Since this is my first time doing this, I wanted to make sure that I had more willing participants in the beginning–their plans will be easier to put together and this will be a way to get a few under my belt before tackling the more difficult cases.


What happened during the first month was absolutely amazing to me; my employees were generally excited about their plan and what I was trying to do for them.  It made me excited.  I look forward to our next meetings to find out what they have learned and the progress made on their goals.  

There are four steps in an IDP, create, capture, execute, reflect. It’s a circular process, where creation occurs again after refection.  

During creation the employee considers their strengths, development areas and short/long term career goals.  This information is captured and brought with them to the meetings with their manager.  It is amazing how difficult this step can be for some.  In a couple first meetings, I assisted the employee on focusing on future goals; what it is they want to do.  The focus here isn’t what you may need to do to excel at your current position, but provide the skills required to keep you moving forward.  I found it helpful to remind the employee that this is not, in any way, part of the review process.  This plan is here strictly for them.  I am providing them an outlet to improve themselves and it is up to them to run with it.  I will help in any way I can, but obviously cannot do it for them.

The capture step is where the plan is finalized.  This is where I had very important conversations with employees about their future development and goals.  Some employees had a solid idea of where they wanted to go others had never given it a lot of thought.  For employees with solid ideas we set up goals for to move in this direction.  Where possible these goals were aligned with projects which could assist the company or our department.  In some cases we made up projects which would ultimately assist in some way, but most importantly provide all important focus to complete the tasks.  This is not always possible, and I feel this is okay too.  The goal is their development and if there are no correlating work withing the company I’m okay with that.

Execution is obvious, it is the work performed by the employee outlined in the IDP.  During this sail_underway_400time we try to meet every-other-week to discuss progress, ask questions, and show off what progress has been done.  Much of this is one-on-one is the reflection step.  This is the step I am in with my employees currently.  I am finding to help keep some focused regular meetings are benefitial.  These aren’t long meetings, I am not a meeting zealot.  We set aside thirty minutes every-other-week.  Sometimes we’ve used the time, other times it lasted ten minutes.

Reflection is the final step where the employee and manager use the IDP as a tool to discuss skill development on a regular basis.  Still being new to this process there hasn’t been a lot of time spent on reflection yet.  There will be during the first quarter this year and I plan to fill in more details.  Some good questions for an employee to ask during this step are:

  • What steps have I completed since our last discussion?
  • What obstacles are preventing me from completing action steps or applying my new skill(s)?
  • What else is required to bring me to my desired skill level?

For the employees there are three important question they should ask themselves:

  • Does my manager know and support my short- and long-term career goals?
  • Can I articulate how I will close critical development gaps and continue to build key strengths to achieve my goals?
  • Have I improved at least one skill in the past three months? 

If you have answered “no” to one or more of these questions it is likely you are not performing at your highest level, and may not be fully engaged within your role.  I found these three questions really important and a great way to understand my employees future desires and goals.  Working through the IDP provided great insight into these areas and taught me things about my employees that I never new.  I also believe it taught things to the employees that they didn’t know about themselves.

To build a strong team, their needs to be communication and understanding.  I have found that the Individual Development Plan process is a great way to open new paths of communication and the future desires of employees.  If you are not paying attention to where an employee wants to go, they will most probably head out the door to find it.

The WordPress.com stats helper monkeys prepared a 2013 annual report for this blog.

Here’s an excerpt:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 11,000 times in 2013. If it were a concert at Sydney Opera House, it would take about 4 sold-out performances for that many people to see it.

Click here to see the complete report.

On and off for the last couple of months I have been learning Erlang.  My primary source for this is a decent booked named, “Learn You Some Erlang for Great Good!” (Fred Hebért, (c)2013 no starch press). What a great name, no starch press (:  I first found this tutorial online at http://learnyousomeerlang.com/.  The entire book is there, believe it or not.  I worked through the first few chapters and was hooked.  I decided to purchase the book to help pay for the work and for it to be more convenient to read.  But I digress, back to IIS & Mercurial.

Mercurial Logo

The whole reason for the Erlang digression is that I was going through examples in the book on different computers.  After I was done with the session I would have copy my practice files back to my home server, which was a pain on a disconnected Linux box.  To solve this, I figured, why not setup a repo at home.  I have been wanting to do this for a while anyhow.  Now I could setup an SVN repo in a few minutes, but I don’t really use SVN anymore (“It’s so 1990′s (:  ).  Mercurial is my DSCM of choice.  I have nothing against GIT, and do use it, I just regularly use Mercurial.

IIS7 logo

My home server is Microsoft Windows Home Server 2011.  Basically Windows 2008 R2 (IIS 7.5) with some other “stuff” thrown in.  Finding installations for a Mercurial server under Windows is not a simple task.  There are articles out there, most of them are old or incomplete.

This walk-through, http://www.jeremyskinner.co.uk/mercurial-on-iis7/ [Jeremy's article], is good and walks well through the process.  Unfortunately it is out of date and doesn’t cover well what needs to be installed today to get this to work.  The first part of my pain as things weren’t working.  I am thankful for its explanation of adding CGI support in IIS7, something I haven’t needed to do in IIS7 before.  One thing this article mentions (in bold) is to use x86 installer of Python, even if your machine is 64-bit.  I believe this is no longer accurate as I installing 64-bit Mercurial and 64-bit Python and all is working fine.

For the start of my journey I was using this walk-through along with a few Mercurial wiki pages: http://mercurial.selenic.com/wiki/HgWebDirStepByStep and http://mercurial.selenic.com/wiki/PublishingRepositories.  I was understanding how the publishing works, but not getting things to work on my Windows server.  Mostly my error was around Python not being able to find hgweb stuff.  It was blowing up on application = hgweb(config), and said application undefined. The additional Mercurial installation I needed was located here: http://mercurial.selenic.com/wiki/Download#Windows which I found in a helpful wiki artical, http://mercurial.selenic.com/wiki/HgWebInIisOnWindows.  If you follow this article straight through, you will almost have a successful installation.  What I learned from this page is that the Python module installer needs to be run.  This adds Mercurial modules to Python.  Something which is needed and not specified in the other installation instructions.

If you don’t like the command line, the IIS configuration in the Mercurial wiki article is done through the command line.  You can reference how to do these through the UI using Jeremy’s article.

My suggestion after going though this, this morning is to use both articles.  Read through them first, before installing anything, then plan your attack and go for it. Oh and yeah, you’ll need to refer to the Publishing Repositories wiki page.

New hg site

A few things I learned from this morning’s adventures

  • Within the hgweb.config file the section [collections] is no longer needed, the section [paths] may be used instead.  There is more information around this here: http://mercurial.selenic.com/wiki/PublishingRepositories
  • Within hgweb.config a path of / = /path/to/repo/* will show (publish) all repositories.
  • Withing hgweb.config using allow_push = * allows any user to push to the repository. Using this settings negates the need to enable authentication on the web.  Yes this makes things insecure, but my setup is internal to my house only.

So sure this took a bunch of hours to figure out and get working correctly.  Though now it is working correctly and I have my working Mercurial repository like I have been wanting for some time. Plus I have learned a bunch of stuff too.  Perhaps I’ll go play a game now.

Is your organization anti-fragile?  It isn’t enough to be resilient and survive through rough rides.  You need to improve, and become stronger during these times. If you run into something difficult, keep doing it until it is no longer difficult.  Without this continual improvement you will never move ahead. 


If your organization isn’t Anti-Fragile, you are losing to one that is.  

It has been a frustrating day for me.  I rarely use my eReader, though I am feeling really lost without it.  I guess the worst time to lose a book is while you are in the middle of it.

I am currently on my second Kindle. I purchased my first Kindle in June of 2011, a generation three w/ keyboard.  I used the reader off and on over the year, probably reading around a dozen books, maybe twenty tops.  This Kindle began locking up and would not power on any longer one day.  Working with support, the device was out of warranty and I was sold a new one for $50 or so.

I used this second Kindle to basically read the Harry Potter series all the way through and put it in a drawer, where is stat for around six months.  A few weeks ago when I went back to use the Kindle it wouldn’t power on.  It makes sense, I am sure the battery was drained.

I put the unit on charge overnight and was ready to go in the morning.  I looked at my book list, hey I have read all these already.  I put the Kindle down on the end table, where it sat for another two weeks.

Last week I located a teaser book I was interested in and sent it to my Kindle.  One night I sat down to read it, was completely consumed by it and purchased the full book when I got to the end.  I read for another four hours that night without issue.  It was 02:30 when I went to bed, what was I thinking?

The next day I started to read the book again.  At the fourth or fifth page turn my Kindle locked up! What? Really?  Come on.  Over the next couple of days, I went through all the typical crap to get it to work, including a factory reset.  I just slowly got worse and worse.

This morning I called Kindle support, and of course this Kindle is not under warranty.  I guess it only had 90 days warranty for some reason.  What you get when you buy a re-manufactured unit.

I really just want the Kindle to work, it doesn’t make sense why it doesn’t unless it is my electronics karma coming back to bite me.  20+ years of messing with electronics, computers, etc. I guess they are fighting back.  Just like the time I get around to paving my own computer and there are nothing but roadblocks along the way; but I digress.

Long and short, I am not going to get another Kindle.  The yearly failures have become like a service charge, and if I wanted that I would have my own Prime account.  So once Google decides what they are doing with the next Android version and release the refresh Nexus 7, I will purchase one of those and read from it, and surf, and leave it in a cafe somewhere… :)

The other day our microwave quit working.  It was 10 years old, I wasn’t heart broken.  It is an over-the-range style microwave where there is just barely enough room above the range for tall pots.  To start my search for a new appliance I started looking at the local stores: Lowe’s, Menard’s, Home Depot, etc.  Our current unit is broke, it will be good to pick one up today and get it installed.

I quickly found out that microwaves seem to be bigger these days.  Most of the models are taller and deeper than our current model.  As I said earlier we are tight on space as it is, so a bigger appliance isn’t a great idea.  It’s not surprising the broken model is no longer made, thought there are similar models and they are basically the same size!  There we go I have found the model we are looking for.  Online inventories says they have one at Lowe’s and Menard’s, so off to Lowe’s we go.

I packed up the family and drove down the street to Lowe’s.  We get there, wait around for someone to be available to help us, and find out that they actually don’t have that model at the store.  Ugh.

We go back home and I leave solo to Menard’s.  The wait is longer at Menard’s.  There seems to be no workers around the appliance area.  The sign of no commissions I assume.  As I look up and down the isles I see the exact model we are looking for. This is a great sign. I continue to wait and wait.  Finally someone comes by who doesn’t work in appliances but offers to help anyway (thank you).  No units on the shelf and the computer says they have one, the floor display.  Damn.  There are two at the Morton Grove store, too bad that is 16 miles away through city traffic.  No thank you.

Sitting in the parking lot I do a quick search for the model on line.  I find one at good store for the same price as the local ones.  People always say to support your local communities , etc. so what the heck, lets stop at a few places on my way back.  Needless to say nobody has them in stock.  Many have display units and can order them, but none in stock.

This is just silly, why would I order this appliance from a local store, which comes to a higher total cost after tax and “brick and mortar” charge, when I can just order it online myself.

All in all, I probably spent two hours (on my solo trip) trying to find an appliance and found nothing.  To me that seems to be a great fail and a large reason why the local stores cannot stay in business.  It is just costs too much to keep a bunch of stock on hand.  What would be a better business model for say Sears, is, no, sorry we don’t have any right now, let me order one from our warehouse and have it shipped to your house for the same price listed here.  You should have it in three days.

Much better customer service.  I don’t want to order something, wait eight to fourteen days, and then also make my way back to the store.  A model like this doesn’t work any longer and the stores need to learn this.  You need to embrace online sales, make them part of your overall delivery method.

People still love to walk around stores, touch and feel the products.  Stores can’t remain competitive with all of the overhead required to keep these stores open.  So their business models need to change.  If any one of the stores I went to today would have given me the option to order and receive the unit in the mail, I would have done it and saved myself a bunch of time too.

The WordPress.com stats helper monkeys prepared a 2012 annual report for this blog.

Here’s an excerpt:

600 people reached the top of Mt. Everest in 2012. This blog got about 8,000 views in 2012. If every person who reached the top of Mt. Everest viewed this blog, it would have taken 13 years to get that many views.

Click here to see the complete report.

All my main development machines are now running Visual Studio 2012.  I have a few new projects in VS2012 and have begun updating my old projects to it as well.  I ran into an annoying issue today that I need to post.

My Blog by Email site was built using VS2010 and ASP.NET MVC 3.  My new machine, which I am working on right now, is running Windows 8 and VS2012.  Recently a new user started using the site and discovered a few bugs I needed to get fixed.  I cloned the repo from Bitbucket and opened the solution in VS2012.

My first tip-off that there was an issue is when the Migration Report displayed 7 errors all on the _bin_deployableAssemblies\ folder.

BlogByEmail\_bin_deployableAssemblies\Microsoft.Web.Infrastructure.dll: Failed to backup file as C:\vsp2k12\BlogByEmail\Backup\BlogByEmail\_bin_deployableAssemblies\Microsoft.Web.Infrastructure.dll 
BlogByEmail\_bin_deployableAssemblies\System.Web.WebPages.Razor.dll: Failed to backup file as C:\vsp2k12\BlogByEmail\Backup\BlogByEmail\_bin_deployableAssemblies\System.Web.WebPages.Razor.dll  (... Plus 5 more files)

My second is when I went to run the project and the build failed for the same 7 files.

If you recall the _bin_deployeableAssemblies folder is used to aid in bin deploying MVC 3 applications to [shared] hosts which don’t have ASP.NET MVC 3 loaded.  You can read more about it here [@haacked.com].

It turns out this isn’t required in VS2012 as I found here :

Starting with MVC 3 Tools Update we are now using Nuget package references, which means that your project is automatically bin-deployable. Since the tooling gesture is no longer necessary it was removed from VS 11.

The fix here is really simple.  Remove the files and _bin_deployableAssemblies folder from your project.  Everything should compile just fine.

Now the one part I have not figured out is where or how we get the files that used to be in _bin_deployableAssemblies.  I don’t see them in the bin folder as I assumed they would be.  I will need to do some test deployments at my host, Arvixe (I think they didn’t have MVC 3 loaded).  Add a comment below if you h ave some knowledge around this.

After spending my Saturday getting my new Windows Home Server 2011 server setup just right (I am plowing and installing over WHS v1) I came to the realization that the workgroup is stuck at WORKGROUP.  Stuck you ask? Yes, stuck.  Since WHS2011 is using certificate services you can’t change the workgroup name through computer properties. Plus for some reason the setup wizards never asked.

I did come across a post that said you can press <alt>+<f10> at the computer name screen and set it, but I was way to far into my fourth load to start over again now (Yes I would have if I didn’t find this great little video).  Using PowerShell type in the following two lines of script.  Your workgroup name will be updated.  Remember no spaces etc.

$sysinfo = Get-WmiObject Win32_ComputerSystem

Of course now that I am done, this shows up in search from TechNet: http://social.technet.microsoft.com/wiki/contents/articles/4127.how-to-change-a-workgroup-name-on-windows-home-server-2011-and-windows-storage-server-2011-r2-essentials-en-us.aspx

I am simply listing this that it may assist someone, I have no idea if this may break something on other systems. It worked for me very well, but I must express, use at your own risk.

Twitter Updates


Get every new post delivered to your Inbox.

Join 143 other followers

%d bloggers like this: