
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="https://grottrup.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://grottrup.github.io/" rel="alternate" type="text/html" /><updated>2022-07-01T15:28:54+00:00</updated><id>https://grottrup.github.io/feed.xml</id><title type="html">Ctrl Space Blog</title><subtitle>My own blog</subtitle><author><name>Simon Grottrup</name></author><entry><title type="html">Choco</title><link href="https://grottrup.github.io/Choco/" rel="alternate" type="text/html" title="Choco" /><published>2022-07-01T00:00:00+00:00</published><updated>2022-07-01T00:00:00+00:00</updated><id>https://grottrup.github.io/Choco</id><content type="html" xml:base="https://grottrup.github.io/Choco/">&lt;ol&gt;
  &lt;li&gt;Open PowerShell as admin&lt;/li&gt;
  &lt;li&gt;Download Choco:
    &lt;pre&gt;&lt;code class=&quot;language-PowerShell&quot;&gt;Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
&lt;/code&gt;&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Test download by writing:
    &lt;pre&gt;&lt;code class=&quot;language-PowerShell&quot;&gt;choco
&lt;/code&gt;&lt;/pre&gt;
    &lt;p&gt;The terminal should return something like:&lt;/p&gt;
    &lt;pre&gt;&lt;code class=&quot;language-PowerShell&quot;&gt;Chocolatey v1.1.0
Please run 'choco -?' or 'choco &amp;lt;command&amp;gt; -?' for help menu.
&lt;/code&gt;&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Install Git with Choco:
    &lt;pre&gt;&lt;code class=&quot;language-PowerShell&quot;&gt;choco install git
&lt;/code&gt;&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Open a new terminal and test whether Git is installed:
    &lt;pre&gt;&lt;code class=&quot;language-PowerShell&quot;&gt;git
&lt;/code&gt;&lt;/pre&gt;
    &lt;p&gt;The terminal should return something like:
```
usage: git [-v | –version] [-h | –help] [-C &lt;path&gt;] [-c &lt;name&gt;=&lt;value&gt;]
        [--exec-path[=&lt;path&gt;]] [--html-path] [--man-path] [--info-path]
        [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
        [--git-dir=&lt;path&gt;] [--work-tree=&lt;path&gt;] [--namespace=&lt;name&gt;]
        [--super-prefix=&lt;path&gt;] [--config-env=&lt;name&gt;=&lt;envvar&gt;]
        &lt;command /&gt; [&lt;args&gt;]&lt;/args&gt;&lt;/envvar&gt;&lt;/name&gt;&lt;/path&gt;&lt;/name&gt;&lt;/path&gt;&lt;/path&gt;&lt;/path&gt;&lt;/value&gt;&lt;/name&gt;&lt;/path&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are common Git commands used in various situations:
…
```&lt;/p&gt;</content><author><name>Simon Grottrup</name></author><summary type="html">Open PowerShell as admin Download Choco: Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) Test download by writing: choco The terminal should return something like: Chocolatey v1.1.0 Please run 'choco -?' or 'choco &amp;lt;command&amp;gt; -?' for help menu. Install Git with Choco: choco install git Open a new terminal and test whether Git is installed: git The terminal should return something like: ``` usage: git [-v | –version] [-h | –help] [-C ] [-c =] [--exec-path[=]] [--html-path] [--man-path] [--info-path] [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare] [--git-dir=] [--work-tree=] [--namespace=] [--super-prefix=] [--config-env==] []</summary></entry><entry><title type="html">Carrot Cake</title><link href="https://grottrup.github.io/Carrot-cake/" rel="alternate" type="text/html" title="Carrot Cake" /><published>2019-04-19T00:00:00+00:00</published><updated>2019-04-19T00:00:00+00:00</updated><id>https://grottrup.github.io/Carrot-cake</id><content type="html" xml:base="https://grottrup.github.io/Carrot-cake/">&lt;ul&gt;
  &lt;li&gt;200 g gratted carrots&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Chopped hazzelnuts&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;4 dl flour&lt;/li&gt;
  &lt;li&gt;1½ tsp backing powder&lt;/li&gt;
  &lt;li&gt;250 ml brown sugar&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;2½ tsp cinnamon&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;250 ml water&lt;/li&gt;
  &lt;li&gt;2 Tbsp sunflower oil&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bake at 200 degrees Celcius for 30 minutes&lt;/p&gt;</content><author><name>Simon Grottrup</name></author><summary type="html">200 g gratted carrots Chopped hazzelnuts</summary></entry><entry><title type="html">About Git Cicd Seperation By Concern And Maintainance</title><link href="https://grottrup.github.io/About-Git-CICD-Seperation-By-Concern-And-Maintainance/" rel="alternate" type="text/html" title="About Git Cicd Seperation By Concern And Maintainance" /><published>2018-10-10T00:00:00+00:00</published><updated>2018-10-10T00:00:00+00:00</updated><id>https://grottrup.github.io/About-Git-CICD-Seperation-By-Concern-And-Maintainance</id><content type="html" xml:base="https://grottrup.github.io/About-Git-CICD-Seperation-By-Concern-And-Maintainance/">&lt;h2 id=&quot;wip&quot;&gt;WIP&lt;/h2&gt;

&lt;p&gt;https://sethrobertson.github.io/GitBestPractices/&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;One&lt;/strong&gt; conceptual group per repository&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Seperate repositories for files needed for reuseability in other projects&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Individual repositories assembled into a superproject&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;git-submodules&lt;/li&gt;
      &lt;li&gt;gitslave&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Do not create very large repositories&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;https://medium.com/@patrickleet/mono-repo-or-multi-repo-why-choose-one-when-you-can-have-both-e9c77bd0c668&lt;/p&gt;

&lt;p&gt;https://www.reddit.com/r/devops/comments/8vgqhq/what_do_you_prefer_and_why_mono_repo_or_multiple/e1natwi&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&quot;Personally, I prefer micro repos as it helps enforce loose coupling, which means you can deploy smaller units more regularly without worrying too much about inter-connectivity.&quot; - the_hypotenuse
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;https://chengl.com/multirepo-vs-monorepo/&lt;/p&gt;

&lt;h2 id=&quot;anti-patterns&quot;&gt;Anti patterns&lt;/h2&gt;

&lt;p&gt;http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-pattern.html&lt;/p&gt;

&lt;p&gt;http://www.ben-morris.com/entity-framework-anti-patterns-how-not-to-use-an-orm-with-sql-server/&lt;/p&gt;</content><author><name>Simon Grottrup</name></author><summary type="html">WIP</summary></entry><entry><title type="html">Good Software</title><link href="https://grottrup.github.io/Good-software/" rel="alternate" type="text/html" title="Good Software" /><published>2018-09-20T00:00:00+00:00</published><updated>2018-09-20T00:00:00+00:00</updated><id>https://grottrup.github.io/Good-software</id><content type="html" xml:base="https://grottrup.github.io/Good-software/">&lt;h1 id=&quot;how-can-good-software-be-recognized&quot;&gt;How can good software be recognized?&lt;/h1&gt;
&lt;p&gt;(Points taken from Ib Havn)&lt;/p&gt;

&lt;h3 id=&quot;designed-well&quot;&gt;Designed Well&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;High Cohesion&lt;/li&gt;
  &lt;li&gt;Loose Coupling&lt;/li&gt;
  &lt;li&gt;Independent modules&lt;/li&gt;
  &lt;li&gt;Clear Interfaces&lt;/li&gt;
  &lt;li&gt;Little Redundancy&lt;/li&gt;
  &lt;li&gt;Layered design&lt;/li&gt;
  &lt;li&gt;Designed for Test&lt;/li&gt;
  &lt;li&gt;Extensible&lt;/li&gt;
  &lt;li&gt;Portable&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;maintainable&quot;&gt;Maintainable&lt;/h3&gt;
&lt;p&gt;“What makes the difference between working code and great code is
maintainability” - David Rachamim&lt;/p&gt;

&lt;p&gt;“You don’t really know how good someone’s code is until you try to change it” – Kristopher Johnson&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Well documented&lt;/li&gt;
  &lt;li&gt;Code is readable – stick to coding and naming standards&lt;/li&gt;
  &lt;li&gt;Code is simple – KISS Keep it simple stupid!&lt;/li&gt;
  &lt;li&gt;Testable&lt;/li&gt;
  &lt;li&gt;Dependency injection&lt;/li&gt;
  &lt;li&gt;Encapsulation&lt;/li&gt;
  &lt;li&gt;No “gold plating”&lt;/li&gt;
  &lt;li&gt;Only optimised if needed&lt;/li&gt;
  &lt;li&gt;Automated tests&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;it-works&quot;&gt;It works&lt;/h3&gt;
&lt;p&gt;“Beautiful readable , testable, maintainable code that fails to meet the
customer needs is still a failure” - codingdave&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;As specified by customer&lt;/li&gt;
  &lt;li&gt;It solves the intended problems&lt;/li&gt;
  &lt;li&gt;Users wants to use it&lt;/li&gt;
  &lt;li&gt;It’s stable&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;testing&quot;&gt;Testing&lt;/h2&gt;

&lt;h3 id=&quot;black-box-testing&quot;&gt;Black box testing&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;System Tests&lt;/li&gt;
  &lt;li&gt;Acceptance Tests
    &lt;h3 id=&quot;test-driven-development-tdd&quot;&gt;Test Driven Development (TDD)&lt;/h3&gt;
    &lt;h3 id=&quot;white-box-testing&quot;&gt;White box testing&lt;/h3&gt;
  &lt;/li&gt;
  &lt;li&gt;Unit Tests&lt;/li&gt;
  &lt;li&gt;ZOMBIES&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ZOMBIES Spelled out:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Z – Zero&lt;/li&gt;
  &lt;li&gt;O – One&lt;/li&gt;
  &lt;li&gt;M – Many (or More complex)&lt;/li&gt;
  &lt;li&gt;B – Boundary Behaviors&lt;/li&gt;
  &lt;li&gt;I – Interface definition&lt;/li&gt;
  &lt;li&gt;E – Exercise Exceptional behavior&lt;/li&gt;
  &lt;li&gt;S – Simple Scenarios, Simple Solutions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;http://blog.wingman-sw.com/archives/677#more-677&lt;/p&gt;

&lt;p&gt;Use TDD together with ZOMBIES! :)&lt;/p&gt;

&lt;p&gt;“Do The Simplest Thing That Could Possible Work.” - Kent Beck&lt;/p&gt;

&lt;h1 id=&quot;developing-software&quot;&gt;Developing software…&lt;/h1&gt;

&lt;p&gt;Personally I think the best thing to do is first write down your items/stories and then translate these stories into something that you can write a Behaviour Driven Development test for. It is like adding an extra layer of refinement when you closely couple the business needs to TDD and make sure that TDD is focused on covering the desired specifications.&lt;/p&gt;

&lt;p&gt;“As a user-role(1) want a feature(2) that I get business value/benefit(3).”&lt;/p&gt;

&lt;p&gt;Items/Stories must never include design ideas –only describe wanted functionality!!&lt;/p&gt;

&lt;p&gt;I think code should approach readability and abstraction. I think in any case that something can be descriped as one logical functionality it should be divided so. This will provide seggregation and the next person to read your code will be able to quickly disguish what belongs together and will be able to read on a more abstract level about what you are trying to do.&lt;/p&gt;</content><author><name>Simon Grottrup</name></author><summary type="html">How can good software be recognized? (Points taken from Ib Havn)</summary></entry><entry><title type="html">Getting Wsl</title><link href="https://grottrup.github.io/Getting-WSL/" rel="alternate" type="text/html" title="Getting Wsl" /><published>2018-09-15T00:00:00+00:00</published><updated>2018-09-15T00:00:00+00:00</updated><id>https://grottrup.github.io/Getting-WSL</id><content type="html" xml:base="https://grottrup.github.io/Getting-WSL/">&lt;p&gt;Windows Subsystem for Linux (WSL) enables using the Linux terminal within your Windows system. It is more light weight than running a virtual machine. It is terminal only, so it is not the right option if you want to run a programme relying on a graphical user interface. However, you can launch the VS Code editor using WSL. WSL is a great light weight Linux developer tool for Windows users.&lt;/p&gt;

&lt;h2 id=&quot;wsl-installation&quot;&gt;WSL installation&lt;/h2&gt;

&lt;p&gt;See the official guide by Microsoft or follow the steps below: https://docs.microsoft.com/en-us/windows/wsl/install-win10&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Run the following command as administator in PowerShell:&lt;/li&gt;
&lt;/ol&gt;

&lt;pre&gt;&lt;code class=&quot;language-PowerShell&quot;&gt;
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

&lt;/code&gt;&lt;/pre&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Restart you computer.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Install Ubuntu from the Microsoft Store:&lt;/p&gt;

    &lt;p&gt;https://www.microsoft.com/store/productId/9NBLGGH4MSV6&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Launch Ubuntu and wait for the installation to complete.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Enter your desired username and password.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;folder-navigation&quot;&gt;Folder navigation&lt;/h2&gt;

&lt;p&gt;Navigate to your Windows folder system by writing:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-Bash&quot;&gt;
cd /mnt

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Return to the path of the Linux subsystem by writting:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-Bash&quot;&gt;
cd ~

&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&quot;visual-studio-code-using-wsl&quot;&gt;Visual Studio Code using WSL&lt;/h2&gt;

&lt;p&gt;Visual Studio Code (“VS Code” or just “Code” abbreviated) is an editor or light weight IDE. If you have not used it before you can download it here: https://code.visualstudio.com/&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Launch VS Code.&lt;/li&gt;
  &lt;li&gt;Navigate to the Extensions Marketplace.&lt;/li&gt;
  &lt;li&gt;Search for “WSL” or “Remote - WSL” in the marketplace or download the extension here: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl&lt;/li&gt;
  &lt;li&gt;Once installed you can now launch it from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;View&amp;gt;Command Palette...&lt;/code&gt; the shortcut for opening it is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Shift+P&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;The Command Palette should now be seachable in a field in top of the VS Code Window. A &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;&lt;/code&gt; should appear in the start of the search field.&lt;/li&gt;
  &lt;li&gt;Search for “Remote-WSL: New Window” and press enter once it has been selected.&lt;/li&gt;
  &lt;li&gt;Launch the terminal within VS Code to check that you are within the WSL environment. Open it using hte menu in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;View&amp;gt;Terminal&lt;/code&gt; or by using the shortcut &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+æ&lt;/code&gt; (Danish keyboards)&lt;/li&gt;
  &lt;li&gt;You should now see a Bash terminal where the name you chose in the WSL installation step should appear.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It is also possible to start  VS Code from WSL by writing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;code .&lt;/code&gt; in the WSL terminal.&lt;/p&gt;</content><author><name>Simon Grottrup</name></author><summary type="html">Windows Subsystem for Linux (WSL) enables using the Linux terminal within your Windows system. It is more light weight than running a virtual machine. It is terminal only, so it is not the right option if you want to run a programme relying on a graphical user interface. However, you can launch the VS Code editor using WSL. WSL is a great light weight Linux developer tool for Windows users.</summary></entry><entry><title type="html">Vanilla Pancakes</title><link href="https://grottrup.github.io/Vanilla-pancakes/" rel="alternate" type="text/html" title="Vanilla Pancakes" /><published>2018-08-26T00:00:00+00:00</published><updated>2018-08-26T00:00:00+00:00</updated><id>https://grottrup.github.io/Vanilla-pancakes</id><content type="html" xml:base="https://grottrup.github.io/Vanilla-pancakes/">&lt;p&gt;These are my favorite pancakes. It is a modification of an old recipe that has been taken off the internet, so I decided to preserve it on my own page. It is a flat pancake like crêpe.&lt;/p&gt;

&lt;p&gt;This portion is recommended for up to 4 people&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;125 g / 2 dL flour&lt;/li&gt;
  &lt;li&gt;3 dL milk&lt;/li&gt;
  &lt;li&gt;2 eggs&lt;/li&gt;
  &lt;li&gt;30 g butter / magarine&lt;/li&gt;
  &lt;li&gt;1 tsp of salt&lt;/li&gt;
  &lt;li&gt;1 tsp vanilla sugar&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
  &lt;li&gt;Mix flour, milk, salt and vanilla sugar&lt;/li&gt;
  &lt;li&gt;Mix with eggs&lt;/li&gt;
  &lt;li&gt;Melt the butter and mix it with the rest&lt;/li&gt;
  &lt;li&gt;Bake the pancakes :)&lt;/li&gt;
&lt;/ol&gt;</content><author><name>Simon Grottrup</name></author><summary type="html">These are my favorite pancakes. It is a modification of an old recipe that has been taken off the internet, so I decided to preserve it on my own page. It is a flat pancake like crêpe.</summary></entry><entry><title type="html">Package Managers For Windows</title><link href="https://grottrup.github.io/Package-managers-for-Windows/" rel="alternate" type="text/html" title="Package Managers For Windows" /><published>2018-03-07T00:00:00+00:00</published><updated>2018-03-07T00:00:00+00:00</updated><id>https://grottrup.github.io/Package-managers-for-Windows</id><content type="html" xml:base="https://grottrup.github.io/Package-managers-for-Windows/">&lt;h3 id=&quot;installing-chocolatey-or-choco-for-short&quot;&gt;Installing Chocolatey (or choco for short)&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Chocolatey is a package manager for Windows (like apt-get or yum but for Windows). It was designed to be a decentralized framework for quickly installing applications and tools that you need. It is built on the NuGet infrastructure currently using PowerShell as its focus for delivering packages from the distros to your door, err computer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Source: &lt;a href=&quot;https://chocolatey.org/&quot;&gt;Chocolatey&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Open PowerShell as an Admin&lt;/li&gt;
  &lt;li&gt;Run the following command: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now choco should be installed and ready for use.&lt;/p&gt;

&lt;h3 id=&quot;installing-neovim-from-the-commandline&quot;&gt;Installing Neovim from the commandline&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Open PowerShell as an Admin&lt;/li&gt;
  &lt;li&gt;Run the following command: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;choco install neovim&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Accept installing the scripts. You might have to write &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;y&lt;/code&gt; into the commandline a few times&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;add-to-path-from-advanced-system-settings&quot;&gt;Add to Path from Advanced system settings&lt;/h3&gt;

&lt;p&gt;This is so you can open Neovim from the commandline.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Go to your Neovim path folder. It might be located here: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;C:\tools\neovim\Neovim\bin&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Follow this guide to add variable: &lt;a href=&quot;https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/&quot;&gt;How to edit your system path&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Use the path of the bin folder&lt;/li&gt;
  &lt;li&gt;You can now open &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nvim&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nvim-qt&lt;/code&gt; from the commandline&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;use-chocolatey-indirectly-with-packagemanager&quot;&gt;Use Chocolatey indirectly with PackageManager&lt;/h3&gt;

&lt;p&gt;Instead of directly using the Chocolatey packagemanger the PackageManager (previously known as OneGet) can be used. PackageManager Is more of a package manager manager. So it can manage Chocolatey for example.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Run PowerShell as an Admin&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Register-PackageSource -Name chocolatey -Location http://chocolatey.org/api/v2 -Provider NuGet -Trusted -Verbose&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Maybe take a look at &lt;a href=&quot;https://chocolatey.org/packages&quot;&gt;Chocolatey packages&lt;/a&gt;. Neovim is there. Or look whether it is there with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Find-Package -Name Neovim&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Install-Package -Name Neovim&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;PackageManagement documentation can be found here: &lt;a href=&quot;https://docs.microsoft.com/da-dk/powershell/module/packagemanagement/?view=powershell-5.1&quot;&gt;https://docs.microsoft.com/da-dk/powershell/module/packagemanagement/?view=powershell-5.1&lt;/a&gt;&lt;/p&gt;</content><author><name>Simon Grottrup</name></author><summary type="html">Installing Chocolatey (or choco for short)</summary></entry><entry><title type="html">Raspberry Pi Linux Terminal Basics</title><link href="https://grottrup.github.io/Raspberry-Pi-Linux-Terminal-Basics/" rel="alternate" type="text/html" title="Raspberry Pi Linux Terminal Basics" /><published>2018-01-16T00:00:00+00:00</published><updated>2018-01-16T00:00:00+00:00</updated><id>https://grottrup.github.io/Raspberry-Pi-Linux-Terminal-Basics</id><content type="html" xml:base="https://grottrup.github.io/Raspberry-Pi-Linux-Terminal-Basics/">&lt;h2 id=&quot;log-2018-01-04&quot;&gt;Log 2018-01-04&lt;/h2&gt;

&lt;p&gt;A new adventure begins. Let me summarize what I am doing and where I currently am in my learning process:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I have aquired a Raspberry Pi Zero W
    &lt;ul&gt;
      &lt;li&gt;I installed Raspian Lite on it
        &lt;ul&gt;
          &lt;li&gt;This seems to be distribution you want if you do not care for a GUI&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;I installed Lynx on it and set it the to use Vi keybindings
        &lt;ul&gt;
          &lt;li&gt;It is nice to have a browser than enables me to stay in the same environment&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;I installed Git so I can easily update my files from the Pi
        &lt;ul&gt;
          &lt;li&gt;E.g. using it for committing this file&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;I Installed Nvim/Neovim
        &lt;ul&gt;
          &lt;li&gt;I want to try this modern continuation of Vi/Vim&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to have a split screen and being apple to switch between multiple terminals. These are my findings:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Opening/switching to another terminal instance
    &lt;ul&gt;
      &lt;li&gt;Press &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Alt+F&amp;lt;num&amp;gt;&lt;/code&gt;. You should already have a terminal open at &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Alt-F1&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Go to Nvim and use the split window functionality there
    &lt;ul&gt;
      &lt;li&gt;Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+w v&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+w s&lt;/code&gt; for opening windows, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+w q&lt;/code&gt; for closing windows and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+w w&lt;/code&gt; for switching between windows&lt;/li&gt;
      &lt;li&gt;Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;:te&lt;/code&gt; to open a terminal within Nvim and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+\ Ctrl+N&lt;/code&gt; to exit terminal-mode and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;i&lt;/code&gt; to enter terminal-mode again&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now I didn’t get right down to documenting when I set up my Pi, but I remember that there was an issue with displaying on my screen through the display port. I think this was solved by unplugging the power supply and connecting it again. So first connect the SD card (with the desired distribution) and the HDMI cable. After that connect the Pi to power and you will now see the setup screen.&lt;/p&gt;

&lt;h2 id=&quot;log-2018-01-05&quot;&gt;Log 2018-01-05&lt;/h2&gt;

&lt;p&gt;Today I want to learn tmux.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Basics
    &lt;ul&gt;
      &lt;li&gt;Type &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tmux&lt;/code&gt;to enter and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;exit&lt;/code&gt; within tmux to return the ordinary terminal&lt;/li&gt;
      &lt;li&gt;When you are within tmux it is just like in the terminal, except you will now notice the line at the button that might say something like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[0] 0:bash*&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+b&lt;/code&gt; is as a prefix for tmux commands&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+b d&lt;/code&gt; means that you will detach tmux - This might be a better way to exit tmux because it does not close the session and you might be able to return to the work you left&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;log-2018-01-16&quot;&gt;Log 2018-01-16&lt;/h2&gt;

&lt;h3 id=&quot;ssh&quot;&gt;SSH&lt;/h3&gt;

&lt;p&gt;To set up the Raspberry Pi for SSH you have to go through a few steps.&lt;/p&gt;

&lt;h4 id=&quot;enable-ssh-on-the-pi&quot;&gt;Enable SSH on the Pi&lt;/h4&gt;

&lt;p&gt;SSH is by default disabled for the Raspberry Pi. Therefore you need the enable it. Use the following command to access the configuration of the Pi:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo raspi-config
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Use the arrow keys to navigate within the configuration tool. Navigate to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Interfacing Options&lt;/code&gt; and press &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Enter&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now navigate to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SSH&lt;/code&gt; and press &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Enter&lt;/code&gt;. You will now be asked &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Would you like the SSH server to be enabled?&lt;/code&gt;. Navigate to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;Yes&amp;gt;&lt;/code&gt; and press &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Enter&lt;/code&gt;. You will now be informed that it has been enabled. Press &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Enter&lt;/code&gt; to return to the menu. Within the Configuration Tool menu simply press &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Esc&lt;/code&gt; to exit and return to the terminal.&lt;/p&gt;

&lt;p&gt;The default login credentials of the Raspberry Pi is:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Username: pi
Password: raspberry
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Using the default is a security issue as anyone who know of the common login of a Raspberry Pi can now access it through SSH. Therefore you most likely would like to change your password. You do this with:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo -i
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This makes you the root. Meaning that you will no longer be pi@raspberrypi, but root@raspberrypi and you can now run commands without using the sudo prefix as you have root privileges.&lt;/p&gt;

&lt;p&gt;Now you use the following command to say that you would like to change the password of the user pi:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;passwd pi
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;After this you will be asked to enter a new UNIX password. Choose something that you can remember.&lt;/p&gt;

&lt;p&gt;To logout from root simply write:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;exit	
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>Simon Grottrup</name></author><summary type="html">Log 2018-01-04</summary></entry></feed>