Skip to content

Instantly share code, notes, and snippets.

@jonnyarnold
jonnyarnold / keybase.md
Last active December 12, 2019 10:48
keybase.md

Keybase proof

I hereby claim:

  • I am jonnyarnold on github.
  • I am jonnyarnold (https://keybase.io/jonnyarnold) on keybase.
  • I have a public key ASBDIrjHKa6MOGlaqvIoax0by7R2sR1e1BeAcGLJuRJFLAo

To claim this, I am signing this object:

@jonnyarnold
jonnyarnold / game.md
Last active March 15, 2016 17:50
Optimal Foraging Theory: The Game

Decision-Making: An Experiment

Participant Instructions

Let's play a game.

The aim is to have the most points at the end of the game.

On every turn of the game, you can either:

  • Lose 1 point and take a card. A card is worth points.

Why?

  • It's fun.
  • It's useful.
    • Knowledge of how languages work is useful when you hit a really weird bug.
    • It gives you an appreciation of how languages are designed for the use case. It reduces WTFs.
  • I can say I've built a programming language; looks great on the CV!
  • It lets me experiment - are there features that could be better? Is there a combination we haven't tried?
  • It's hard. I like hard challenges.

How did you learn?

@jonnyarnold
jonnyarnold / 1.md
Last active June 15, 2017 15:40
SOLID Workshops

Workshop 1

What is SOLID?

Requirements always change. We need to write code that is able to change in the future. The process of doing so is usually called design. Design principles are often-cited rules that lead to easily-changed code. Design principles have been derived from the initial goal: to have easily-changed code. They are not arbitrary rules. SOLID principles are an often-used set of design principles.

@jonnyarnold
jonnyarnold / PlanForChange
Last active August 29, 2015 14:04
Plan for Change
Plan for Change
MOTIVATION
- Change is inevitable:
- Requirements change
- Teams change
- Technology changes
This talk aims to answer the question, "how do I deal with these changes?"
@jonnyarnold
jonnyarnold / Pointers.md
Last active August 29, 2015 14:04
An introduction to pointers in C

Let's assume we have a 16-bit computer with 4 words of memory (= 8 bytes, really underpowered!) that we can store variables in. Let's label them 01-04 and write out what's in them in binary:

Memory
00: 0000
01: 0000
02: 0000
03: 0000