<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Tools on Richard Borges</title>
    <link>/tags/tools/</link>
    <description>Recent content in Tools on Richard Borges</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 17 Nov 2021 00:00:00 +0000</lastBuildDate>
    <atom:link href="/tags/tools/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Using Playwright</title>
      <link>/post/2021-11-18-using-playwright/</link>
      <pubDate>Wed, 17 Nov 2021 00:00:00 +0000</pubDate>
      <guid>/post/2021-11-18-using-playwright/</guid>
      <description>&lt;p&gt;At the recent dotNetConf 2021, amongst all the other goodies released and presented ( .NET 6 ; VS2022 ), there was a session covering Testing tools for .NET.&lt;/p&gt;
&lt;p&gt;One in particular caught my eye. &lt;strong&gt;Playwright&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This one merits further investigation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://youtu.be/oPyTZ-HGdn4?t=16394&#34;&gt;Testing Tools for .NET and cross-platform apps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://playwright.dev/dotnet/&#34;&gt;https://playwright.dev/dotnet/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure SQL performance tuning</title>
      <link>/post/2021-09-30-azure-sql-performance-tuning/</link>
      <pubDate>Thu, 30 Sep 2021 00:00:00 +0000</pubDate>
      <guid>/post/2021-09-30-azure-sql-performance-tuning/</guid>
      <description>&lt;p&gt;After recently migrating an application from on-premises to Azure, I have been keeping a close eye on its performance.&lt;/p&gt;
&lt;p&gt;The application uses Azure SQL. The Azure portal puts forth recommendations to tune the database e.g. create new indices or drop duplicates.
That works well.&lt;/p&gt;
&lt;p&gt;However I found another SQL query, which provides more recommendations&lt;/p&gt;
&lt;p&gt;This site &amp;lsquo;Tune your database&amp;rsquo; &lt;a href=&#34;https://docs.microsoft.com/en-us/azure/azure-sql/database/performance-guidance&#34;&gt;Tune applications and databases for performance in Azure SQL Database and Azure SQL Managed Instance&lt;/a&gt; provided some useful guidance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PowerShell prompt</title>
      <link>/post/2021-09-04-powershell-prompt/</link>
      <pubDate>Sat, 04 Sep 2021 00:00:00 +0000</pubDate>
      <guid>/post/2021-09-04-powershell-prompt/</guid>
      <description>&lt;p&gt;Previously I had tried to install oh-my-posh prompts and folder icons. It never quite worked for me and I kept trying to fix it on and off.&lt;/p&gt;
&lt;p&gt;When &lt;a href=&#34;https://www.hanselman.com/blog/my-ultimate-powershell-prompt-with-oh-my-posh-and-the-windows-terminal&#34;&gt;Scott Hanselman&lt;/a&gt; posted about it (again) in Aug, I had to have a look.&lt;/p&gt;
&lt;p&gt;However even this time around, I did not get it 100% correct. Could be my profile file was corrupted. I did try a few things ( uninstalling the fonts, recreating my profile ), however things did not improve.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automated UI testing</title>
      <link>/post/2021-06-12-automated-ui-testing/</link>
      <pubDate>Sat, 12 Jun 2021 00:00:00 +0000</pubDate>
      <guid>/post/2021-06-12-automated-ui-testing/</guid>
      <description>&lt;p&gt;Finally got around to using Playwright - a tool for UI testing. The official documentation is here &lt;a href=&#34;https://playwright.dev/&#34;&gt;https://playwright.dev/&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;I am using C# and Microsoft has a nuget package. I also wanted to use it in a NUnit project.&lt;/p&gt;
&lt;p&gt;The two sites that helped me get started were :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://dotnetthoughts.net/testing-web-apps-with-playwright-and-dotnet/&#34;&gt;Testing Web Applications with PlayWright and C#&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://auth0.com/blog/e2e-testing-with-playwright-sharp/&#34;&gt;End-To-End Testing With Playwright Sharp&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Create a new NUnit project in VS2019 (make sure you use .NET 5 and above). Add the Playwright NuGet package.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Terminal Icons</title>
      <link>/post/2021-04-17-terminal-icons/</link>
      <pubDate>Sat, 17 Apr 2021 00:00:00 +0000</pubDate>
      <guid>/post/2021-04-17-terminal-icons/</guid>
      <description>&lt;p&gt;I have used Scott Hanselman&amp;rsquo;s tips in the past regarding setting up Windows Terminal and then updating to newer fonts.&lt;/p&gt;
&lt;p&gt;He recently publised a post about using &lt;a href=&#34;https://www.hanselman.com/blog/take-your-windows-terminal-and-powershell-to-the-next-level-with-terminal-icons&#34; title=&#34;terminal icons&#34;&gt;terminal icons&lt;/a&gt; . I think they look great.&lt;/p&gt;
&lt;p&gt;I had a small hiccup where my icons were not displaying correctly. A search on Stackoverflow got me here &lt;a href=&#34;https://gist.github.com/markwragg/6301bfcd56ce86c3de2bd7e2f09a8839#gistcomment-3535519&#34; title=&#34;How to get @DevBlackOps Terminal-Icons module working in PowerShell on Windows&#34;&gt;How to get @DevBlackOps Terminal-Icons module working in PowerShell on Windows&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using VS Code for editing and publishing</title>
      <link>/post/2019-05-27-using-vscode-as-my-ide/</link>
      <pubDate>Mon, 27 May 2019 00:00:00 +0000</pubDate>
      <guid>/post/2019-05-27-using-vscode-as-my-ide/</guid>
      <description>&lt;p&gt;For a while, I have been using the Windows bash shell to run the blog locally while I edit and then used the bash shell to commit my changes to Github. I&amp;rsquo;ve now started using VS Code to edit and deploy my blog, all from VS Code. How do I do this?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Launch VS Code ( Visual Studio Code) and open up the folder of the blog e.g. D:\RichardBorges.github.io&lt;/li&gt;
&lt;li&gt;In the terminal window ( in VSCode ) ensure that you have a wsl terminal ( Windows Subsystem for Linux). I&amp;rsquo;m running Windows 10, i.e. a Windows bash shell. Read more &lt;a href=&#34;https://code.visualstudio.com/docs/editor/integrated-terminal&#34; title=&#34;Integrated Terminal&#34;&gt;here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Type&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bundle exec jekyll serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;in the terminal window and this will build and launch the site locally at http://127.0.0.1:4000.
&lt;img alt=&#34;screenshot&#34; loading=&#34;lazy&#34; src=&#34;../../images/2019/05/vscodeeditor.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disk cloning software</title>
      <link>/post/2018-11-27-new-ssd/</link>
      <pubDate>Tue, 27 Nov 2018 00:00:00 +0000</pubDate>
      <guid>/post/2018-11-27-new-ssd/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Macrium_Reflect&#34;&gt;Macrium Reflect Free Edition&lt;/a&gt; to clone an existing disk&lt;/p&gt;
&lt;p&gt;This helped me immensely, when I added an additional 1TB SSD to my rig.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Elasticsearch upgrade</title>
      <link>/post/2018-10-13-elasticsearch-upgrade/</link>
      <pubDate>Sat, 13 Oct 2018 00:00:00 +0000</pubDate>
      <guid>/post/2018-10-13-elasticsearch-upgrade/</guid>
      <description>&lt;p&gt;These are my notes on upgrading &lt;a href=&#34;https://elastic.co&#34;&gt;elasticseach&lt;/a&gt; from v5.3 to v6.4.2. This was done on Windows Server 2016 with 32GB RAM and 500GB hdd. The source data was about 300GB in size.&lt;/p&gt;
&lt;h3 id=&#34;steps&#34;&gt;Steps&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;elastic.co&#34; loading=&#34;lazy&#34; src=&#34;../../images/2018/10/elastic.co.png&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download elasticsearch + kibana from &lt;a href=&#34;https://www.elastic.co/downloads&#34;&gt;downloads&lt;/a&gt;. After extracting to my local drive, I used &lt;a href=&#34;https://nssm.cc/&#34;&gt;NSSM&lt;/a&gt; to run these as windows services. You should now be able to visit http://localhost:9200 (elasticsearch) and http://localhost:5601 ( kibana )&lt;/li&gt;
&lt;li&gt;Copy across the 5.3 data using robcopy. Install elasticsearch 5.3 ( update elasticsearch.yml ) to run 5.3 at http://localhost:8200 ( as 6.4.2 is running on port 9200)&lt;/li&gt;
&lt;li&gt;Create the new indices on 6.4.2&lt;/li&gt;
&lt;li&gt;Migrate the data from 5.3 to 6.4.2 using reindex&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;additional-resources&#34;&gt;Additional resources&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Upgrade &lt;a href=&#34;https://www.elastic.co/guide/en/elasticsearch/reference/6.4/setup-upgrade.html&#34;&gt;Elasticsearch&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description>
    </item>
    <item>
      <title>Download binary data to file</title>
      <link>/post/2018-04-15-download-binary-data-to-file/</link>
      <pubDate>Sun, 15 Apr 2018 00:00:00 +0000</pubDate>
      <guid>/post/2018-04-15-download-binary-data-to-file/</guid>
      <description>&lt;p&gt;I had some binary data in a table in SQL and wanted to save it locally. The data was emails (msg files). I could have done this using powershell and the Invoke-SqlCmd commandlet, but for whatever reason, invoke-sqlcmd refused to work on my machine. After spending a few hours trying to get that to work, I gave up and jumped on stackoverflow to find another solution.&lt;/p&gt;
&lt;h3 id=&#34;linqpad-to-the-rescue&#34;&gt;Linqpad to the rescue&lt;/h3&gt;
&lt;p&gt;I happened on this link &lt;a href=&#34;https://stackoverflow.com/questions/4056050/script-to-save-varbinary-data-to-disk/40520791#40520791&#34;&gt;Script to save varbinary data to disk&lt;/a&gt; which was just the solution I was looking for. Download &lt;a href=&#34;https://www.linqpad.net/Download.aspx&#34;&gt;LinqPad 5&lt;/a&gt; (the free version is fine) and then&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up CI with TeamCity</title>
      <link>/post/2016-08-09-setting-up-ci-with-teamcity/</link>
      <pubDate>Tue, 09 Aug 2016 00:00:00 +0000</pubDate>
      <guid>/post/2016-08-09-setting-up-ci-with-teamcity/</guid>
      <description>&lt;p&gt;I have used an Azure Virtual Machine (Win 2008 Server, standard DS1 1core-3.5GB memory) for this.&lt;/p&gt;
&lt;p&gt;Download JetBrains TeamCity on the server. I planned to install both the server and the build agent on the one box. This will do for now. I will look at moving the build agent to another server if there is demand. Accepted the default settings during installation.&lt;/p&gt;
&lt;p&gt;I wanted to connect to bitbucket to retrieve the latest source using SSH. I added a new user (called BuildUser) to Bitbucket and added an SSH public key (bit bucket has good documentation on creating SSH keys. I used my bash shell to create these for the BuildUser user). One gotcha was that the Username had to be &amp;lsquo;git&amp;rsquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Setup and Tools - July 2016</title>
      <link>/post/2016-07-01-my-setup-and-tools-july-2016/</link>
      <pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate>
      <guid>/post/2016-07-01-my-setup-and-tools-july-2016/</guid>
      <description>&lt;p&gt;Here is my development setup list of tools.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VS 2015 community edition&lt;/li&gt;
&lt;li&gt;Jet Brains Resharper ( paid )&lt;/li&gt;
&lt;li&gt;Productivity Power Tools 2015 (free plugin to VS2015)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://visualstudiogallery.msdn.microsoft.com/ee6e6d8c-c837-41fb-886a-6b50ae2d06a2&#34;&gt;Web Essentials&lt;/a&gt; 2015.5 (free plugin for VS2015)&lt;/li&gt;
&lt;li&gt;automapper.org&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://bootboxjs.com/&#34;&gt;bootbox.js&lt;/a&gt; make your pop-over front and centre. Bootbox.js is a small JavaScript library which allows you to create programmatic dialog boxes using Bootstrap modals, without having to worry about creating, managing or removing any of the required DOM elements or JS event handlers.&lt;/li&gt;
&lt;li&gt;animate.css for nice bouncy effects&lt;/li&gt;
&lt;li&gt;Templating engine &lt;a href=&#34;https://underscorejs.org&#34; title=&#34;underscore.js&#34;&gt;underscore.js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;momentjs.com moment.js library to format date time in javascript&lt;/li&gt;
&lt;li&gt;Less to css or use &lt;a href=&#34;http://css2less.co&#34;&gt;http://css2less.co&lt;/a&gt; for legacy css to less conversion (makes my css� code clearner in my VS project).&lt;/li&gt;
&lt;li&gt;Bootstrap , input group , components -&amp;gt; search button to the right of the text box&lt;/li&gt;
&lt;li&gt;Organize your javascript library &lt;a href=&#34;http://requirejs.org&#34;&gt;http://requirejs.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dependency Injection library: NinJect.MVC5 ver: 3.2.1.0&lt;/li&gt;
&lt;li&gt;Use convention over configuration PM&amp;gt;install-package Ninject.extensions.conventions&lt;/li&gt;
&lt;li&gt;Unit Testing tools (add to Test project): Moq PM&amp;gt; install-package moq -version:4.2.1510.2205&lt;/li&gt;
&lt;li&gt;Unit Testing tools (add to Test project): FluentAssertions PM&amp;gt; install-package FluentAssertions -version:3.3.0&lt;/li&gt;
&lt;li&gt;Unit Testing a repository. google.com.au search for &amp;lsquo;mock dbset&amp;rsquo; to get code from MSDN.  &lt;a href=&#34;https://msdn.microsoft.com/en-us/library/dn314429.aspx&#34;&gt;https://msdn.microsoft.com/en-us/library/dn314429.aspx&lt;/a&gt;. Use that code to populate my DBSet for testing.&lt;/li&gt;
&lt;li&gt;Integration Test: (Integration Test project) use nUnit because it has a feature to initialization databases that MSTest does not have.&lt;br&gt;
&lt;code&gt;PM&amp;gt; install-package nunit -version:2.6.3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;DotCover by JetBrains - to find how much of our code is covered by our tests&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>what3words.com : an interesting take on finding a location</title>
      <link>/post/2016-05-25-what3words-com-an-interesting-take-on-finding-a-location/</link>
      <pubDate>Wed, 25 May 2016 00:00:00 +0000</pubDate>
      <guid>/post/2016-05-25-what3words-com-an-interesting-take-on-finding-a-location/</guid>
      <description>&lt;p&gt;what3words.com&lt;/p&gt;
&lt;p&gt;From their website&lt;/p&gt;
&lt;p&gt;what3words is a global grid of 57 trillion 3mx3m squares. Each square has a 3 word address that can be communicated quickly, easily and with no ambiguity.� Our geocoder turns geographic coordinates into these 3 word addresses and vice-versa.� Using words means non-technical people can accurately find any location and communicate it more quickly, more easily and with less ambiguity than any other system like street addresses, postcodes, latitude &amp;amp; longitude or mobile short-links. e.g. gazed.across.like&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I went from http to https</title>
      <link>/post/2016-02-10-how-i-went-from-http-to-https/</link>
      <pubDate>Wed, 10 Feb 2016 00:00:00 +0000</pubDate>
      <guid>/post/2016-02-10-how-i-went-from-http-to-https/</guid>
      <description>&lt;p&gt;From &lt;strong&gt;http&lt;/strong&gt; to &lt;em&gt;&lt;strong&gt;https&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Today I went from here (http):
&lt;img alt=&#34;no cert&#34; loading=&#34;lazy&#34; src=&#34;../../images/2016/02/http.richardborges.net_.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;to (https:)&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;https&#34; loading=&#34;lazy&#34; src=&#34;../../images/2016/02/https.richardborges.net_.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Thanks to Troy Hunt in providing the &lt;a href=&#34;%5Bhttp://www.troyhunt.com/2013/09/the-complete-guide-to-loading-free-ssl.html&#34;&gt;instructions&lt;/a&gt;. That post was written in Sep 2013. I had to conduct a few trial and errors to get https working for my site.&lt;/p&gt;
&lt;h3 id=&#34;background&#34;&gt;Background:&lt;/h3&gt;
&lt;p&gt;My blog ( richardborges.net ) is hosted on Azure site (richardborgesblog.azurewebsites.net). I have pointed richardborgesblog.azurewebsites.net to richardborges.net. Visit the excellent PluralSight course by Troy Hunt on how to do this.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
