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!
export function stub<T>(): T { | |
const typeAssertion = {} as T; | |
for (const prop in typeAssertion) { | |
if (typeAssertion.hasOwnProperty(prop)) { | |
typeAssertion[prop] = undefined; | |
} | |
} | |
return typeAssertion; | |
} |
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!
“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
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
A pyramid, much like Maslow's heirarchy of needs
- 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
ECHO OFF | |
docker stop mssql-myproj-dev | |
docker rm mssql-myproj-dev |
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
<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; |
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" |