Skip to content

Instantly share code, notes, and snippets.

@squarism
squarism / project_time.txt
Last active June 2, 2021 20:15
Project Time
"You have time you can control and time you can't,
you can't devote all of the time you can control to
new features otherwise the that time shrinks to 0."
-- reconbot
┌─────────
│ ┌────
│ │
│ │ ▲
@squarism
squarism / aws_secret_gen.go
Last active March 30, 2024 20:09
AWS Secret Generator - Useful with Minio or self hosted services when you need an AWS style secret pair
package main
import (
"crypto/hmac"
"crypto/sha256"
"encoding/base64"
"flag"
"fmt"
"math/rand"
"os"
Equivalents and Recommendations from "What's the Deal with Behringer?"
Recommendations:
- Chromatic Tuner TU300 (whatever)
- CL9 Compressor / Limiter
- UV300 Ultra Vibrato
- UM300 Ultra Metal (soft recommended)
- HM300 Heavy Metal (nearly the same)
- UC200 Ultra Chorus - "dead on"
- TO800 Vintage Tube Overdrive (sounds the same to me, JHS didn't say)
@squarism
squarism / python_generators.py
Created October 5, 2018 22:41
Python Generator Cheatsheet
# A personal cheatsheet for the confusing (to me) python feature: generators
# Done in ipython
[n*2 for n in [1,2,3]]
# Out[8]: [2, 4, 6]
{n*2 for n in [1,2,3] if n > 1}
# Out[9]: {4, 6}
for n in (x for x in [1,2,3] if x > 1):
@squarism
squarism / multiline.exs
Last active March 25, 2024 15:27
Multiline Anonymous Functions in Elixir
# Examples of Different Styles and Syntax
# legal / positive case / you can do these stuffs
# ---------------------------------------------------------------------------
# single line, nothing special
Enum.map(0...2, fn i -> IO.puts i end)
"""
0
1
@squarism
squarism / system_replacements.md
Last active August 15, 2023 02:37
Modern system utility replacements (Go / Rust or even just something new)

Interesting and Modern CLI Tools

The absolute requirement is that these must be binaries that could go into /usr/bin one day. No python, ruby or js stuff. Not that dynamic languages are bad/evil, but I think system utilities should be binaries. I also think it's interesting that people are writing replacements in Go/Rust/Other that rethink some unix legacy. Replacement doesn't mean better in all cases. I just think it's an interesting time but also a good measure of what these compiled languages can handle/tackle/address. Will we see larger and more impressive CLIs? Or will the feature sets be about the same but the quality/stability/safety be better?

It's going to be reductive to explain some of these tools in one line.

  • exa - ls replacement
  • caddy - HTTP server (better than python -m SimpleHTTPServer)
@squarism
squarism / java_upgrades_homebrew_jenv.md
Last active February 21, 2023 14:53
Automating Java Upgrades with Homebrew and Jenv

Goals:

  • never upgrade Java with the GUI pkg installer again.
  • never try to remember that /Library/Java is where JDKs go.
  • Just keep JDK8 and JDK9 up-to-date. Java is so stable, maybe these two major versions is all we need?

Note the assumptions in these goals. Making this a bit more generic would be nice.

I'm on a mac and I use the fish shell which I know is squarely in the edge case camp but I hope this is inspiring or useful to someone else because there's not much shell specific stuff here. I found jenv which is going to help.

First, upgrading java with homebrew is pretty easy. The assumption is that java8 is stable and java (9) is still emerging. This assumption would likely change so it'd be nice to have this scripted out of this assumption. For now, I'm just trying to avoid graphical Oracle installers.

@squarism
squarism / fish_shell_switch.txt
Last active January 9, 2018 22:04
Fish Shell Awesomeness
Early days of fish shell impressions.
This is like honeymoon time but I really like it so far.
1. iTerm
alt+command goes back in history. Weird. Thought this was tab-navigation in iTerm.
2. Editing past commmands!
up & down to go through history (as usual) but then left-right take you into edit mode!
But how would you add a newline? Fish doesn't like `;` as much as zsh for newlines.
Well ... you can hit alt+enter and it will do a soft return!
@squarism
squarism / favorite_packages.txt
Created November 2, 2017 21:09
Favorite VSCode Packages
- Auto Close Tag
- Babel ES6/ES7
- Color Highlight
- elm
- ESLint
- Go
- indent-rainbow
- Nord
- Prettier
- vscode-icons
@squarism
squarism / calculator.rb
Created September 25, 2017 20:36
Calculator with paper tape side effects
class Calculator
# add two numbers with side effects to tape
def add(number1, number2)
sum = number1 + number2
tape("#{number1} + #{number2}")
tape("=\n#{sum}")
sum
end