Skip to content

Instantly share code, notes, and snippets.

View andrewabest's full-sized avatar

Andrew Best andrewabest

View GitHub Profile
@andrewabest
andrewabest / stub.ts
Created September 11, 2019 04:45
Basic typescript stubs
export function stub<T>(): T {
const typeAssertion = {} as T;
for (const prop in typeAssertion) {
if (typeAssertion.hasOwnProperty(prop)) {
typeAssertion[prop] = undefined;
}
}
return typeAssertion;
}
@andrewabest
andrewabest / about-me.md
Created August 25, 2019 11:05
DDD Adelaide 2019 Submissions

Andrew is a Principal Consultant with Readify, and has participated on enough interesting gigs in his time to have a tale or five to tell. Like many he has made some strong opinions along the way - some of which even pertain to software; but is always ready to revise them if a convincing argument (and possibly a cleansing ale) is supplied!

@andrewabest
andrewabest / about-me.md
Last active October 3, 2018 04:58
DDD Brisbane 2018 Submissions

Andrew is a Principal Consultant with Readify, and has participated on enough interesting gigs in his time to have a tale or five to tell. Like many he has made some strong opinions along the way - some of which even pertain to software; but is always ready to revise them if a convincing argument (and possibly a cleansing ale) is supplied!

@andrewabest
andrewabest / DOD.md
Created October 22, 2015 22:45
Team Charter and Definition of Done

“Done” has a special meaning in agile projects. It’s not “done but…” or “done except…” but “Done” with a capital D. This means that a story or task has satisfied all of its acceptance criteria and our global done criteria.

  • Acceptance criteria satisfied.
  • All code written.
  • All tests pass.
  • There are (at least some) tests for new code.
  • Tests (at least one) added when touching existing code.
  • Build is green.
  • Code merged to refs/heads/develop via PR
  • Deployed to CI
@andrewabest
andrewabest / Instructions.md
Last active February 16, 2018 05:46
CI for Cordova (iOS) via VSTS, MacInCloud and HockeyApp

Install the Cordova Build and HockeyApp VSTS extensions into your VSTS tenant.

Sign up for a MacInCloud account, and create a VSTS build agent.

Create a pool for your agent in VSTS: https://support.macincloud.com/support/solutions/articles/8000016614-getting-started-with-the-macincloud-vsts-previously-vso-build-agent-plan and configure the agent following the instructions in the article.

Sign up for a HockeyApp account. Create an API token that VSTS will use to talk to HockeyApp via Account Settings > API Tokens.

For HockeyApp, create a service endpoint in VSTS: https://support.hockeyapp.net/kb/third-party-bug-trackers-services-and-webhooks/how-to-use-hockeyapp-with-visual-studio-team-services-vsts-or-team-foundation-server-tfs#installation-for-vsts

@andrewabest
andrewabest / motivation.md
Last active February 6, 2018 03:33
What motivates developers?

A pyramid, much like Maslow's heirarchy of needs

Peak: Impact and Purpose

  • Seeing the results of the physical and emotional investment in our work, regularly
  • Realizing our visions
  • Validation of the efforts we expended and decisions we made with autonomy
  • Quantifying and celebrating the impact we have had on peoples lives via our work
  • Recieving reward, praise, or other kind of recognition for our accomplishments
  • Outcomes over output
@andrewabest
andrewabest / dbdown.bat
Last active January 15, 2018 05:57
SQL Server on Linux Docker local dev
ECHO OFF
docker stop mssql-myproj-dev
docker rm mssql-myproj-dev
@andrewabest
andrewabest / 1 - Getting Started.md
Last active December 11, 2017 06:30
React Native development on Windows

React Native on Windows

So I've started looking into React Native, as mobile development is still a very hot topic, and I would like to do x-plat mobile development that provides a native experience, but doesn't suck for the developer (I'm looking at you Xamarin). I'm a big fan of React, and doing mobile dev that allows hot-reloading during the dev cycle sounds too good to be true.

I'm also going to be building this app with my son, who is 6. It is going to be for him to track his jobs (chores) and income (pocket money), and track savings and goals - encouraging some financial literacy and hopefully letting him reason about the money he makes and what he can do with it! I'm hoping JSX and Javascript will make for a clean and clear way to teach some of the concepts we will use for building the app. Even running through the boilerplate, it was quite simple to explain to him that a <Text> element in the JSX made the app display some text for us. A good start!

If you follow alon

@andrewabest
andrewabest / example-components.html
Last active June 14, 2017 02:37
Independent React Components
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.0/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.0/react-dom.js"></script>
<style>
.componentContainer {
padding:10px;
margin-bottom:20px;
border: 1px solid #000;
@andrewabest
andrewabest / Deploy.ps1
Created February 2, 2014 22:49
An example Octopus deployment script for WPF ClickOnce applications.
Write-Host 'Copy the package payload over to the clickonce web application location'
$source = ".\"
$dest = "C:\Octopus\Applications\${OctopusEnvironmentName}\NextGen.ClickOnce\${OctopusPackageVersion}\Package"
$exclude = @('*.pdb','mage.exe', '*.ps1', '*Build*', '*.pfx')
$appManifestName = "${OctopusPackageName}.exe.manifest"
$appManifestPath = Join-Path $dest $appManifestName
$deployManifestPath = Join-Path $dest "${OctopusPackageName}.application"