Skip to content

Instantly share code, notes, and snippets.

JoshCheek / authenticated_field.go
Last active March 16, 2023 23:03
Example of how we can prob use resolvers in graphql-go so that you only need to be authenticated if you are asking for fields that require it.
View authenticated_field.go
package main
import (
gql ""
JoshCheek /
Last active March 7, 2023 10:06
A program that is both a palindrome and a quine, made with hearts for Joe

A program that is a palindrome (if you reverse its source code, you get the same program) and is a quine (if you run it, it prints out its own source code). Verify like this:

ruby palindrome_quine.rb | tee output
diff palindrome_quine.rb output # the output is the same as the source program
ruby -e 'puts $' < palindrome_quine.rb > reversed
diff palindrome_quine.rb reversed # the reversed program is the same as the source program
JoshCheek / golang_type_system_failing_me.go
Created February 24, 2023 08:44
Golang's type system failing me, tests passed the values, but prod passed pointers to them, the type system didn't care, but staging broke b/c of a type error.
View golang_type_system_failing_me.go
package main
import (
type Objs []Obj
type Obj interface{ GetType() string }
type IntObj struct{ Int int }
type StrObj struct{ Str string }
JoshCheek / test.cpp
Created January 17, 2023 03:29
c++ value/pointer/reference example
View test.cpp
#include <iostream>
using namespace std;
void print_by_value(string message) { cout << message << endl; }
void print_by_pointer(string *message) { cout << *message << endl; }
void print_by_reference(string &message) { cout << message << endl; }
int main() {
string message = "whatever";
JoshCheek / btd6_survey_responses.txt
Last active December 22, 2022 19:07
BTD6 are you better than the youtubers survey
View btd6_survey_responses.txt
quiz video:
solution video:
1. dies (WRONG)
lvl1 Sauda tends to leak on like... r4 or something, and that's a bad position for her
2. dies (WRONG)
I don't think they'll be able to take the ceramics at the end
3. wins (RIGHT)
quincy is good under alchemy, the cannon is good cleanup
4. wins (WRONG)
JoshCheek /
Created December 7, 2022 01:52
Thoughts on BTD6 v34.0 Update Notes

BTD6 v34.0 update notes

"New Boss Bloon: Dreadbloon!"

I guess I need to get into bosses, b/c they do make sense for me in CT, but outside of CT, god, they're so fkn tedious. I'm basically indifferent.

Team banners 9 and 10

Sweet, lets hold off and get one of these since none of the other teams will have them... unless they suck, in which case screw that.

JoshCheek / split_path_slashes_but_not_url_slashes.rb
Last active November 22, 2022 14:38
Split slashes in paths, but not URLs
View split_path_slashes_but_not_url_slashes.rb
def split_path(path)
slash = Regexp.escape File::SEPARATOR
match = path.match(%r~ # regex that is delimited by tildes so I can use slashes, quotes, backticks, etc in the comments
( # capture whatever the path_slash group matches
(?<path_slash> # a named group that matches slashes in paths, but not urls, eg will not match ""
# don't match first slash in "://"
(?: # don't capture this group
(?<!:) # not preceeded by ":"
(?!#{slash}#{slash}) # not succeeded by "//" (we haven't matched the slash yet, so it's in front of the cursor)
JoshCheek / semicolon-at-the-beginning.js
Created November 15, 2022 13:48
Example of putting the semicolon at the beginning of the line in JS
View semicolon-at-the-beginning.js
// this line will "continue" the previous one so
// it gets a semicolon to stop it from doing that
// JS would otherwise consider it a function call,
// ie `console.log("hello")(function() { ... })
;(function() {
JoshCheek / whydoesntgowork.go
Last active November 10, 2022 02:55
View whydoesntgowork.go
package main
import ("fmt")
// Real A (I cannot change this)
type RealA struct{}
func NewRealA() *RealA { return &RealA{} }
func (a *RealA) M() string { return "real a" }
// Fake A (I can change this)
type FakeA struct{}
JoshCheek /
Last active November 9, 2022 00:17
Looking up users on github
# imgcat is this program, it works with iTerm2:
# not sure how to make it responsive, you'd need a way to figure out how wide a character is, which may exist
# this number of spaces was determined experimentally and sadly it changes as you resize the terminal :shrug:
ruby -rshellwords -rjson -e ' { `curl --silent{_1.shellescape}` }
.map { JSON.parse _1 }
.map { <<USER.chomp }.join("\n").display