I have moved this over to the Tech Interview Cheat Sheet Repo and has been expanded and even has code challenges you can run and practice against!
\
@echo off | |
SET DIR=%~dp0% | |
@PowerShell -NoProfile -ExecutionPolicy unrestricted -Command "& '%DIR%setup.ps1' %*" | |
pause |
$scriptDir = $(Split-Path -parent $MyInvocation.MyCommand.Definition) | |
function Install-NeededFor { | |
param( | |
[string] $packageName = '' | |
,[bool] $defaultAnswer = $true | |
) | |
if ($packageName -eq '') {return $false} | |
$yes = '6' |
#!/usr/bin/python | |
import os | |
import json | |
imageInfo = dict() | |
def AddImageInfoForAssetDir(assetDir): | |
for root, dirs, files in os.walk(assetDir): |
#Requires -Version 3 | |
$ErrorActionPreference = 'Stop' | |
Set-StrictMode -Version 3 | |
# setup Chocolatey and apply patches | |
Write-Host 'Installing Chocolatey' | |
$Env:ChocolateyInstall = "$Env:SystemDrive\chocolatey" | |
$Env:ChocolateyBinRoot = "$Env:ChocolateyInstall\tools" | |
[Environment]::SetEnvironmentVariable('ChocolateyInstall', $Env:ChocolateyInstall, 'Machine') |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
Set-ExplorerOptions -showHidenFilesFoldersDrives -showProtectedOSFiles -showFileExtensions | |
Enable-RemoteDesktop | |
cinst 1password | |
cinst 7zip | |
cinst 7zip.install | |
cinst AdobeAIR | |
cinst adobereader | |
cinst Atom | |
cinst markdownpad2 |
Spurred by recent events (https://news.ycombinator.com/item?id=8244700), this is a quick set of jotted-down thoughts about the state of "Semantic" Versioning, and why we should be fighting the good fight against it.
For a long time in the history of software, version numbers indicated the relative progress and change in a given piece of software. A major release (1.x.x) was major, a minor release (x.1.x) was minor, and a patch release was just a small patch. You could evaluate a given piece of software by name + version, and get a feeling for how far away version 2.0.1 was from version 2.8.0.
But Semantic Versioning (henceforth, SemVer), as specified at http://semver.org/, changes this to prioritize a mechanistic understanding of a codebase over a human one. Any "breaking" change to the software must be accompanied with a new major version number. It's alright for robots, but bad for us.
SemVer tries to compress a huge amount of information — the nature of the change, the percentage of users that wil
if (Test-Path 'E:\Depot') | |
{ | |
$DepotPath = 'E:\Depot' | |
} | |
else | |
{ | |
$DepotPath = 'C:\Depot' | |
} | |
# Load posh-git example profile |
FROM ubuntu:14.04.2 | |
MAINTAINER chgeuer@microsoft.com | |
RUN apt-get update && \ | |
apt-get install mono-complete curl unzip && \ | |
mkdir /usr/local/orleans && \ | |
curl https://chgeuer.blob.core.windows.net/public/orleans1_0.zip > /usr/local/orleans/orleans1_0.zip && \ | |
cd /usr/local/orleans && \ | |
unzip orleans1_0.zip |