Skip to content

Instantly share code, notes, and snippets.

View elropero's full-sized avatar

Andrew Roper elropero

View GitHub Profile
@elropero
elropero / sync_elasticsearch_indices.py
Last active April 22, 2026 15:38
Standalone Elasticsearch index sync script with Doppler support
#!/usr/bin/env python3
"""Sync Elasticsearch indices from a source VM to a destination (VM or local Docker).
Requires: elasticdump (npm install -g elasticdump)
## Common scenarios
### 1. Production VM → Local Docker (dev sync)
```bash
[
{
"category": "Books (Peer-Reviewed)",
"publications": [
"2025 \u2014 \"Mal-Nutrition: Maternal Health Science and the Reproduction of Harm.\" https://www.ucpress.edu/book/9780520404427/mal-nutrition University of California Press. Open Access. Winner of the 2025 Rachel Carson Prize, the 2025 Diana Forsythe Prize, and the 2025 Eileen Basker Memorial Prize.",
"Reviewed in Medical Anthropology Quarterly: Howes-Michel, Rebecca. 2025. https://anthrosource.onlinelibrary.wiley.com/doi/10.1111/maq.70004 39(3):e700004.",
"2023 \u2014 \"The Ethnographic Case: Telling Stories, Shaping Knowledge.\" https://www.matteringpress.org/books/the-ethnographic-case-2nd-edition Edited with Christine Labuski. Mattering Press. 2nd Edition.",
"2018 \u2014 \"The Ethnographic Case.\" Edited with Christine Labuski. https://www.matteringpress.org/books/the-ethnographic-case 1st Edition (online only).",
"2015 \u2014 \"The Weight of Obesity: Hunger and Global Health in Postwar Guatemala.\" https:/
import requests
import json
#----PERFORM PODCAST SEARCH -----#
def search_podcasts(keyword):
url = 'https://itunes.apple.com/search'
params = {
'term': keyword,
'media': 'podcast',

Keybase proof

I hereby claim:

  • I am elropero on github.
  • I am andrewroper (https://keybase.io/andrewroper) on keybase.
  • I have a public key ASAh35wWGwllGUza9EzrJLs31aOjJYsxKCb1kCJJIfW6eQo

To claim this, I am signing this object:

Landing:
-------
* Low-res Bag image at bottom of landing screen only a placeholder
Login
----
* Zipcode gating screen after sign-in forthcoming
* Google signup not configured yet
Onboarding
@elropero
elropero / accuweather.py
Created September 25, 2017 22:40
Scrape accuweather forecasts
from urllib2 import urlopen
from bs4 import BeautifulSoup
# Load the raw html
url = 'https://m.accuweather.com/en/us/corvallis-or/97330/extended-weather-forecast/40971_pc'
response = urlopen(url)
page = response.read()
# parse with BS
soup = BeautifulSoup(page, 'html.parser')
@elropero
elropero / taxonomy-spheres-ethnographiccase.php
Last active March 17, 2016 10:48
Adding a new ethnographic case
<?php
/**
* @package WordPress
* @subpackage themename
*/
get_header(); ?>
<!-- START -->