Skip to content

Instantly share code, notes, and snippets.

View ccampo133's full-sized avatar

Chris Campo ccampo133

View GitHub Profile
#!/bin/bash
sophosPID=$(ps -ax | grep Sophos | awk '{print $1}')
kill -9 $sophosPID
sudo rm -R /Library/Sophos\ Anti-Virus/
sudo rm -R /Library/Application\ Support/Sophos/
sudo rm -R /Library/Preferences/com.sophos.*
sudo rm /Library/LaunchDaemons/com.sophos.*
sudo rm /Library/LaunchAgents/com.sophos.*
@ccampo133
ccampo133 / DatetimePlayground.swift
Last active September 30, 2019 16:00
DateTime Parsing Playground
import UIKit
// Requires iOS 11+ / macOS 10.13+
extension ISO8601DateFormatter {
static var ISO8601WithFractionalSeconds: ISO8601DateFormatter {
let formatter = ISO8601DateFormatter()
formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
return formatter
}
@ccampo133
ccampo133 / suffmv
Created August 8, 2019 03:26
Rename the suffix of a bunch of files
#!/usr/bin/env sh
# Usage:
# suffmv fromext toext files...
#
# Changes the suffix from `fromext` to `toext`. Adds suffix `toext` if the file
# didn't have the suffix `fromext`
#
# Examples:
# suffmv .c .old main.c foo.c bar.c
# suffmv .c .c.old *.c
@ccampo133
ccampo133 / prefmv
Last active August 8, 2019 03:24
Rename the prefix of a bunch of files
#!/usr/bin/env sh
# Usage:
# prefmv frompref topref files...
#
# Changes the prefx from `frompref` to `topref`. Adds prefix `topref` if the file
# didn't have the prefix `frompref`
#
# Examples:
# prefmv main oldmain main.c main.java main.cpp
# prefmv main oldmain main*
@ccampo133
ccampo133 / mfa
Created August 8, 2019 02:41
Generate an MFA TOTP token. Secret keys are stored in your ~/.mfa directory
#!/usr/bin/env bash
#
# Generate an MFA TOTP token. Secret keys are stored in your ~/.mfa directory
#
# Requires oathtool: http://www.nongnu.org/oath-toolkit/man-oathtool.html
#
# Example: I might have the following...
# $ cat ~/.mfa/aws.mfa
# ASDLJGJ893AS7JJF83NLSD9RTSMF81NSLA85SNSA81MASNFHG75KAKSKJV0192F7
#
@ccampo133
ccampo133 / CurrencyFormatting.kt
Last active April 24, 2023 07:38
Currency formatting
import java.math.BigDecimal
import java.text.NumberFormat
import java.util.Currency
import java.util.Locale
fun main(args: Array<String>) {
val locales = listOf(
Locale.FRANCE,
Locale.GERMANY,
Locale.UK,
@ccampo133
ccampo133 / nukecouch.sh
Created November 13, 2018 16:08
Utility scripts for running Couchbase in a container
#!/usr/bin/env bash
stopcouch
rm -rf ~/couchbase
@ccampo133
ccampo133 / BackgroundWatchdog.kt
Created April 4, 2018 18:56
Background watchdog in Kotlin using co-routines
/**
* Copyright 2018 C.J. Campo
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
@ccampo133
ccampo133 / InfiniteRetry.kt
Last active January 20, 2021 04:13
Infinite retry with exponential backoff in Kotlin using co-routines
/**
* Copyright 2018 C.J. Campo
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
@ccampo133
ccampo133 / keybase.md
Created February 7, 2016 16:49
Keybase ID

Keybase proof

I hereby claim:

  • I am ccampo133 on github.
  • I am ccampo (https://keybase.io/ccampo) on keybase.
  • I have a public key whose fingerprint is F0B4 68E0 F0B2 AA1B 3D12 9576 AEC6 56A2 0FD9 1A0E

To claim this, I am signing this object: