Skip to content

Instantly share code, notes, and snippets.

Zack Batist zackbatist

Block or report user

Report or block zackbatist

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@zackbatist
zackbatist / carpentries-training-workshop.md
Last active Jul 19, 2019
My notes from the carpentries training workshop
View carpentries-training-workshop.md
View QueryResults function.R
#QueryInputs is a list or dataframe containing selectInput values
#We would just have to update the QueryInputs object and then re-run QueryResults to refresh the output and regenerate the table (I hope)
QueryResults <- function(QueryInputs) {
Level2 <- dbReadTable(pool, 'level2')
filtered <- Level2
if (!is.null(QueryInputs$Locus)) {
filtered <- filtered %>% filter(Locus %in% QueryInputs$Locus)
}
if (!is.null(QueryInputs$Blank)) {
@zackbatist
zackbatist / getHex.gs
Created Feb 17, 2019
Google Sheets function that returns the hex code for the background colour of a cell
View getHex.gs
/**
* getHex.gs
* =getHex(cell("address",A1)) returns hex code for background colour of cell A1
* taken from https://stackoverflow.com/questions/28962526/google-spreadsheets-sort-filter-by-background-fill
*/
function getHex(input) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getRange(input);
var result = cell.getBackground();
@zackbatist
zackbatist / FetchAbstracts.R
Created Sep 19, 2018
A small script that reads DOIs from a bibtex file, fetches abstracts from Crossref when they are available, and exports another bibtex file with that added info.
View FetchAbstracts.R
# install and run packages
# install.packages("bib2df")
# install.packages("rcrossref")
library(bib2df)
library(rcrossref)
# import the bibtex to a data frame
# biblio.bib is a file in the working directory
df <- bib2df("biblio.bib")
View GS01a.bib
@article{pop00001,
author = {M Rothenberg},
type = {HTML},
title = {Review of Cadw Mobile App [application]},
journal = {Internet Archaeology},
publisher = {intarch.ac.uk},
url = {http://intarch.ac.uk/journal/issue44/14/},
year = {2017},
note = {Query date: 2018-09-10},
}
View Quals reading lists.md

Quals reading lists

Methodological approaches to understanding and representing (archaeological) knowledge work - Costis Dallas

This reading list explores the different ways in which research practice and knowledge construction may be studied. It surveys various relevant methodologies, and assesses the implications that come to bear through their use. What kinds of information are collected through different data collection protocols? How does this contribute to different research outcomes down the road? How might insights garnered through different approaches lead to different ways of extending or applying them? How might the freedom and flexibility afforded by the use of grounded theory be leveraged effectively?

Theoretical and applied approaches to cognition and action - Matt Ratto

The starting point for this reading list is the assumption that archaeological projects be considered as cooperatively constructed socio-technical mechanisms that are iteratively designed and tinkered with to construct

View SNAP DIY Database Docs.md

Overview of the system

I put together a little DIY fieldwork database server using nearly entirely open source tools and software. It consists of a Raspberry Pi operating on a local network, which contains a MariaDB server, a SMB file sharing server, an R Shiny server, and automatic scheduled backups, but can be configured or extended to suit whatever situation you're in. This is a more collaborative and distributed setup than a typical Microsoft Access setup (or even worse, a series of scattered spreadsheets :z), since multiple users can simultaneously enter data stored in a unified and central directory, share files across the network, and browse what's going on across an entire project. Microsoft Access, on the other hand, is proprietary, expensive and windows-only software that has poor multi-user support and the learning curve is steeper than its worth (I could go on...).

Moreover, this is a very inexpensive and portable setup. In terms of hardware, you will need a 35$ Raspberry Pi, a 32GB SD card (al

View media-processing.md

Detailed media editing procedure for my thesis

My thesis involves the use of multiple GoPro action cameras, as well as an external microphone, to observe work being done from multiple angles and perspectives. This file outlines how I process all the media that I collect.

Hardware

GoPro Hero 4 Silver action cameras

Three refurbished GoPro Hero 4 Silver action cameras are used. Each writes to a 64GB microSD card, which I reformatted to the exFAT file system. exFAT limits the size of each file to 4GB, so I have to concatenate the split mp4 files using ffmpeg. Also, GoPro action cameras record notoriously poor quality audio, and attempts to clean the audio may produce varying results depending on the circumstances under which you are recording.

SONY ICD-UX560 audio recorder

I use a SONY ICD-UX560 audio recorder as an additional source for audio input, to fall back on in case cleaning the GoPro audio fails or is insufficient. It comes with 4GB of built-in storage include an additional 32GB microSD c

View How to create a list of reflection posts in github pages.md

How to create a list of reflection posts in github pages:

  1. Create a repository.
  2. Create a second branch called gh-pages.
  3. Create your index file. The goal is to have a blurb introducing your work, and then a list of dated posts.
  4. Include a folder for stylesheets, as well as a favicon, readme or whatever other resources you need to make the site functional and good-looking.
  5. In a folder called posts, drop similarly styled html files with the text replaced with the new post. In my workflow, I'm writing the posts elsewhere and then editing them to remove confidential or personally identifying information. It might be a good idea to keep a blank html template file as one of my site resources.
  6. Create a new line in the main page's html file that links to the corresponding post (structured thusly: https://username.github.io/repository/posts/post1.html) and you're all set!
View chronology.csv
We can make this file beautiful and searchable if this error is corrected: It looks like row 10 should actually have 12 columns, instead of 11. in line 9.
Period,Begin (cal BC),End (cal BC),Levant,Middle Euphrates,El Rouj Region,Cyprus,Northern Mesopotamian,Southern Mesopotamia,Khabur Region,Deh Luran Region,Northwestern Iran
0,,12500,Epi-Palaeolithic,,,,Epi-Palaeolithic / Zarzian,,,,
1,12500,9500,Natufian / Proto-Neolithic,,,Akrotiri Phase,,,,,
2,10500,8300,PPNA / Proto-Neolithic,Neolithic 1,,PPNA,,,,,
3,8300,7600,Early-Middle PPNB,Neolithic 2,,Sotira,,,,,
4,7600,6900,Late PPNB,Neolithic 2,El-Rouj 1,Late PPNB,Late PPNB,,,Bus Moreh,
5,6900,6400,Final PPNB / PPNC,Neolithic 3,El-Rouj 2a/b,Khirokitia,Final PPNB / Proto-Hassuna / Archaic Hassuna,Ubaid 0,Proto-Hassuna,Ali Kosh,
6,6400,5800,Yarmoukian / Amuq A,,El-Rouj 2c,Khirokitia,Archaic Hassuna / Hassuna / Samarra / Pre-Halaf / Proto-Halaf,Ubaid 1-2,Proto-Hassuna,Mohammed Jaffar / Sefid,Hajji Firuz / Hasanlu X
7,5800,5400,Jericho IX / Amuq B,,El-Rouj 2d/3,Khirokitia,Halaf,Ubaid 2,Samarra / Halaf,Surkh,Hajji Firuz / Hasanlu X
8,5400,5000,Amuq C-D,,El-Rouj 4,Khirokitia / Sotira,Northern Ubaid,Ubaid 3,,Sabz / Choga
You can’t perform that action at this time.