Skip to content

Instantly share code, notes, and snippets.

View raindev's full-sized avatar

Andrew Barchuk raindev

View GitHub Profile
@raindev
raindev / ihac-costs.sh
Created March 7, 2023 17:47
Retrieve cost history for the services that participate in iHAC
#!/bin/bash
set -euo pipefail
services=(
fashion-store-api
fjord
cliff
coast-cart-service
quote-service
coast-checkout-service
@raindev
raindev / getthread.js
Last active February 18, 2021 16:26
A JS bookmarklet to get URLs of Google Chat threads
javascript:(function() {
Array.from(document.getElementsByTagName('c-wiz'))
.map(tag => ({
threadId: tag.getAttribute('data-topic-id'),
firstMessage: tag.children[0].getAttribute('aria-label')
}))
.filter(thread => thread.threadId != null && thread.firstMessage != null)
.forEach(thread => console.log(window.location.href + '/' + thread.threadId
+ " : " + thread.firstMessage))
}())
@raindev
raindev / main.rs
Created May 30, 2018 07:00
Rust generic constraints
trait Wrap {
fn pass<F>(&self, consumer: F) where F: Fn(&Self) {
consumer(self)
}
}
struct Stringy(String);
impl Wrap for Stringy {
}
@raindev
raindev / checkout-retry.sh
Created May 26, 2017 08:26
Buildkite checkout hook with retry (to mitigate "reference is not a tree" Git error)
#!/bin/bash
set -ex
if [ -d .git/ ]; then
git remote set-url origin "$BUILDKITE_REPO"
else
git clone "$BUILDKITE_REPO" .
fi
git clean -fdqx
@raindev
raindev / ClintBot.java
Created December 5, 2016 08:52
Tinkoween Robocode competition
package clinteastwood;
import java.awt.Color;
import java.util.Random;
import robocode.AdvancedRobot;
import robocode.ScannedRobotEvent;
public class ClintBot extends AdvancedRobot {
private final Random random = new Random();
@raindev
raindev / Cargo.toml
Created September 21, 2016 21:50
Cargo unresolved transitive version conflicts
[package]
name = "lost-links"
version = "0.1.0"
authors = ["Andrew Barchuk <raindev@icloud.com>"]
[dependencies]
curl = "0.3.6" # -> winapi:0.2
regex = "0.1.52"
url = "1.2.0"
clap = "2.12.1" # -> winapi:~0.2.8
@raindev
raindev / console.log
Created August 20, 2016 18:02
Mapping arrays with closures in Swift
converting number 13 to String
temporary number is currently 13
current digit 3
current digit as string Three
current string value of number Three
temporary number is currently 1
current digit 1
current digit as string One
current string value of number OneThree
converting number 52 to String
@raindev
raindev / external-params.swift
Created August 16, 2016 12:12
External function parameters in Swift
func printMathResult(mathFunction: (Int, Int) -> Int, _ a: Int, _ b: Int) {
print(mathFunction(a, b))
}
printMathResult({$0 + $1}, a: 2, b: 3)
printMathResult({$0 + $1}, 2, 3)
@raindev
raindev / keybase.md
Created April 13, 2016 22:29
Keybase identity proof

Keybase proof

I hereby claim:

  • I am raindev on github.
  • I am raindev (https://keybase.io/raindev) on keybase.
  • I have a public key ASBb46e0JuM3Gar31P90FDV9Lk2RvgNZ8MLZUS6Kg-L6Ygo

To claim this, I am signing this object:

@raindev
raindev / directory-size.rs
Created September 5, 2015 13:20
A simple Rust program to demonstrate loss of cached stdout
use std::fs;
use std::env;
use std::process;
fn main() {
match env::args_os().nth(1) {
None => {
print!("nope");
print!("okay");
// will cause losss of stdout buffered above