Skip to content

Instantly share code, notes, and snippets.

param (
[IO.FileInfo]$solution
)
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
[IO.FileInfo]$solution = (Resolve-Path -Path $solution).Path
Push-Location $solution.Directory
@nimatt
nimatt / SyncNugetVersions.ps1
Created March 3, 2022 13:00
Sync NuGet package versions among projects
## WARNING: This is a one of hack that is saved for further refinement if needed in future
$Projects = Get-ChildItem . -Recurse -Filter *.csproj
$Packages = @{}
foreach ($Project in $Projects) {
[Regex]::Matches((Get-Content -Raw $Project.FullName), '<PackageReference\s+Include="(?<name>[^"]+)"\s+Version="(?<version>[^"]+)"') |
ForEach-Object {
if (-not $Packages.ContainsKey($_.Groups['name'].Value)) {
@nimatt
nimatt / GetPbis.ps1
Created October 20, 2021 14:56
Get PBIs for merged PRs in dev that aren't in main
$token = '<access token>'
$auth = "Basic $([Convert]::ToBase64String([System.Text.ASCIIEncoding]::ASCII.GetBytes(":$token")))"
$headers = @{ "Authorization" = $auth }
$baseUrl = '<project url>'
$repoId = '<repo id>'
$prs = git log --pretty="%s" origin/main..origin/develop | Select-String 'Merged PR ' | % {$_.ToString().Split(' ')[2].TrimEnd(':')}
$prData = $prs | % { Invoke-RestMethod -Method Get "$baseUrl/_apis/git/repositories/$repoId/pullrequests/$($_)?api-version=6.0&includeWorkItemRefs=true" -Headers $headers }
$items = ($prData._links.workItems.href | % { Invoke-RestMethod -Method Get $_ -Headers $headers }).value.url | % { Invoke-RestMethod -Method Get "$($_)?`$expand=relations" -Headers $headers }
function Remove-GitBranches {
param(
[int]$CommitsBehind = 20
)
$mergedBranches = git branch --remote --merged |
Where-Object {-not $_.Contains('HEAD')} |
Foreach-Object {$b = $_.Trim(); $b.Substring($b.IndexOf('/') + 1)}
$oldBranches = $mergedBranches |
@nimatt
nimatt / keybindings.json
Created November 9, 2017 11:51
Visual Studio Code
// Place your key bindings in this file to overwrite the defaults
[
// Toggle between terminal and editor focus
{ "key": "ctrl+m", "command": "workbench.action.terminal.focus"},
{ "key": "ctrl+m", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"},
// Rename on ctrl+r ctrl + r
{ "key": "ctrl+r ctrl+r", "command": "editor.action.rename", "when": "editorHasRenameProvider && editorTextFocus && !editorReadonly" }
]
@nimatt
nimatt / _installation.md
Last active November 11, 2017 10:55
Kaggle miljö info

Miljö för Kaggle-aktivitet

Det finns en uppsjö av verktyg, språk och bibliotek som kan användas för olika typer av ML. För att vi ska få en gemensam bas så kommer vi att de första två dagarna att utgå ifrån några av de vanligaste, Python och Tensorflow.

Runtime

Nedan kommer två olika sätt att sätta upp detta på din dator, Docker och Anaconda. Docker är det som kommer att ha minst inverkan på din dator (särkilt om du redan har Docker installerat) medan Anaconda ger en mer integrerad upplevelse. En nackdel med att använda sig av Docker är att det inte kommer att finnas någon möjlighet att plotta data.

Docker

Docker finns för Windows, Mac och Linux och kan hämtas här. Docker for Windows kräver Hyper-V vilket medför att virtualisering måste vara påslaget i BIOS samt att det krävs Windows 10 Pro eller Enterprise.