Skip to content

Instantly share code, notes, and snippets.

@squarism
squarism / aws_secret_gen.go
Last active Feb 28, 2020
AWS Secret Generator - Useful with Minio or self hosted services when you need an AWS style secret pair
View aws_secret_gen.go
package main
import (
"crypto/hmac"
"crypto/sha256"
"encoding/base64"
"flag"
"fmt"
"math/rand"
"os"
View jhs_behringer_recommendations.txt
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 Oct 5, 2018
Python Generator Cheatsheet
View python_generators.py
# 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 Mar 17, 2020
Multiline Anonymous Functions in Elixir
View multiline.exs
# 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 May 20, 2020
Modern system utility replacements (Go / Rust or even just something new)
View system_replacements.md

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 Apr 15, 2020
Automating Java Upgrades with Homebrew and Jenv
View java_upgrades_homebrew_jenv.md

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 Jan 9, 2018
Fish Shell Awesomeness
View fish_shell_switch.txt
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 Nov 2, 2017
Favorite VSCode Packages
View favorite_packages.txt
- Auto Close Tag
- Babel ES6/ES7
- Color Highlight
- elm
- ESLint
- Go
- indent-rainbow
- Nord
- Prettier
- vscode-icons
@squarism
squarism / calculator.rb
Created Sep 25, 2017
Calculator with paper tape side effects
View calculator.rb
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
@squarism
squarism / create_a_class_the_hard_way.rb
Last active Apr 11, 2018
create_a_class_the_hard_way.rb
View create_a_class_the_hard_way.rb
require "rspec/autorun"
Car = Class.new
Car.class_exec {
define_method :start, Proc.new { @started = true }
define_method :started, Proc.new { @started }
}
RSpec.describe Car do
it "starts" do
You can’t perform that action at this time.