DougieWougie

Supporting the third sector with their technology challenges

A passion for solving problems

  • Another site live!

    Tarbat Discovery Centre requested a new website for their Discovery Centre at the start of the year, which is now deployed!

    Working closely with a designer was a great experience and the charity are pleased with the result.

    Avoiding complexity and using hosted solutions minimise maintenance and training for the charity, allowing them to focus on their core mission.


  • The Psychology of Money

    The Psychology of Money

    The Psychology of Money by Morgan Housel is a captivating exploration of financial decision-making through the lenses of history and psychology. Here are five takeaways from the book:

    • Financial Success Is Not About Formal Education or High Income: Housel contrasts two individuals: Ronald Read, an uneducated janitor who invested wisely and left millions in his will, and Richard Fuscone, a finance professional who lost everything due to overspending during the 2008 financial crisis. The lesson? Financial success depends more on **soft skills**—how we manage our psychology and emotions—than technical financial expertise.
    • Understanding Our Biases and Emotions: Our backgrounds and childhood experiences shape our perception of money, risk, and financial management. Recognising our biases and emotional impulses is crucial for making rational decisions about money.
    • Long-Term Thinking and Patience: Housel recommends holding long-term diversified stock portfolios and allowing them to compound over time. Patience pays off; avoid chasing short-term gains and focus on the big picture.
    • Ego and Humility in Finance: Ego-driven spending on status symbols can hinder financial success. Humility and a wary attitude toward the future are essential for making sound financial choices.
    • Margin for Error and Saving for the Future: Always operate with a margin for error—unexpected events happen. Save consistently for the future, even if it’s a small amount. Compound interest works wonders over time.

    The Psychology of Money emphasises that financial well-being is not just about numbers; it’s about understanding ourselves, managing emotions, and making thoughtful choices.


  • Setup a Multipass CDK Environment

    I want to be able to connect to the environment using Visual Studio Code, so first we need to create a SSH key:

    ssh-keygen -t rsa

    We need a configuration YAML, replace <generated ssh-rsa key> with the above key, saved as cloud-init.yaml:

    groups:
      - vscode
    runcmd:
      - adduser ubuntu vscode
    ssh_authorized_keys:
      - ssh-rsa <generated ssh-rsa key>

    Assuming you’ve got Multipass installed (if not sudo snap install multipass) then:

    multipass launch mantic --name ubuntu-cdk --cloud-init 

    We’ll come back to Visual Studio Code later but first lets set everything up in the VM. We need to install aws-cli which I want to use with SSO (hence why we installed Mantic).

    multipass shell ubuntu-cdk
    sudo apt install awscli
    aws configure sso

    Follow the prompts and sign in to AWS as usual. Then install CDK:

    sudo apt install nodejs npm
    sudo npm install -g aws-cdk

    Almost there, lets bootstrap1 (provisioning resources needed to make deployments) substituting the relevant values:

    cdk bootstrap aws://<account>/<region> --profile <profile>

    You should see a screen like this:

    Create a new CDK application by creating a new folder, changing into it and initialising CDK:

    cdk init app --language python
    source .venv/bin/activate
    python -m pip install -r requirements.txt

    And that’s about it, except for Visual Studio Code. You’ll need to install Microsoft’s Remote-SSH extension:

    You can get the IP address from multipass list, then in Code add a new SSH connection using ubuntu@<ip>:

    Accept the various options presented and you’re there!

    VSCode
    1. Bootstrapping provisions resources in your environment such as an Amazon Simple Storage Service (Amazon S3) bucket for storing files and AWS Identity and Access Management (IAM) roles that grant permissions needed to perform deployments. These resources get provisioned in an AWS CloudFormation stack, called the bootstrap stack. It is usually named CDKToolkit. Like any AWS CloudFormation stack, it will appear in the AWS CloudFormation console of your environment once it has been deployed. ↩︎