Skip to content

Instantly share code, notes, and snippets.

Agenda

  • formal administrative requirements
    • how these play out
  • purpose and structure
    • of a thesis
    • of an MRE
    • know the culture of your department!
  • DH can but doesn't have to mess with structure
  • Strategies
@shawngraham
shawngraham / getannotations.py
Last active August 22, 2022 18:54
extracting structured notes from PUBLIC hypothes.is annotations based on https://gist.github.com/judell/ca913dd64a29f852afd3
import requests, re, json, types, traceback
class HypothesisAnnotation:
def __init__(self, row):
"""Encapsulate relevant parts of one row of a Hypothesis API search."""
self.tags = []
if row.has_key('tags') and row['tags'] is not None:
self.tags = row['tags']
@shawngraham
shawngraham / demo.R
Last active May 16, 2022 19:32
demo for students of gist use
# demo for sharing a script
# in scripts, a hashtag (pound sign) = a comment (in markdown, it means a header)
# we create a variable called y, and give it a _string_ of text; in this case, the direct URL to a csv file
y <- "https://raw.githubusercontent.com/shawngraham/exercise/gh-pages/CND.csv"
# now we use the read.csv command to read the file address stored in 'y'; the results go into a dataframe called 'documents2'
documents2 <- read.csv(y)
@shawngraham
shawngraham / retrieve-theses-metadata.R
Created January 17, 2022 17:49
script to generate a table of metadata concerning theses in CURVE repository; curve is changing soon so this will become dated
library(rvest)
library(dplyr)
library(xml2)
library(stringr)
library(purrr)
base_url <- "https://curve.carleton.ca"
theses = data.frame()
Artifact Position_X Position_Y chip name
242 1110.973076 480.0500947 /Users/shawngraham/Documents/chips2/object1/0000000001.png
252 772.6520572 434.331038 /Users/shawngraham/Documents/chips2/object2/0000000001.png
1231 626.3510759 672.0701326 /Users/shawngraham/Documents/chips2/object3/0000000001.png
35 2059.369176 1630.107527 /Users/shawngraham/Documents/chips2/object4/0000000001.png
35 594.3477363 1275.56168 /Users/shawngraham/Documents/chips2/object4/0000000002.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@shawngraham
shawngraham / historygen.py
Last active October 28, 2020 14:57
A History Generator; Also Does Timelines!
#!/usr/bin/env python
# source: https://gamedev.stackexchange.com/questions/23659/is-there-a-way-to-procedurally-generate-the-history-of-a-world
# to create a visualisation, run like this:
# ./historygen.py --dot | dot -Tpng > filename.png
# brew install graphviz to get the dot files rendering
# to have the story, run like this:
# ./historygen.py
# have your state names in the names.txt file
# now, all of this *could* be done with tracery i suppose, but you can see the bones of the
# history system could be expanded to model other aspects, keep track of things, calculate new things.
@shawngraham
shawngraham / bib.xsl
Last active October 15, 2020 21:40
sample metadata from jstor-dfr, and an xsl file meant to turn it into a citations.tsv with: xsltproc bib.xsl *.xml > citations.tsv
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:for-each select="article/front">
"<xsl:value-of select="article-meta/contrib-group/contrib/string-name/surname" />, <xsl:value-of select="article-meta/contrib-group/contrib/string-name/given-names" />" <xsl:text>&#9;</xsl:text><xsl:value-of select="article-meta/pub-date/year" /> <xsl:text>&#9;</xsl:text> "<xsl:value-of select="article-meta/title-group/article-title" />" <xsl:text>&#9;"</xsl:text><xsl:value-of select="journal-meta/journal-title-group/journal-title"/>"<xsl:text>&#9;</xsl:text> "<xsl:value-of select="article-meta/volume" />(<xsl:value-of select="article-meta/issue" />)" <xsl:text>&#9;</xsl:text> "<xsl:value-of select="article-meta/page-range" />" <xsl:text>&#9;</xsl:text>"<xsl:value-of select="article-meta/article-id" />" <xsl:text>&#9;</xsl:text><xsl:value-of select="article-meta/self-uri" /><xsl:text>&#xA;</xsl:text>
</xsl:for-each>