23 Apr

April LootCrate Stuff

Well after a few months of deliberation, I decided to jump on the LootCrate bus. For those that don’t know, LootCrate (https://www.lootcrate.com/) is a monthly subscription service that delivers a box of nerd/geek/gamer stuff to your house every month. Each month there is a new theme with new fun stuff to explore. Prices range from $11.95 – $13.95 per month depending on how many months you sign up for + $6 shipping for each box and there are always discount codes for 10% or more if you take the time to look . According to the website, the stuff inside is valued at roughly $40 a month, but the question is… is it worth it?

This month’s theme was “fantasy” and my very first LootCrate arrived today.

apr-boxapr-boxopen

 

 

 

 

 

 

 

So once I opened the crate, the first thing I see is a t-shirt… but that will have to wait.

As I mentioned each month has its own theme, this month’s theme being “fantasy.” Every month you will also get a collector pin representing the current theme. The box is also reversible so you have something a little prettier to store things in, rather than just having a black box. And lastly, every month you will get a magazine with some funfacts, articles, and a little about all the loot in the box.

apr-pinapr-boxoutsideapr-booklet

 

 

 

 

Now onto the loot! We already saw a peek of the shirt. Dungeons & Dragons! I may lose my geek card for this, but I will admit, I have never played D&D, but the shirt is pretty cool nonetheless. Good quality Glidan shirt, I like it!

apr-shirt

 

 

 

 

 

 

 

 

 

 

 

apr-luggagetag

 

Next we have a cool Harry Potter luggage tag. Cool, never really got into Harry Potter either, but I can see hardcore fans really enjoying this one

 

 

apr-crown

apr-bowtieSome more wearables coming up here. An inflatable crown and an RPG bowtie made by BlackTieGeek with D20’s and dragons on it for when you (or your pup) wants to be dapper.

 

apr-tiesunny

 

 

 

 

 

 

 

 

 

 

 

We also got an awesome Princess Bride deck of cards. All the face cards feature characters from the movie with a recognizable line from the movie. From King of Diamonds Vizzini’s “Inconceivable” to King of Clubs Inigo Montoya’s “Prepare to die” to King of Hearts Westley’s “As you wish,” and of course how could anyone forget the Jack of Hearts Clergyman’s hilarious “Mawage.” This is definitely getting used.

apr-cards

 

Last but definitely not least we have some fun stuff for our Game of Thrones fans. We have a house sigil magnet set, and a super cool 4GB House of Stark USB flash drive. I love it!

apr-magnetsapr-usb

 

 

 

 

 

 

 

 

So that’s it for the April LootCrate. All that is left is my impressions. So I ended up signing up for 6 months with a 10% discount code, so we will say roughly $17 per box total. Personally I am a big fan of graphic t-shirts, so that already gives the LootCrate value a boost to me. I love the cards, and the Game of Thrones stuff, and I am always looking for a spare flash drive from time to time. The crown is just filler though I may find somewhere to wear it, the luggage tag will be useful to some people, and I am sure I can find some event to wear the bowtie. Lastly the intangible – the excitement of getting a new delivery every month with some fun stuff inside. All in all yes, some stuff isn’t worth much but its all about the experience. Even if you find a couple things a month that you enjoy, its worth a shot. It should be noted that you can sometimes have an option to buy past crates https://www.lootcrate.com/past_crates but its more expensive, and seriously, you lose the fun in opening the box when you already know what is in it.

31 Mar

Quickly Restore NuGet Packages With PowerShell

I was recently on a project where we had many solutions to handle, lots of which had NuGet packages, and they were all checked into TFS so any new developers on the project could just get latest and get up and running. Part of our cleanup was to remove all NuGet packages from source control, which typically wouldn’t be a big deal because NuGet can automatically download missing packages. The problem really comes about because we have such an enormous library of solutions, most of which have multiple projects using NuGet, and we use an automated build script to build all projects, which was now failing because of all the missing packages. The quick solution I came up with is to create a quick PowerShell script to loop through our entire library of solutions and download all missing packages for all projects that use NuGet.

It’s a very basic script but to understand it you just need to know a tiny bit about the structure that NuGet uses. To demonstrate I just created an empty web application through visual studio with a few packages. When you add packages through NuGet you will find a .config file named packages.config in the root of the project you added it to, as well as a “packages” folder in the root of your solution where all your packages will live along with a repositories.config file which will contain the location of your packages.config file.

This is what your packages.config file will look like. Basically a list of all packages you have installed in the project, along with version and framework.

packages

 

Basic Setup: 

I have added a download to the PowerShell script at the bottom of this page. You can open it with your editor of choice and modify the $SOLUTIONROOT and $NUGETLOCATION. The SOLUTIONROOT string will be a parent folder for all your projects. We will search all child folders for any packages.config files and restore any packages listed. The NUGETLOCATION string is the path to NuGet.exe. You can get this from https://www.nuget.org/ or install it through Visual Studio.

On to the script:

Restore

 

So basically we are starting at the $SOLUTIONROOT and looking through all files for any “packages.config” and storing them in a variable called $PACKAGECONFIGS. Once we are done searching and have our list of all packages.config files, we will loop though each one and run the nuget command to restore all packages in each config file into the location $PACKAGECONFIG.Directory.parent.FullName + “\packages”- which loosely translates into “move 2 folders up (root of the solution) and into the packages folder”.

Nuget.exe install <full path to packages.config> -OutputDirectory <full path to packages folder (stored in solution root)>

And that’s pretty much it. If you have changed the name of your packages config, or the directory where your packages are stored, the script should be pretty easy to modify. So lets see it in action. I have deleted all the packages from my packages folder to simulate a fresh source control “get latest” with no packages.

packagefolder1

 

 

 

Run the script, and we have…

packagefolder2

 

 

 

 

 

 

 

 

 

 

 

 

Success!

Here is a download link to the script file.

NuGetRestore

-Joe