About NuGet

To reword some quotes: NuGet makes it easy to add, remove, and update libraries and tools in .Net projects. NuGet is a free, open source developer focused package management intent on simplifying the process of incorporating third party libraries into a .NET application during development. 
 
There are several flavors of NuGet package managers:
 

Set Up NuGet (one-time setup on your computer)

  1. If you don't have an API key, get one from nuget.org by registering and then viewing your account info.
  2. Download NuGet and put somewhere convenient one your computer.
  3. Add NuGet.exe to your path.
  4. Set your API key (NuGet will remember it). You only need an API key if you're going to 'push' NuGet packages.
   > NuGet SetApiKey <MyApiKey>
   

Set Up a NuGet Published Project

  1. Set the metadata on the project (in Properties\AssemblyInfo.cs, set AssemblyTitle, etc)
  2. Use NuGet to bring in dependencies using Add Library Package (see http://nuget.codeplex.com/documentation?title=Getting%20Started)
  3. Create the nuspec file (from the folder that contains the project file)
   > NuGet YourPackage.nuspec
  1. Edit the nuspec file. 
  •  The fields tokened like $id$, $version$, etc will be filled in later using values from your AssemblyInfo
  •  Remove fields you don't need, e.g. <iconUrl>
  •  At the least, the <projectUrl> and <licenseUrl> _should_ be filled in.
 

Publish the Project

  1. Ensure NuGet is up-to-date
   > NuGet update
  1. Package the project (the command below is just an example...)
   > NuGet pack -prop Configuration=Release MyProject.csproj
  1. Publish the package (either push using the command below or place the .nupkg file in the server's packages folder)
   > NuGet push <packagepath> [-source http://mydomain.com/nuget] [MyApiKeyForThisSource]
 

Set Up a NuGet Server

Perhaps WebMatrix can be used instead of IIS for these?
  • Option A: The traditional "easy" method... See "Creating Remote Feeds" here (requires IIS): 
  • Option B: The traditional "full-featured" method (requires IIS, Orchard gallery, others): 
  • Option C: A full-featured implementation without requiring Orchard (requires IIS):
  • Option D: An implementation for Apache/MySQL/PHP servers:
   What? This doesn't exist yet? Darn!
 
Tags

Selecting PHP command line version on HostGator shared host

This took me a while to find, so I'm saving it somewhere I can find it again.

The easy way to select the PHP version used for web applications is to use the CPanel configuration tool. However, that doesn't work if you're using SSH and need PHP on the command line. Also, on HostGator, you can't create a symlink outside of your directory (such as to the global php).

You can find out what version you have with

$ php --version

If that's not the version you want, try a specific version like this (php55 is 5.5, etc):

Book Scanning Process

 

Just to document this for next time. For reference, my books are 8 x 10.75 inches and other dimension below work for this. For approximately 100 pages, It takes me about 45 minutes to scan, an hour to crop and rotate, and 30 minutes to organize and generate the PDF.

Fixing features for hotfolder

Here is some documentation about the process I used to solve some issues with hotfolder and the features module. I was doing this partly through the web interface and partly through a console, so this is a reconstruction of what I remember and the console log. 

 

I was getting the following error message when I tried to check hotfolder watches (see https://www.drupal.org/node/2453659):

Notice: Undefined property: stdClass::$field_watch_config_scheme

 

GIMP for Kids

 

My daughter likes to draw on the computer. I don't remember exactly how it started, but she draws in GIMP using my Genius pen tablet, on my secondary monitor. I used to have Linux running in a VirtualBox with GIMP running on my second monitor for her, but VB doesn't completely work in Windows 10 yet. A while back I tried running GIMP on one of my Raspberry Pi's but it was just too sluggish to be useful, frustratingly slow for a (then) 3-year-old. It runs much better on a Raspberry Pi 2. It still lags if she goes crazy with a big brush, but it works.

Die Fly: Designing a better fly swatter

I was looking through some of my old stuff for something and ran across this gem. If you need to put together a quick flyswatter, try this one I designed for a class in college (the famous Rube Goldberg project).

Here are a few excerpts from the attached PDF. If this doesn't convince you to build one (perhaps with several improvements as noted in the document), I don't know what will.