Wednesday, March 14, 2018

Setting Up a New Windows 10 Machine

Here's my list of things to do with a new windows 10 box in 2018.
(I put it here so I can find it next time I get a new machine.  
Let me know your list of "got to have programs" in the comments.)
 
Set Preferences
-----------
Add environmental variable "HOME" and set to "C:\home\mfincher" so Emacs can find me 
(In the File Explorer, right-click on "This PC", select "properties"/"Advanced system settings"/"Environment Variables...")
Add C:\home\mfincher\bin to environmental variable "Path"
Go into "File Explorer Options" and set "Hidden files and folders"/"Show hidden files..."
  "Display the full path in the title bar"
  and unset "Hide extensions for known file types"
Install Utility Programs
------------------------
Install Chrome and Firefox
Install Emacs
Install spell (https://www.emacswiki.org/emacs/AspellWindows) to C:\opt\Aspell and set emacs to reference that dir
Install Git https://git-scm.com/downloads
   git config --global user.name "Johnny Cash"
   git config --global user.email johnny.cash@gm.com
   git config --global http.proxy http://username:password@proxy.example.org:80/
   git config --global https.proxy http://username:password@proxy.example.org:80/

Install cmder from http://cmder.net/ into C:\opt\Cmdr
   Copy user-aliases.cmd to C:\opt\Cmdr\config
Install Mouse drivers  http://support.logitech.com/en_us/downloads
Install Notepad++ from https://notepad-plus-plus.org
Install Node  https://nodejs.org/en/download/
  npm config set proxy http://username:password@proxy.example.org:80/
  npm config set https-proxy http://username:password@proxy.example.org:80/
Install bower and gulp
  npm install -g bower gulp
Install Maven https://maven.apache.org/download.cgi
Install Paint.Net http://www.getpaint.net/download.html
Install 7-zip for zip/tar files from /http://www.7-zip.org/download.html
Install Visual Studio https://www.visualstudio.com/downloads/
Install ReSharper https://www.jetbrains.com/resharper/download/
Install IntelliJ https://www.jetbrains.com/idea/downloa
Install SourceTree for git repos - https://www.atlassian.com/software/sourcetree 





Install AutoHotKey from https://autohotkey.com/download/
Install Putty.exe
Install FileZilla - https://filezilla-project.org/download.php?type=client
Install PostMan inside Chrome


Install Microsoft Programs
------------------------
Install SQL Server and Red Gate's SQL Search
Install "Remote Desktop Connection Manager" from https://www.microsoft.com/en-us/download/details.aspx?id=44989 
 
Copy Files From Old Computer
----------------------------
Copy My Documents, My Pictu res, 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 Git files, C:\Git
 

Git Clone Error Solved: "Permission denied (publickey)".

While cloning a repo from BitBucket on my new Windows 10 machine  I ran into this error:

"Permission denied (publickey)."

The problem was that BitBucket didn't know about my new public key.
To add the key, select "Manage Account" from the BitBucket web site,



Select "SSH keys" and then "add". 
Copy your public key from "C:\Users\Me\.ssh\id_rsa.pub" and paste it into the text box.
You should be good to go.

If you haven't already created a public/private key set enter,

ssh-keygen -t rsa -C "your.email@myemailhost.com".


Wednesday, January 24, 2018

How to Add TFS Stories Programmatically Through a URL

You can add TFS stories and features through a browser's URL.  This complements the Template process and is simpler than the real API which should be used for real work.

Here's an example URL to create a task, assign it to person, and enter a description:


https://tfs.example.com/tfs/TopLevel/MediumLevel/Project/_workItems/create/Task?%5BSystem.AssignedTo%5D=Wiley+Coyote&%5BSystem.Description%5D=%3Cp%3EExample+Description+Text.%3C%2Fp%3E

This looks like garbage because it is html encoded.  Plain text, courtesy of www.utilities-online.info/urlencode/  would be:

https://tfs.example.com/tfs/TopLevel/MediumLevel/Project/_workItems/create/Task?[System.AssignedTo]=Wiley+Coyote&[System.Description]=Example+Description+Text.

obkb.com has a quick hex code guide.

This will create a task, but not save it.

Here is a non-trivial example, unescaped, and put on multiple lines for clarity:

https://tfs.example.com/tfs/TopLevel/MediumLevel/Project/_workItems/create/User Story?[System.AssignedTo]=Wiley+Coyote
&[Acme.ENABLE.TRAP.ID]=797
&[Acme.ENABLE.PROJ.ID]=777
&[Microsoft.VSTS.Common.ValueArea]=Business
&[Microsoft.VSTS.Common.AcceptanceCriteria]=The Roadrunner is captured.
&[System.Tags]=Food
&[System.AreaPath]=Plans\Trap
&[System.Title]=Giant Mouse Trap to Catch Roadrunner
&[System.Description]=Order giant mouse trap
Place bird seed in trap
wait for roadrunner to get caught

The tricky part is finding the names of the element you want to add.  Fortunately, you can get a Visual Studio plugin which will allow you to see the standard element names and your companies custom names.

You can download the TFS Process Template Editor here.
It will install into VS2017 under the Tools menu.  Select the Process Editor and the "Work Item Field Explorer".


This will display a list of the field names including your custom defined ones:

This method works will for small tasks, but for larger tasks, use the API.

Wednesday, January 10, 2018

Free Online Image to Text Converter

Today I needed to convert a picture of a spreadsheet to an actual spreadsheet.
I used https://www.onlineocr.net/ and it worked great!
They support output in Text, Microsoft Word, and Microsoft Excel.
I selected 'Text' for the OCR, then imported the text into Excel. 
Directly importing an Excel spreadsheet from the web is a little scary,


Proxy Blocking Abot Spider on Windows

I like Abot Web Crawler. It's written in C# and easy to use. Abot will crawl a website so you can get a site map for analysis. Our company's proxy blocks Abot from working. The solution is simple for windows, just set the HTTP_PROXY environmental variable like this,
set HTTP_PROXY=http://proxy_userid:proxy_password@proxy_addr:proxy_port
For example:
set HTTP_PROXY=http://katniss.everdeen:iMissRue@proxy.district9.gov:80
Also also need to set the proxy for HTTPS_PROXY. Then you can run the spider:
cd c:\Git\Abot\abot-master\Abot.Demo\bin\Debug
Abot.Demo.exe https://www.cnn.com > cnn.txt