Skip to content

Instantly share code, notes, and snippets.

sealed trait CrawledUrl { val url: URl }
case class PendingURL extends CrawledUrl(url: URL)
case class InFlightURL extends CrawledUrl(url: URL)
case class VisitedURL extends CrawledUrl(url: URL)
object UrlSource2 {
val urlStore: scala.collection.concurrent.Map[URL, CrawledUrl]
def completeTask(doneUrl: URL): Unit = {
urlStore.updateWith(doneUrl, VisitedURL(doneUrl.url))
@kenoir
kenoir / example.md
Last active October 15, 2021 15:40
Section header GitHub Markdown test

Section & Header (1)

Link to next section

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eget nisi scelerisque, molestie mi consectetur, rhoncus ipsum. Donec lacinia sapien id ultricies pretium. Praesent non mattis ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec scelerisque placerat sapien vitae cursus. Etiam quis nisi eu urna congue rutrum eget at massa. Integer lobortis consequat eleifend. Nulla at tortor justo. Quisque purus lorem, aliquam ac tellus id, pellentesque molestie risus. Ut sit amet sapien mollis, auctor libero vitae, elementum nibh. Vestibulum sed diam eu nulla tincidunt maximus. Proin faucibus vulputate risus, nec sagittis elit interdum ut. Sed consectetur leo vitae nisi congue ultrices. Nam eget felis congue, commodo eros et, vehicula metus. Quisque convallis pretium eros tincidunt consectetur.

Sed augue arcu, posuere et volutpat ut, consectetur vitae elit. Ut eu arcu maximus, vestibulum ante sit amet, ultricies magna. Maecenas

@click.command()
@click.pass_context
def merge_chunks_index(ctx):
local_elastic_client = get_local_elastic_client()
import json
from pprint import pprint
import sys
import elasticsearch
@kenoir
kenoir / es_curl_count
Created November 11, 2020 13:14
Count the documents in which a field exists in Elasticsearch using curl
curl -s localhost:9200/chunks/_count -H 'Content-Type: application/json' -d '{"query": { "bool": { "must": [{"exists":{"field":"transfer_package"}}] } } }' | jq ".count"
@kenoir
kenoir / mount_nvme_ec2
Last active November 11, 2020 10:58
Mount NVMe from AWS i3 instance on Amazon Linux
# Identify nvme_drive
lsblk
# Mount the drive
sudo mkfs -t xfs /dev/nvme_drive
sudo mkdir /data
sudo mount /dev/nvme_drive /data
sudo chown ec2-user /data
# Checkout a fresh copy of the repo you want to pull the code from
git clone git@github.com:wellcomecollection/scala-SOMELIB.git
# Move into the freshly checked repo
cd scala-SOMELIB
# Filter history for a particular directory
git filter-branch --subdirectory-filter SOMELIB -- --all
# Rearrange things as you'd like them
@kenoir
kenoir / userdata.sh
Last active June 12, 2020 07:34
Quick setup EC2 Linux for storage service work
#!/bin/bash
sudo yum update -y
# Setup docker
sudo amazon-linux-extras install docker
sudo service docker start
sudo usermod -a -G docker ec2-user
# Setup docker-compose
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
@kenoir
kenoir / sync_hosted_zones.py
Created June 4, 2020 16:23
This script can be used to sync and confirm record sets between Route53 Hosted Zones.
#!/usr/bin/env python3
"""
This script can be used to sync and confirm record sets between Route53 Hosted Zones.
"""
from pprint import pprint
import uuid
import boto3
import click
package things
import java.time.Instant
import com.sksamuel.avro4s.AvroSchema
import org.apache.avro.Schema
object World extends App {
sealed trait User {
Flock flock;
void setup() {
size(800, 800);
flock = new Flock();
// Add an initial set of boids into the system
for (int i = 0; i < 350; i++) {
flock.addBoid(new Boid(width/2,height/2));
}
}