Thursday, November 13, 2014

Photos from Austin .Net Meeting Nov 10, 2014 - Redis for .Net Developers

Shawn Weisfeld spoke to 40 developers last Monday about Redis, a caching mechanism for .Net developers. Although originally written for Linux, it has been ported to Windows. Redis allows you to store key-value pairs, and save that to a disk, but it's not guaranteed to capture all values, so don't use it for financial applications, but it is great for other applications like leader boards in games.
My Notes:
Shawn works with to record technical demonstrations
Redis now has Lua scripting
You can get Redis from Nuget, Install-Package Redis-64
Redis is the preferred key-value storage for Azure
StackExhange uses Redis
Redis is good for auto-incrementing values, it can do it in one step is the main website and has interactive tutorials.
Shawn actually used the unit tests in Redis to learn how to use the API.
Humanizer is a library for .Net that formats data for humans, e.g., "two" instead of "2".
A rep from Iron Yard was there to tell about their 3 month boot camp for would be developers
Redis has a Desktop manager to view its contents

Emacs: Lisp error: (error "Invalid face" modeline)

After upgrading to the latest version of emacs, I got this error:  'Lisp error: (error "Invalid face" modeline)'.
After a little research it came down to the modeline color command:
 (set-face-background 'modeline "plum")
(set-face-foreground 'modeline "black")
The problem was "modeline" has been replaced with "mode-line".
(set-face-background 'mode-line "plum")
(set-face-foreground 'mode-line "black")

Now emacs is happy, and I'm happy too.

Emacs Error: maximum buffer size exceeded

When trying to load a one gigabyte file into Emacs, I got this error:"maximum buffer size exceeded", and I'm thinking to myself, "Hey, I've got a 64-bit machine with 8Gig of ram and using the awesome Emacs, it should handle one Gig".
After a little research I found a version of Emacs compiled for 64bit windows machines here.
Now I can view 1 Gig files to my hearts content.

Friday, November 07, 2014

Synergy is still Awesome

I use two machines at my desk. Synergy is an incredible program that let's you control multiple machines with a single keyboard and mouse. The latest version costs $5 and it's worth every penny. Setup which used to be awkward at best is now a breeze. Nick Bolton and his team have done a great job with this release.

Setting up a new Windows 7 machine

When setting up a new Windows 7 box, I do the following:
Set Preferences
Right-click RecycleBin, select "Properties" and uncheck "Display delete confirmation dialog" box
Right-click on background, select "Personalize" and select "High Contrast Black"
Right-click on bottom toolbar and set to small icons
In the task bar, right-click select properties and set "Taskbar buttons:" to be "Combine when taskbar is full"
Add environmental variable "HOME" and set to C:\home\mfincher so emacs can find me
Add C:\home\mfincher\bin to environmental variable "Path"
Create C:\tmp so ange-ftp can work.
Turn off error reporting, "My Computer"/Properties/Advanced system settings/Advanced/Startup and Recovery/Settings/System failure, set "Write debugging information" to "(none)"

Copy Files From Old Computer
Copy My Documents, My Pictures, c:\home, c:\opt
copy over all the old databases
Copy over inetpub directories
Copy over old Microsoft Mail archives, *.pst files
Copy root directory of Perforce files, C:\workfiles
Copy the old %AppData%\Launchy\Luanchy.ini config file over to new machine 
Copy Themes from %userprofile%\AppData\Local\Microsoft\Windows\Themes C:\Users\fincherm\AppData\Local\Microsoft\Windows\Themes

Install Utility Programs
Install Chrome, Opera, and Firefox, set up sync in Firefox to get old bookmarks and addins
Install Launchy 
Install AutoHotKey
Install ConEmu
Install Notepad++
Install an alternate file manager XYplorerFree, select "Favorites/Set Box Color..." and set it to black
Install Emacs
Install Mouse drivers
Install visual studio 2013, and p4vs plugin
Install pdf reader sumatra -
Install Paint.Net
Install Mezer Tools Windows-s for capture Windows-c for calipers 
Install 7-zip for zip/tar files from
Install Process Explorer
Install cygwin, add c:\cygwin64\bin to "Path" environmental variable so emacs can see "gzip"

Install Microsoft Programs
Install latest version of powershell (inside Windows Management Framework 4/5)   Windows6.1-KB2819745-x64-MultiPkg.msu
set powershell to use unsigned scripts: add  "set-executionpolicy remotesigned" 
Install sql server 2008R2
Install IIS
Download SQL Server® 2008 R2 Feature Pack to get Invoke-SqlCmd working SqlServerCmdletSnapin100 sqlps
Add-PSSnapin SqlServerCmdletSnapin100
What other programs and settings would you recommend?

Thursday, November 06, 2014

The term 'Invoke-Sqlcmd' is not recognized as the name of a cmdlet

On my new Windows 7 machine while inside Powershell I tried "Invoke-Sqlcmd", but kept getting the error message "The term 'Invoke-Sqlcmd' is not recognized as the name of a cmdlet".
Here was my solution:

Download the SQL Server® 2008 R2 Feature Pack from here.

Then click on the "Instructions" plus symbol.

Then search for "Microsoft® Windows PowerShell Extensions for SQL Server® 2008 R2" and select the appropriate download.

Now after installing, go inside Powershell and execute "Add-PSSnapin SqlServerCmdletSnapin100", then Invoke-SqlCmd worked for me.
To add it permanently, edit your profile and add "Add-PSSnapin SqlServerCmdletSnapin100". (You can find your profile location by executing "$profile").

ConEmu - a Console Emulator for Windows That You Need Now

You owe it to yourself to download ConEmu. It removes all the awfulness of the standard Windows cmd terminal. Things like selecting text are much easier and more natural.
By default to copy text from the console you execute hold down the left-shift key (it's different than the right-shift key), then left-mouse button to highlight and it selects over the carriage returns. If you like block copies select alt-left-click.
I recommend a few changes: Open the Settings Window by selecting the right-most icon with three bars:

Select "Keys & Macro"/Paste/ and set "Confirm pasting more than" to 20000 chars and uncheck "Confirm <Enter> keypress" so it does not nanny you to death by asking if you know you have an <enter> in your selection.

Optional: To prevent a hotkey collision with Mezer tools, remove the hotkey for Win-S by going to "Keys & Macro", select Win-S and reassign the hotkey.