Skip to content

Instantly share code, notes, and snippets.

View christianromney's full-sized avatar
🏠
Working from home

Christian Romney christianromney

🏠
Working from home
View GitHub Profile

Problem Solving

Analysis and Design Process

Why do we write problem statements?

  • to solve some problems hopefully

What kinds of problems?

  • developing a shared understanding

Keybase proof

I hereby claim:

  • I am christianromney on github.
  • I am christianromney (https://keybase.io/christianromney) on keybase.
  • I have a public key ASDQT7Xc5VEM9sVNu2_EjdbyCizbbreD-x3qiLBzvP0-nwo

To claim this, I am signing this object:

The Socratic Method: A Practitioner’s Handbook

Chapters 1-5

  • TODO: backfill notes

Elements of the Socratic Method

  1. proceeds by question and answer
    • some questions are open ended (especially in the beginning)
    • e.g. propose a definition
    • the person being questioned is the partner of the inquirer
  2. focus on consistency of statements
    • consistency is probed with the elenchus
;; -*- geiser-scheme-implementation: 'mit -*-
(load "sdf/manager/load")
(manage 'new-environment 'combinators)
#!/bin/bash
#
# DESCRIPTION
# utility to aid in the setup of temporary AWS assumed role credentials
#
# USAGE
# pipe the output of aws sts assume-role to this script and redirect the output
# to append the temporary credentials to your $HOME/.aws/credentials
#
# you may supply a profile name as an argument. if you do not, then one is generated

Concurrency on the JVM

Thread - this class represents a thread of execution. Unit of scheduling on the CPU.

ThreadLocal - a per-thread variable not visible to other threads

ThreadGroup - a grouping that allows convenient management for set of threads

hierarchical tree

all threads can see their group, but not necessarily their group’s parent group

ForkJoinTask - a thread-like entity that is much lighter weight than a normal thread

Runnable - an interface that classes wanting to execute in a thread should implement: void run()

Future - the result of an asynchronous computation

Huge numbers of tasks and subtasks may be hosted by a small number of actual threads

@christianromney
christianromney / datomic-system-name.sh
Last active November 20, 2019 12:26
Bash script to get the Datomic Cloud system name
#!/usr/bin/env bash
set -eo pipefail
if [[ "$#" -eq 0 ]]; then
cat <<EOF
usage: $(basename $0) <REGION> [OPTIONS]
REGION - a valid AWS region e.g. us-east-1
OPTIONS - any valid AWS CLI options e.g. --profile home
EOF
@christianromney
christianromney / counterintel.bash
Last active July 10, 2019 16:07
Who's listening on your machine?
#!/usr/bin/env bash
echo "The following programs are listening for incoming connections:"
lsof -i | grep LISTEN | awk '{print $1}' | sort | uniq | while read x; do
printf "%10s \n\t %s" "$x" (psgrep $x | sed 1d | awk '{print $11}' | sort | uniq); printf "\n\n"
done
@christianromney
christianromney / family.rkt
Created April 17, 2019 02:34
Exploring Racket's Datalog implementation
#lang datalog
% -- facts -- %
female(georgene).
female(randi).
female(nikki).
female(jenny).
female(jen).
female(taylor).
#lang racket
(define es (list 1 2 3))
(define base
(lambda (k)
(lambda (es)
'())))
(define step
(lambda (k)