Skip to content

Instantly share code, notes, and snippets.

View cfeduke's full-sized avatar

Charles Feduke cfeduke

View GitHub Profile
@cfeduke
cfeduke / ShardedJdbcRDD.scala
Last active August 29, 2015 14:14
JDBC RDD for Spark when data is pre-sharded across databases.
package org.apache.spark.rdd
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
@cfeduke
cfeduke / bin_deploy
Last active August 29, 2015 14:14
Scala Spark with sbt-assembly example configuration
#!/usr/bin/env bash
set -o nounset
set -o errexit
readonly default_env="${0#*-}"
readonly ENV=${1:-$default_env}
readonly JAR_NAME="your-analytics.jar"
readonly UPLOAD_JAR=`dirname $0`/../target/scala-2.10/$JAR_NAME
@cfeduke
cfeduke / aliases
Created January 28, 2015 13:40
find-java-class
find-java-class () {
find . -name '*.jar' -type f -exec sh -c "jar -tf {} | grep -H --label {} \"$1\.class$\"" \;
}
@cfeduke
cfeduke / DumbSpamFilter.js
Last active October 3, 2022 16:30
Gmail spam is entirely out of control in 2022
// hah silly human # is for Python comments!
// created in Google Apps Script and scheduled to run every minute
function processInboxEmailSubjects() {
var threads = GmailApp.search("is:unread newer_than:1d -label:spam")
Logger.log("Examining " + threads.length + " threads for spam by checking the subject line")
for (var i = 0; i < threads.length; i++) {
var subject = threads[i].getFirstMessageSubject()
const regex = /confirmation#/i
let isSpam = regex.test(subject)
// TODO other tests as necessary for your particular spam hell