Skip to content

Instantly share code, notes, and snippets.

@iamatypeofwalrus
iamatypeofwalrus / vs-code-key-bindings.json
Created January 19, 2018 17:19
VS Code Key Bindings
[
// Git
{
"key": "ctrl+b",
"command": "gitlens.toggleFileBlame",
"when": "editorTextFocus && gitlens:activeIsBlameable"
}
{
"key": "alt+cmd+s",
"command": "git.stageSelectedRanges"
@iamatypeofwalrus
iamatypeofwalrus / vscode-settings.json
Created January 19, 2018 17:18
My VS Code Settings
// Place your settings in this file to overwrite the default settings
{
"editor.fontSize": 14,
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.detectIndentation": true,
"editor.rulers": [
80,
100
],
@iamatypeofwalrus
iamatypeofwalrus / dynamodb-backup-common.cf.yaml
Created November 10, 2017 04:03
DynamoDB backup Common
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Common resources for DynamoDB backups'
Resources:
DynamoDBBackupsBucket:
Type: "AWS::S3::Bucket"
Properties:
BucketName:
Fn::Join:
- "-"
@iamatypeofwalrus
iamatypeofwalrus / data-pipelines.cf.yaml
Created November 10, 2017 04:02
Data Pipelines in Cloudformation
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Backup DynamoDB table to S3, convert export to Parquet, and add table to Athena'
Parameters:
TableName:
Description: DynamoDB table name
Type: String
BackupMaximumConsumedReadThroughput:
Description: Percentage of table read throughput a backup can use. Expressed between 0.01 and 1.0. Defaults to 20% of available read throughput
Type: Number
@iamatypeofwalrus
iamatypeofwalrus / connection_pool_issue.rb
Created March 1, 2017 21:56
Ruby Aws SDK V2 ConnectionPool forking issue
# Run and fail
# AWS_ACCESS_KEY_ID=*** ruby connection_pool_issue.rb
#
# Does not crash
# empty_connection_pools_after_fork=true ruby connection_pool_issue.rb
#
# Hypothesis:
#
# the Aws SDK maintains a ConnectionPool in Seahorse. After fork
# file descriptors are shared between the parent process and any child processes.
@iamatypeofwalrus
iamatypeofwalrus / method_trace.rb
Created February 18, 2017 04:51
Smoke test for using the Kernel#set_trace_func in Ruby 2.x
# Official docs are a _bit_ light on specifcs
# http://ruby-doc.org/core-2.0.0/Kernel.html#method-i-set_trace_func
#
# There are other options if you are interested in a general trace:
# * ruby -r tracer your_script.rb
# * https://ruby-doc.org/core-2.3.0/TracePoint.html
#
# What I'd like to be able to do is create a helper module / class that can be added to any class like so:
#
@iamatypeofwalrus
iamatypeofwalrus / localdocker.md
Last active August 29, 2015 14:15
localdocker: It's like localhost for your boot2docker ip address

Why?

Having to remeber what the boot2docker ip address sucks, wouldn't it be better to access it like localhost?

You can!

First you need to get the boot2docker ip address. You can get that in terminal:

$ boot2docker ip

On my computer I get:

@iamatypeofwalrus
iamatypeofwalrus / generate_ctags.md
Last active February 11, 2019 10:17
Generate ctags for Atom (or for any other reason) on Mac os X

Why?

Atom can automagically picks up any tags file in your current directory which enables you to:

  • shift+cmd+r search for any function in your project
  • alt+cmd+down GoTo a function declaration

How

Get brew if you don't already have it. Then:

brew install ctags

@iamatypeofwalrus
iamatypeofwalrus / channel_check.go
Created December 11, 2014 19:31
Check if a Go Channel is open or closed
// An intersting pattern for testing, but you can use the check anywhere
import "testing"
func TestCheckingChannel(t *testing.T) {
stop := make(chan bool)
// Testing some fucntion that SHOULD close the channel
func (stop chan bool) {
close(chan)
}(stop)
@iamatypeofwalrus
iamatypeofwalrus / README.md
Last active March 30, 2023 20:54
A Rails 4 pluck in batches implementation

pluck_in_batches

Sometimes you need to iterate over a ton of items and you don't want the overhead of creating AR objects out of all of them. Hell, you only need a few things! Well, #pluck has your back.

But what if you want to iterate over many tonnes of items?

Pluck in batches to the rescue!

This isn't the exact code that I use in my code base, but it is damn close.