Skip to content

Instantly share code, notes, and snippets.

View AriFordsham's full-sized avatar

AriFordsham

View GitHub Profile
@AriFordsham
AriFordsham / playground.sh
Last active October 19, 2021 11:31
Start plutus playground
#! /usr/bin/env nix-shell
#! nix-shell -i bash /home/ari/plutus/shell.nix
# CUSTOMIZE ^^^^^^^^^^^^^^^^
# Start the Plutus Playground web server. Works from outside a nix shell, from any directory.
# You'll need to put in the path to the Plutus repo in two places. The shebang above doesn't support `~`.
set -eu
cd ~/plutus/plutus-playground-client
@AriFordsham
AriFordsham / programming-vs-scripting.md
Last active October 12, 2021 12:48
Programming vs. scripting languages

Programming languages vs. scripting languages

Programming languages began as a veneer over assembly language. They were close to the machine and tedious to program - the state of compiler technology was not advanced enough to support the many features that programmers would find useful, even if they could envision them.

To plug this gap, the idea of an interpreted language was born. This provided a way to write small programs - scripts - in an easier style. Performance was not critical, as the scripts were generally for simple tasks, and may only needed to have run once or occasionally. An entire folklore of interpreter writing techniques developed - it was much easier to implement useful, time-saving features in an interpreter than in a compiler.

At this point, the types of language supported by interpreters and compilers were very different. Interpreted programs were not considered mature enough for production use, hence they were known as 'scripting' languages, as opposed to compiled languages used fo

@AriFordsham
AriFordsham / Plutus pioneer program build instructions.md
Last active October 6, 2021 19:30
Plutus pioneer program build instructions

You need three dependencies to build a Plutus project:

  • nix
  • git
  • wget
  1. If you don't have git and wget, you'll need to get them from your package manager.

  2. Install nix

@AriFordsham
AriFordsham / .git-hooks-pre-commit
Created July 5, 2021 16:42
How I reduced my Haskell CI time by 84% - code snippets
sh ci/build.sh

Keybase proof

I hereby claim:

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

To claim this, I am signing this object:

Version 2.5.1, Git revision d6ab861544918185236cf826cb2028abb266d6d5 x86_64 hpack-0.33.0
2021-04-13 14:29:12.746145: [debug] Checking for project config at: /home/ari/fcm-deepref-experiment/stack.yaml
2021-04-13 14:29:12.746311: [debug] Loading project config file stack.yaml
2021-04-13 14:29:12.751117: [debug] (SQL) SELECT COUNT(*) FROM "last_performed" WHERE ("action"=?) AND ("timestamp">=?); [PersistInt64 1,PersistUTCTime 2021-04-12 13:29:12.7510926 UTC]
2021-04-13 14:29:12.751581: [debug] Using package location completions from a lock file
2021-04-13 14:29:12.754675: [debug] Loaded snapshot from Pantry database.
2021-04-13 14:29:12.995357: [debug] RawSnapshotLayer {rslParent = RSLCompiler (WCGhc (mkVersion [8,10,4])), rslCompiler = -- truncated
2021-04-13 14:29:13.091082: [debug] Running hpack on /home/ari/fcm-deepref-experiment/package.yaml
2021-04-13 14:29:13.096965: [debug] hpack output unchanged in /home/ari/fcm-deepref-experiment/fcm-deepref-experiment.cabal
2021-04-13 14:29:13.100577: [debug] Asking