til icon indicating copy to clipboard operation
til copied to clipboard

:memo: Today I Learned

TIL

Today I Learned

A collection of concise write-ups on small things I learn day to day across a variety of languages and technologies. These are things that don't really warrant a full blog post. These are things I've picked up by Learning In Public™ and pairing with smart people at Hashrocket.

For a steady stream of TILs, sign up for my newsletter.

1232 TILs and counting...


Categories

  • Ack
  • Amplify
  • Chrome
  • Clojure
  • CSS
  • Deno
  • Devops
  • Elixir
  • Gatsby
  • Git
  • GitHub Actions
  • Go
  • GROQ
  • Heroku
  • HTML
  • HTTP
  • Internet
  • JavaScript
  • jq
  • Kitty
  • Linux
  • Mac
  • MongoDB
  • MySQL
  • Netlify
  • Next.js
  • Phoenix
  • PostgreSQL
  • Prisma
  • Python
  • Rails
  • React
  • React Native
  • React Testing Library
  • ReasonML
  • Remix
  • RSpec
  • Ruby
  • sed
  • Shell
  • Streaming
  • Tailwind CSS
  • tmux
  • TypeScript
  • Unix
  • Vercel
  • Vim
  • VSCode
  • Webpack
  • Workflow
  • XState
  • YAML

Ack

  • ack --bar
  • Case-Insensitive Search
  • List Available File Types

Amplify

  • Sign Up User With Email And Password

Chrome

  • Access A Value Logged To The Console
  • Chrome Supports Many Unix Keyboard Shortcuts
  • Copy Some Data From The Console
  • Duplicate The Current Tab
  • Easier Access To Network Throttling Controls
  • Keybinding To Focus The Address Bar
  • Navigate The Browser History With Vimium
  • Pretty Print Tabular Data
  • Reference The Selected Node
  • Selecting DOM Elements Faster Than Ever
  • Simulating Various Connection Speeds
  • Toggle Device Mode
  • Toggle Open The Console Drawer
  • View Network Traffic For New Tabs

Clojure

  • Aggregation Using merge-with
  • Argument Requirements For A Function
  • Combinations Of Items From A Sequence
  • Define Something Only Once
  • Evaluate One Liners With lein-exec
  • Expanding Macros
  • Get The Value Of An Environment Variable
  • List Functions For A Namespace
  • Load A File Into The REPL
  • Mapping With An Index
  • Open JavaDocs
  • Pretty Print The Last Thing
  • Quick Clojure Docs
  • Reductions
  • Set Max Heap Size
  • Specify the Directory of a Shell Command
  • Splitting On Whitespace
  • Swap Two Items in a Vector
  • Try A Clojure Project In The REPL
  • Type of Anything
  • When Overflow Is Desired

CSS

  • Add Fab Icons To Your Site With FontAwesome 5
  • Animate Smoothly Between Two Background Colors
  • Apply Multiple Box Shadows To Single Element
  • Apply Styles Based On Dark-Mode Preferences
  • Apply Styles To The Last Child Of A Specific Type
  • Change The Orientation Of An Image
  • Circular Icons With A Massive Border Radius
  • Clean Up Repetition With :is() Pseudo-Class
  • Conditional Styling For Unsupported CSS Features
  • Create A Pulsing Background With CSS Animation
  • Define CSS Custom Properties With CSS Variables
  • Define HSL Colors With Alpha Values
  • Display Responsive iframe Maintaining Aspect Ratio
  • Dry Up SCSS With Mixins
  • Give Elements The Same Width With Flexbox
  • Let Pointer Events Pass Through An Element
  • Lighten And Darken With CSS Brightness Filter
  • Lighten And Darken With SCSS
  • Make A Block Of Text Respect New Lines
  • Parameterized SCSS Mixins
  • :root Has Higher Specificity Than html
  • Style A Background With A Linear Gradient
  • Using Maps In SCSS

Deno

  • Read In The Contents Of A File

Devops

  • Aliasing An Ansible Host
  • Allow Cross-Origin Requests To Include Cookies
  • Allow HTTPS Through Your UFW Firewall
  • Check The Status of All Services
  • Check The Syntax Of nginx Files
  • Connect To An RDS PostgreSQL Database
  • Determine The IP Address Of A Domain
  • Path Of The Packets
  • Push Non-master Branch To Heroku
  • Reload The nginx Configuration
  • Resolve The Public IP Of A URL
  • Running Out Of inode Space
  • SSH Into A Docker Container
  • SSL Certificates Can Cover Multiple Domains
  • Wipe A Heroku Postgres Database

Elixir

  • All Values For A Key In A Keyword List
  • Append To A Keyword List
  • Assert An Exception Is Raised
  • Binary Representation Of A String
  • Check For A Substring Match
  • Check List Membership
  • Comparing DateTime Structs
  • Compute Intermediate Values In A With Construct
  • Compute md5 Digest Of A String
  • Counting Records With Ecto
  • Create A Date With The Date Sigil
  • Create A List Of Atoms
  • Creating A PID
  • Creating Indexes With Ecto
  • Defining Multiple Clauses In An Anonymous Function
  • Determine The Latest Release Of A Hex Package
  • Do You Have The Time?
  • Do You Have The Time? - Part 2
  • Documentation Lookup With Vim And Alchemist
  • Dynamically Generating Atoms
  • Execute Raw SQL In An Ecto Migration
  • Expose Internal Representation
  • Include Captures With String.split
  • Inspecting The Process Message Queue
  • List Functions For A Module
  • Listing Files In IEx
  • Match On A Map In A With Construct
  • Passing Around And Using Modules
  • Pattern Matching In Anonymous Functions
  • Pipe Into A Case Statement
  • Quitting IEx
  • Range Into List Using Comprehensions
  • Refer To A Module Within Itself
  • Referencing Values In IEx's History
  • Remove One List From Another
  • Replace Duplicates In A Keyword List
  • Requiring Keys For Structs
  • Reversing A List
  • Reversing A List - Part 2
  • Root Directory Of A Project
  • Round Floats To Integers
  • Run ExUnit Tests In A Deterministic Order
  • Run The Test At A Specific Line Number
  • Same Functions Should Be Grouped Together
  • Skip A Specific Test
  • String Interpolation With Just About Anything
  • Unique Indexes With Ecto
  • Updating Values In A Map
  • Using When Clauses In A With Construct
  • Virtual Fields With Ecto Schemas
  • When Things Don't Match The With Statements
  • Word Lists For Atoms

Gatsby

  • Add JavaScript To Body Of The Document

Git

  • Accessing a Lost Commit
  • Amend Author Of Previous Commit
  • Auto-Squash Those Fixup Commits
  • Caching Credentials
  • Change The Start Point Of A Branch
  • Checking Commit Ancestry
  • Checkout Old Version Of A File
  • Checkout Previous Branch
  • Cherry Pick A Range Of Commits
  • Clean Out All Local Branches
  • Clean Out Working Copy With Patched Restore
  • Clean Up Old Remote Tracking References
  • Clone A Repo Just For The Files, Without History
  • Clone A Repo Locally From .git
  • Configure Global gitignore File
  • Configuring The Pager
  • Copy A File From Another Branch
  • Create A New Branch With Git Switch
  • Delete All Untracked Files
  • Determine The Hash Id For A Blob
  • Diffing With Patience
  • Dropping Commits With Git Rebase
  • Dry Runs in Git
  • Exclude A File From A Diff Output
  • Excluding Files Locally
  • Find The Date That A File Was Added To The Repo
  • Find The Initial Commit
  • Get The Name Of The Current Branch
  • Get The Short Version Of The Latest Commit
  • Grab A Single File From A Stash
  • Grep For A Pattern On Another Branch
  • Grep Over Commit Messages
  • Ignore Changes To A Tracked File
  • Ignore Files Specific To Your Workflow
  • Include A Message With Your Stashed Changes
  • Include Or Exclude Remaining Patch Changes
  • Include Some Stats In Your Git Log
  • Intent To Add
  • Interactively Unstage Changes
  • Last Commit A File Appeared In
  • List All Files Changed Between Two Branches
  • List Branches That Contain A Commit
  • List Commits On A Branch
  • List Different Commits Between Two Branches
  • List Filenames Without The Diffs
  • List Just The Files Involved In A Commit
  • List Most Git Commands
  • List Untracked Files
  • List Untracked Files For Scripting
  • Move The Latest Commit To A New Branch
  • Pick Specific Changes To Stash
  • Pulling In Changes During An Interactive Rebase
  • Push To A Branch On Another Remote
  • Quicker Commit Fixes With The Fixup Flag
  • Rebase Commits With An Arbitrary Command
  • Reference A Commit Via Commit Message Pattern Matching
  • Rename A Remote
  • Renaming A Branch
  • Resetting A Reset
  • Resolve A Merge Conflict From Stash Pop
  • Run A Git Command From Outside The Repo
  • Set A Custom Pager For A Specific Command
  • Shorthand To Force Push A Branch
  • Show All Commits For A File Beyond Renaming
  • Show Changes For Files That Match A Pattern
  • Show Changes In The Compose Commit Message View
  • Show File Diffs When Viewing Git Log
  • Show List Of Most Recently Committed Branches
  • Show Only Commits That Touch Specific Lines
  • Show The diffstat Summary Of A Commit
  • Show The Good And The Bad With Git Bisect
  • Show What Is In A Stash
  • Single Key Presses in Interactive Mode
  • Skip A Bad Commit When Bisecting
  • Skip Pre-Commit Hooks
  • Staging Changes Within Vim
  • Staging Stashes Interactively
  • Stash A Single Untracked File
  • Stash Everything
  • Stashing Only Unstaged Changes
  • Stashing Untracked Files
  • Switch To A Recent Branch With FZF
  • Turn Off The Output Pager For One Command
  • Two Kinds Of Dotted Range Notation
  • Unstage Changes Wih Git Restore
  • Untrack A Directory Of Files Without Deleting
  • Untrack A File Without Deleting It
  • Update The URL Of A Remote
  • Using Commands With A Relative Date Format
  • Verbose Commit Message
  • Viewing A File On Another Branch
  • What Changed?
  • What Is The Current Branch?
  • Whitespace Warnings

GitHub Actions

  • Capture An Output Value For Use In A Later Step
  • Reference An Encrypted Secret In An Action

Go

  • Access Go Docs Offline
  • Build For A Specific OS And Architecture
  • Not So Random
  • Replace The Current Process With An External Command
  • Sleep For A Duration
  • Upgrading From An Older Version On Mac

GROQ

  • Grab Multiple Values From A Reference
  • Grab Values From An Array Of References
  • Include Type Of Operation In Webhook Response

Heroku

  • Deploy A Review App To A Different Stack
  • Diagnose Problems In A Heroku Postgres Database
  • Set And Show Heroku Env Variables
  • SSH Into Heroku Server Hosting App

HTML

  • Adding Alt Text To An Image
  • Determine Which Button Submitted The Form
  • Disable Auto-Completion For A Form Input
  • Prevent Search Engines From Indexing A Page
  • Render Text As Superscript
  • Submit A Form With A Button Outside The Form

HTTP

  • What Counts As Cross-Origin With CORS?

Internet

  • Add Emoji To GitHub Repository Description
  • Enable Keyboard Shortcuts In Gmail
  • Exclude Whitespace Changes From GitHub Diffs
  • Figure Out Your Public IP Address
  • Focus The URL Bar
  • Get Random Images From Unsplash
  • Search Tweets By Author
  • Show All Pivotal Stories With Blockers

JavaScript

  • Accessing Arguments To A Function
  • Basic Date Formatting Without A Library
  • Character Codes from Keyboard Listeners
  • Check Classes On A DOM Element
  • Check If A Number Is Positive Or Negative
  • Check If Something Is An Array
  • Check The Password Confirmation With Yup
  • Compare The Equality Of Two Date Objects
  • Computed Property Names In ES6
  • Conditionally Include Pairs In An Object
  • Configure Jest To Run A Test Setup File
  • Create A Cancelable Promise With PCancelable
  • Create An Array Containing 1 To N
  • Create An Object With No Properties
  • Create Bootstrapped Apps With Yarn
  • Create Future And Past Dates From Today
  • Custom Type Checking Error Messages With Yup
  • Default And Named Exports From The Same Module
  • Define A Custom Jest Matcher
  • Destructure With Access To Nested Value And Parent Value;
  • Destructuring The Rest Of An Array
  • Enable ES7 Transforms With react-rails
  • Ensure Shell Can Find Global npm Binaries
  • Easy Date Comparison With DayJS
  • Expand Emojis With The Spread Operator
  • Fill An Input With A Ton Of Text
  • Find The Version Of An Installed Dependency
  • Find Where Yarn Is Installing Binaries
  • for...in Iterates Over Object Properties
  • Formatting Values With Units For Display
  • Freeze An Object, Sorta
  • Generate A V4 UUID In The Browser
  • Generate Random Integers
  • Get The Location And Size Of An Element
  • Get The Response Status From An Axios Error
  • Get The Time Zone Of The Client Computer
  • Globally Install A Package With Yarn
  • Immutable Remove With The Spread Operator
  • Initialize A New JavaScript Project With Yarn
  • Install The Latest Version Of Node With Nvm
  • Interpolate A String Into A Regex
  • ISO-8601 Formatted Dates Are Interpreted As UTC
  • Link A JavaScript Package Locally
  • List Top-Level NPM Dependencies
  • Make The Browser Editable With Design Mode
  • Matching A Computed Property In Function Args
  • Matching Multiple Values In A Switch Statement
  • Mock A Function With Return Values Using Jest
  • New Dates Can Take Out Of Bounds Values
  • Numbers Are Empty
  • Object Initialization With Shorthand Property Names
  • Obtain Undefined Value With The Void Operator
  • Parse A Date From A Timestamp
  • Pre And Post Hooks For Yarn Scripts
  • Purge Null And Undefined Values From Object
  • Random Cannot Be Seeded
  • Reach Into An Object For Nested Data With Get
  • Render An Array Of Elements With React 16
  • Resolve And Pass Multiple Values From A Then
  • Running ES6 Specs With Mocha
  • Scoping Variables With A Block Statement
  • Sleep For A Bit In Async Code
  • Sorting Arrays Of Objects With Lodash
  • Splat Arguments To A Function
  • Spread Merging Objects Includes Nil Values
  • Spread The Rest With ES6
  • Start Node Process In Specific Timezone
  • String Interpolation With Template Literals
  • Support Nested Matching In Custom Jest Matchers
  • Tell Prettier To Not Format A Statement
  • Test Coverage Stats With Jest
  • Test Timing-Based Code With Jest Fake Timers
  • The Comma Operator
  • Throttling A Function Call
  • Timing Processes
  • Transforming ES6 and JSX With Babel 6
  • Truthiness of Integer Arrays
  • Turn An HTMLCollection Into An Array
  • Turn Off Console Error Messages In A Test
  • Waiting On Multiple Promises
  • Who Am I: NPM Edition
  • Yarn Commands Without The Emojis
  • Yup Schemas Are Validated Asynchronously

jq

  • Extract A List Of Values

Kitty

  • Set The Title Of A Window
  • Use The Built-In Emoji Picker

Linux

  • Check Ubuntu Version
  • Configure Your Server Timezone
  • List The Statuses Of All Upstart Jobs
  • Show Current System Time And Settings
  • Upgrading Ubuntu

Mac

  • Access All Screen And Video Capture Options
  • Access System Information On OS X
  • Access Unsupported Screen Resolutions With RDM
  • Clean Up Old Homebrew Files
  • Convert An HEIC Image File To JPG
  • Default Screenshot Location
  • Disable Swipe Navigation For A Specific App
  • Display A Message With Alfred
  • Find The Process Using A Specific Port
  • Gesture For Viewing All Windows Of Current App
  • Insert A Non-Breaking Space Character
  • List All The Say Voices
  • Open Finder.app To Specific Directory
  • Quickly Type En Dashes And Em Dashes
  • Require Additional JS Libraries In Postman
  • Resize App Windows With AppleScript
  • Resizing Both Corners Of A Window
  • Run A Hardware Check
  • Run AppleScript Commands Inline In The Terminal
  • Set A Window To Its Default Zoom Level
  • Specify App When Opening From Command Line
  • Use Default Screenshot Shortcuts With CleanShot X
  • View All Windows Of The Current App

MongoDB

  • Determine The Database Version
  • Dump A Remote Database
  • Get Size Stats For A Collection
  • List Size Stats For All Collections

MySQL

  • Display Output In A Vertical Format
  • Doing Date Math
  • Dump A Database To A File
  • List Databases And Tables
  • Show Create Statement For A Table
  • Show Tables That Match A Pattern
  • Show Indexes For A Table

Netlify

  • Override The Default Yarn Version

Next.js

  • Create Files And Directories For Dynamic Routes
  • Define URL Redirects In The Next Config
  • Make Environment Variable Publicly Available
  • Push A Route With A URL Object
  • Remove A Query Param From The URL
  • Ship Public Assets With A Next.js App

Phoenix

  • Bypass Template Rendering
  • Check The Installed Version
  • Generate New App Without Brunch
  • Render A Template To A String
  • Serve Static Assets From Custom Directory
  • Specifying The Digest Directory
  • Specifying The Server Port

PostgreSQL

  • A Better Null Display Character
  • Add Foreign Key Constraint Without A Full Lock
  • Add ON DELETE CASCADE To Foreign Key Constraint
  • Adding Composite Uniqueness Constraints
  • Aggregate A Column Into An Array
  • Assumed Radius Of The Earth
  • Auto Expanded Display
  • Between Symmetric
  • Capitalize All The Words
  • Change The Current Directory For psql
  • Check If The Local Server Is Running
  • Check Table For Any Oprhaned Records
  • Checking Inequality
  • Checking The Type Of A Value
  • Clear The Screen In psql
  • Clear The Screen In psql (2)
  • Compute Hashes With pgcrypto
  • Compute The Levenshtein Distance Of Two Strings
  • Compute The md5 Hash Of A String
  • Configure The Timezone
  • Constructing A Range Of Dates
  • Convert A String To A Timestamp
  • Count How Many Records There Are Of Each Type
  • Count Records By Type
  • Count The Number Of Trues In An Aggregate Query
  • Create A Composite Primary Key
  • Create A Table From The Structure Of Another
  • Create An Index Without Locking The Table
  • Create Database Uses Template1
  • Create hstore From Two Arrays
  • Create Table Adds A Data Type
  • Creating Conditional Constraints
  • Creating Custom Types
  • Day Of Week By Name For A Date
  • Day Of Week For A Date
  • Default Schema
  • Defining Arrays
  • Determine Types Of JSONB Records
  • Determining The Age Of Things
  • Difference Between Explain And Explain Analyze
  • Dump All Databases To A SQL File
  • Dump And Restore A Database
  • Dump The SQL Needed To Recreate A Table
  • Duplicate A Local Database
  • Edit Existing Functions
  • Enable Logging Of Database Activity
  • Escaping A Quote In A String
  • Escaping String Literals With Dollar Quoting
  • Export Query Results To A CSV
  • Extracting Nested JSON Data
  • Find Duplicate Records In Table Without Unique Id
  • Find Records That Contain Duplicate Values
  • Find Records That Have Multiple Associated Records
  • Find The Data Directory
  • Find The Location Of Postgres Config Files
  • Fizzbuzz With Common Table Expressions
  • Force SSL When Making A psql Connection
  • Generate A UUID
  • Generate Random UUIDs Without An Extension
  • Generate Series Of Numbers
  • Generating UUIDs With pgcrypto
  • Get A Quick Approximate Count Of A Table
  • Get The Size On Disk of An Index
  • Get The Size Of A Database
  • Get The Size Of A Table
  • Get The Size Of An Index
  • Getting A Slice Of An Array
  • Group By The Result Of A Function Call
  • Idempotent Inserts
  • Include All Queries In The Log File
  • Include Multiple Tables In A pg_dump
  • Insert A Bunch Of Records With Generate Series
  • Insert Just The Defaults
  • Inspect Progress Of Long-Running Create Index
  • Install Postgres With uuid-ossp Using asdf
  • Integers In Postgres
  • Intervals Of Time By Week
  • Is It Null Or Not Null?
  • Label Dollar-Quoted Strings With A Tag
  • Limit Execution Time Of Statements
  • List All Columns Of A Specific Type
  • List All Rows In A Table
  • List All The Databases
  • List All Versions Of A Function
  • List Available Schemas
  • List Connections To A Database
  • List Databases Available For Connecting
  • List Database Objects With Disk Usage
  • List Database Users
  • List Various Kinds Of Objects
  • Lower Is Faster Than ilike
  • Max Identifier Length Is 63 Bytes
  • Open Heroku Database In Postico From Terminal
  • pg Prefix Is Reserved For System Schemas
  • Prepare, Execute, And Deallocate Statements
  • Pretty Print Data Sizes
  • Pretty Printing JSONB Rows
  • Prevent A Query From Running Too Long
  • Print The Query Buffer In psql
  • Remove Not Null Constraint From A Column
  • Renaming A Sequence
  • Renaming A Table
  • Restart A Sequence
  • Restarting Sequences When Truncating Tables
  • Salt And Hash A Password With pgcrypto
  • Send A Command To psql
  • Set Inclusion With hstore
  • Set A Seed For The Random Number Generator
  • Set A Statement Timeout Threshold For A Session
  • Sets With The Values Command
  • Shorthand Absolute Value Operator
  • Show All Versions Of An Operator
  • Show The Hidden Queries Behind Backslash Commands
  • Sleeping
  • Special Math Operators
  • Storing Emails With citext
  • String Contains Another String
  • Switch Non-Castable Column Type With Using Clause
  • Switch The Running Postgres Server Version
  • Temporarily Disable Triggers
  • Temporary Tables
  • Terminating A Connection
  • The nullif Function
  • Timestamp Functions
  • Toggling The Pager In PSQL
  • Track psql History Separately Per Database
  • Truncate All Rows
  • Truncate Tables With Dependents
  • Turning Timing On
  • Two Ways To Compute Factorial
  • Two Ways To Escape A Quote In A String
  • Types By Category
  • Union All Rows Including Duplicates
  • Use A psqlrc File For Common Settings
  • Use Argument Indexes
  • Use Not Valid To Immediately Enforce A Constraint
  • Use Rename To Hot Swap Two Tables
  • Using Expressions In Indexes
  • Using Intervals To Offset Time
  • Who Is The Current User
  • Word Count for a Column
  • Write A Query Result To File

Prisma

  • Execute A Raw SQL Query
  • Grab A Limited Set Of Records

Python

  • Access Instance Variables
  • Create A Dummy DataFrame In Pandas
  • Test A Function With Pytest

Rails

  • Add A Check Constraint To A Table
  • Add A Foreign Key Reference To A Table
  • Add A Reference Column With An Index
  • Add ActiveRecord Error Not Tied To Any Attribute
  • Add React With Webpacker To A New Rails App
  • Add timestamptz Columns With The Migration DSL
  • Access Secrets In A Rails 5.2 App
  • ActiveRecord Query For This Or That
  • Advance The Date
  • Allow List Params Anywhere With Strong Params
  • All or Nothing Database Transactions
  • Alphabetize Schema Columns To Keep Them Consistent
  • Assert Two Arrays Have The Same Items With RSpec
  • Attach A File With Capybara
  • Attribute Getter without the Recursion
  • Attribute Was
  • Autosave False On ActiveRecord Associations
  • Bind Parameters To ActiveRecord SQL Query
  • Build A Hash Of Model Attributes
  • Capture Development Emails With Mailhog
  • Capybara Page Status Code
  • Cast Common Boolean-Like Values To Booleans
  • Change The Nullability Of A Column
  • Change The Time Zone Offset Of A DateTime Object
  • Check If ActiveRecord Update Fails
  • Check If Any Records Have A Null Value
  • Check Specific Attributes On ActiveRecord Array
  • Code Statistics For An Application
  • Columns With Default Values Are Nil On Create
  • Comparing DateTimes Down To Second Precision
  • Conditional Class Selectors in Haml
  • Convert A Symbol To A Constant
  • Count The Number Of Records By Attribute
  • Create A Custom Named References Column
  • Create A Join Table With The Migration DSL
  • Creating Records of Has_One Associations
  • Custom Validation Message
  • Customize Paths And Helpers For Devise Routes
  • Customize The Path Of A Resource Route
  • Delete Paranoid Records
  • Demodulize A Class Name
  • Different Ways To Add A Foreign Key Reference
  • Disambiguate Where In A Joined Relation
  • Ensure Migrations Use The Latest Schema
  • Find Or Create A Record With FactoryBot
  • Find Records With Multiple Associated Records
  • Force All Users To Sign Out
  • Generating And Executing SQL
  • Get ActiveRecord Attribute Directly From Database
  • Get An Array Of Values From The Database
  • Get An Empty ActiveRecord Relation
  • Get Help With A Rails App Update
  • Get The Column Names For A Model
  • Get The Current Time
  • Grab A Random Record From The Database
  • Handle Named Arguments In A Rake Task
  • Hash Slicing
  • Ignore Poltergeist JavaScript Errors
  • Include Devise Helpers In Your Controller Tests
  • Inspect Previous Changes To ActiveRecord Object
  • Link To The Current Page With Query Params
  • List All Installable Rails Versions
  • List The Enqueued Jobs
  • Load A File When Starting Rails Console
  • Load Records In Batches With find_each
  • Log SQL Queries Executed By ActiveRecord
  • Mark A Migration As Irreversible
  • Make ActionMailer Synchronous In Test
  • Make Remove Column Migration Reversible
  • Manually Run A Migration From Rails Console
  • Mark For Destruction
  • Mask An ActiveRecord Attribute
  • Merge A Scope Into An ActiveRecord Query
  • Migrating Up Down Up
  • Order Matters For rescue_from Blocks
  • Params Includes Submission Button Info
  • Parse Query Params From A URL
  • Perform SQL Explain With ActiveRecord
  • Polymorphic Path Helpers
  • Pretend Generations
  • Prevent Writes With A Sandboxed Rails Console
  • Query A Single Value From The Database
  • Read In Environment-Specific Config Values
  • Read-Only Models
  • Remove The Default Value On A Column
  • Render An Alternative ActionMailer Template
  • Render The Response Body In Controller Specs
  • Replace An Index With A Unique Index
  • Rescue From
  • Rescue From With A Separate Method
  • Retrieve An Object If It Exists
  • Rollback A Specific Migration Out Of Order
  • Rounding Numbers With Precision
  • Run A Rake Task Programmatically
  • Run Some Code Whenever Rails Console Starts
  • Schedule Sidekiq Jobs Out Into The Future
  • Secure Passwords With Rails And Bcrypt
  • Select A Select By Selector
  • Select Value For SQL Counts
  • Serialize With fast_jsonapi In A Rails App
  • Set A Timestamp Field To The Current Time
  • Set default_url_options For Entire Application
  • Set Schema Search Path
  • Set Statement Timeout For All Postgres Connections
  • Set The Default Development Port
  • Show Pending Migrations
  • Show Rails Models With Pry
  • Show Rails Routes With Pry
  • Skip Validations When Creating A Record
  • Specify New Attributes For #find_or_create_by
  • Temporarily Disable strong_params
  • Test If An Instance Variable Was Assigned
  • Test If deliver_later Is Called For A Mailer
  • Test Out URL And Path Helpers In The Console
  • Truncate Almost All Tables
  • Update Column Versus Update Attribute
  • Upgrading Your Manifest For Sprocket's 4
  • Use IRB And Ruby Flags With Rails Console
  • Verify And Read A Signed Cookie Value
  • Where Am I In The Partial Iteration?
  • Wipe Out All Precompiled Assets
  • Write Reversible Migration To Set Default
  • Write Safer Where Clauses With Placeholders

React

  • A Component Is Just A Bag Of Data
  • Access The Latest Lifecycle Methods In An Old App
  • Accessing Env Vars In create-react-app
  • Accessing Location Within @reach/router
  • Allow md As An Extension With gatsby-mdx
  • Alter The Display Name Of A Component
  • Building A React App In The Browser
  • Check The Type Of A Child Component
  • Conditionally Including Event Handler Functions
  • Create A Snowpack-Bundled React App
  • Create Dynamically Named Custom React Components
  • create-react-app Comes With Lodash
  • create-react-app Has A Default Test Setup File
  • CSS !important Is Not Supported By Inline Styles
  • Debug Jest Tests In create-react-app
  • Defining State In A Simple Class Component
  • Destructure Variables As Props To A Component
  • Details Tags Are A Controllable Component
  • Dispatch Anywhere With Redux
  • Dynamically Add Props To A Child Component
  • Dynamically Create HTML Elements
  • Enforce Specific Values With PropTypes
  • Focus An Input With useRef Hook
  • Force A Component To Only Have One Child
  • Forcing A Child Remount With The Key Prop
  • Formik Connected Components
  • Formik's Validation Schema As A Function
  • Inactive And Active Component Styles With Radium
  • Inline Style Attributes Should Be Camel Cased
  • Manage State In A Functional Component
  • Mapping Over One Or Many Children
  • Mock A Function That A Component Imports
  • Navigate With State Via @reach/router
  • Pairing A Callback With A useState Hook
  • Pass A Function To A useState Updater
  • Passing Props Down To React-Router Route
  • Prevent reach/router Redirect Error Screen In Dev
  • Proxy To An API Server In Development With CRA
  • Quickly Search For A Component With React DevTools
  • @reach/router Renders To A Div
  • Read Only Input Elements
  • Rendering Multiple Nodes With Fragments
  • Set The Type For A useState Hook
  • Specifying Dependencies Of A useEffect Hook
  • Spelunking Through Components With Enzyme's Dive
  • Sync Your react-router State With Redux
  • Test Files In create-react-app
  • Test That Element Does Not Render In The Component
  • Trigger Effect Only When The Component Mounts
  • Update Formik Initial Values When Props Change
  • Upgrading To The Latest React In CodeSandbox
  • Use A Ref To Autofocus An Input
  • Use React 16 With Gatsby
  • Use withRouter To Pass Down React-Router History
  • Visually Select A React Element For Inspection
  • Who Is Your Favorite Child?
  • Wrap The Root Of A Gatsby App In A Component

React Native

  • Avoid The Notch With SafeAreaView

React Testing Library

  • Check That A Component Renders As Null
  • findBy* Queries Have Async Built In
  • Pretty Print Some DOM To Debug A Test
  • Test A Component That Uses React Portals

ReasonML

  • Break Out Of A While Loop
  • Compile Reason To Native With Dune
  • Compile Reason With An OCaml Package Using Dune
  • Create A Map Of Strings
  • Create A Stream From An Array
  • Creating A 2D Array
  • Data Structures With Self-Referential Types
  • Defining Variants With Constructor Arguments
  • Dynamically Create A Printf String Format
  • Exhaustive Pattern Matching Of List Variants
  • Format The Current File Within Vim
  • Generate A Native ReasonML Project With Pesy
  • Generate Starter Reason Projects
  • Helping The Compiler Help Us With Variants
  • Inline Component Styles With Reason React
  • Is This A Directory Or A File?
  • Making Things Mutable
  • Modifying A String With blit_string
  • Multi-Argument Functions As Syntactic Sugar
  • Pattern Match On Exceptions
  • Quickly Bootstrap A React App Using Reason
  • Seeding And Generating Random Integers
  • Stream A File Line By Line
  • String Interpolation With Integers And Sprintf
  • String Interpolation With Quoted Strings
  • Trying Out ReasonML In CodeSandbox
  • Two Ways To Find An Item In A List
  • Using Optional Labeled Function Arguments
  • Wrapping A Component For Use In JavaScript

Remix

  • Get Query Params From The Request URL
  • Markdown And MDX Files Are Rendered To Routes
  • Relative And Absolute Paths In Links
  • Run The Development Server From Another Port
  • Set The Title Of A Page

RSpec

  • Check Specific Arguments To Received Method
  • Find Minimal Set Of Tests Causing A Flicker
  • Use Specific Cache Store In A Single Test

Ruby

  • A Basic Case Statement
  • A Shorthand For Rerunning Failed Tests With RSpec
  • Add Comments To Regex With Free-Spacing
  • Add Linux As A Bundler Platform
  • Are They All True?
  • Assert About An Object's Attributes With RSpec
  • Assoc For Hashes
  • Block Comments
  • Build HTTP And HTTPS URLs
  • Chaining Multiple RSpec Change Matchers
  • Check For Any Overlaps In List Of Ranges
  • Check If An Object Includes A Module
  • Check Return Status Of Running A Shell Command
  • Click On Text With Capybara
  • Colorful Output With MiniTest
  • Comparing Class Hierarchy Relationships
  • Comparing Arrays In RSpec
  • Construct A Constant From A String
  • Convert A Unix Epoch Timestamp To A Time Object
  • Create an Array of Stringed Numbers
  • Create a CSV::Table Object
  • Create A Hash From An Array Of Arrays
  • Create Listing Of All Middleman Pages
  • Create Named Structs With Struct.new
  • Create Thumbnail Image For A PDF
  • Defaulting To Frozen String Literals
  • Define A Custom RSpec Matcher
  • Define A Method On A Struct
  • Destructure The First Item From An Array
  • Destructuring Arrays In Blocks
  • Disassemble Some Codes
  • Double Splat To Merge Hashes
  • Edit Previous Parts Of The Pry Buffer History
  • Editing Code In Pry
  • Encode A String As URL-Safe Base64
  • Enumerate A Pairing Of Every Two Sequential Items
  • Evaluating One-Off Commands
  • Exclude Values From An Array
  • Exit A Process With An Error Message
  • Expect A Method To Be Called And Actually Call It
  • Extract A Column Of Data From A CSV File
  • FactoryGirl Sequences
  • Fail
  • Find The Min And Max With A Single Call
  • Finding The Source of Ruby Methods
  • Generate A Signed JWT Token
  • Generate Ruby Version And Gemset Files With RVM
  • Get Info About Your RubyGems Environment
  • Get The Output Of Running A System Program
  • Identify Outdated Gems
  • If You Detect None
  • Iterate With An Offset Index
  • Include Extra Context In A Honeybadger Notify
  • Ins And Outs Of Pry
  • Invoking Rake Tasks Multiple Times
  • IRB Has Built-In Benchmarking With Ruby 3
  • Jump Out Of A Nested Context With Throw/Catch
  • Last Raised Exception In The Call Stack
  • Limit Split
  • List The Running Ruby Version
  • Listing Local Variables
  • Make An Executable Ruby Script
  • Map With Index Over An Array
  • Mock Method Chain Calls With RSpec
  • Mocking Requests With Partial URIs Using Regex
  • Named Regex Captures Are Assigned To Variables
  • Navigate Back In The Browser With Capybara
  • Next And Previous Floats
  • Or Operator Precedence
  • Override The Initial Sequence Value
  • Parallel Bundle Install
  • Parse JSON Into An OpenStruct
  • Parsing A CSV With Quotes In The Data
  • Pass A Block To Count
  • Passing Arbitrary Methods As Blocks
  • Passing Arguments To A Rake Task
  • Pattern Match Values From A Hash
  • Percent Notation
  • Question Mark Operator
  • Rake Only Lists Tasks With Descriptions
  • Read The First Line From A File
  • Rendering ERB
  • Replace The Current Process With An External Command
  • Require Entire Gemfile In Pry Session
  • Rerun Only Failures With RSpec
  • Retry A Block After An Exception
  • Returning With Sequel
  • rexml Is A Bundled Gem As Of Ruby 3.0.0
  • Run An Older Version Of Bundler
  • Running A Single MiniTest Example
  • Safe Navigation Operator
  • Scripting With RVM
  • Scroll To Top Of Page With Capybara
  • Set RVM Default Ruby
  • Show Public Methods With Pry
  • Silence The Output Of A Ruby Statement In Pry
  • Single And Double Quoted String Notation
  • Skip Specific CVEs When Auditing Your Bundle
  • Specify Dependencies For A Rake Task
  • Squeeze Out The Extra Space
  • String Interpolation With Instance Variables
  • Summing Collections
  • Triple Equals: The Case Equality Operator
  • Turn Key And Value Arrays Into A Hash
  • Turning Any Class Into An Enumerator
  • Turning Things Into Hashes
  • Uncaught Exceptions In Pry
  • undef_method And The Inheritance Hierarchy
  • Uninstall Specific Version Of A Ruby Gem
  • Unpacking Strings Into Binary
  • Up And Down With Integers
  • Update The Gemfile Bundled With Version
  • Use A Case Statement As A Cond Statement
  • Use dotenv In A Non-Rails Project
  • Use Tap For Better Test Data Setup
  • Using BCrypt To Create And Check Hashed Passwords
  • What To Do When You Don't Rescue
  • Who Are My Ancestors?
  • Wrap Things In An Array, Even Hashes
  • Zero Padding

sed

  • Apply Multiple Substitutions To The Input
  • Equivalence Classes Of Repetition MetaChars
  • Extract Value From Command Output With Sed
  • Grab All The Method Names Defined In A Ruby File
  • Grab The First Line Of A File
  • OSX sed Does Regex A Bit Different
  • Output Only Lines Involved In A Substitution
  • Reference A Capture In The Regex
  • Use An Alternative Delimiter In A Substitution

Shell

  • Check If The First Argument Is Given
  • Format And Print The Current Date And Time

Streaming

  • Monitor An Audio Input Device In OBS

Tailwind CSS

  • Base Styles For Text Link
  • Specify Paths For Purging Unused CSS
  • Use Tailwind Typography Prose In Dark Mode

tmux

  • Access Past Copy Buffer History
  • Adjusting Window Pane Size
  • Break Current Pane Out To Separate Window
  • Change Base Directory Of Existing Session
  • Change The Default Prefix Key
  • Create A Named tmux Session
  • Create A New Session In A New Server
  • Cycle Through Layouts
  • Enabling Vi Mode
  • Get Mouse Copy/Paste Working In Kitty
  • Hiding The Status Bar
  • Jumping Between Sessions
  • Kill All Your tmux Sessions
  • Kill Other Connections To A Session
  • Kill The Current Session
  • List All Key Bindings
  • List Sessions
  • Open New Window With A Specific Directory
  • Organizing Windows
  • Paging Up And Down
  • Pane Killer
  • Reclaiming The Entire Window
  • Remove The Delay On The Escape Key
  • Rename The Current Session
  • Reset An Option Back To Its Default Value
  • Set Environment Variables When Creating Session
  • Set Session Specific Environment Variables
  • Show The Current Value For An Option
  • Swap Split Panes
  • Switch To A Specific Session And Window
  • tmux in your tmux
  • Toggle Between Two Common Sessions

TypeScript

  • Add Types To An Object Destructuring
  • Compiler Checks For Unused Params And Variables
  • Extract Object Type Keys Into A Union Type
  • Extract Object Type Values Into A Union Type
  • Interfaces With The Same Name Are Merged
  • Re-Export An Imported Type
  • Type Narrowing With Similarly Shaped Objects
  • Type Promise Results With The Awaited Type
  • Use An Array Check For Type Narrowing
  • Zero-Config Environments For Trying Out Types

Unix

  • All The Environment Variables
  • Cat A File With Line Numbers
  • Cat Files With Color Using Bat
  • Change Default Shell For A User
  • Change To That New Directory
  • Check If A Port Is In Use
  • Check If Command Is Executable Before Using
  • Check The Current Working Directory
  • Clear The Screen
  • Command Line Length Limitations
  • Compare Two Variables In A Bash Script
  • Configure cd To Behave Like pushd In Zsh
  • Copying File Contents To System Paste Buffer
  • Copying Nested Directories With Ditto
  • Count The Number Of Matches In A Grep
  • Create A File Descriptor with Process Substitution
  • Create A Sequence Of Values With A Step
  • Curl With Cookies
  • Curling For Headers
  • Curling With Basic Auth Credentials
  • Display All The Terminal Colors
  • Display Free Disk Space
  • Display The Contents Of A Directory As A Tree
  • Do A Dry Run Of An rsync
  • Do Not Overwrite Existing Files
  • Enable Multi-Select Of Results With fzf
  • Exclude A Command From The ZSH History File
  • Exclude A Directory With Find
  • Exclude Certain Files From An rsync Run
  • Figure Out The Week Of The Year From The Terminal
  • File Type Info With File
  • Find A File Installed By Brew
  • Find Files With fd
  • Find Newer Files
  • Fix Unlinked Node Binaries With asdf
  • Forward Multiple Ports Over SSH
  • Generate A SAML Key And Certificate Pair
  • Get Matching Filenames As Output From Grep
  • Get The Unix Timestamp
  • Global Substitution On The Previous Command
  • Globbing For All Directories In Zsh
  • Globbing For Filenames In Zsh
  • Grep For Files Without A Match
  • Grep For Files With Multiple Matches
  • Grep For Multiple Patterns
  • Hexdump A Compiled File
  • Ignore The Alias When Running A Command
  • Interactively Browse Available Node Versions
  • Jump To The Ends Of Your Shell History
  • Kill Everything Running On A Certain Port
  • Killing A Frozen SSH Session
  • Last Argument Of The Last Command
  • Less With Style
  • List All The Enabled ZSH Options
  • List All Users
  • List Files Ordered By Modification Date
  • List Names Of Files With Matches
  • List Of Sessions To A Machine
  • List Parent pid With ps
  • List Stats For A File
  • List The Available JDKs
  • List The Stack Of Remembered Directories
  • Map A Domain To localhost
  • Only Show The Matches
  • Open The Current Command In An Editor
  • Partial String Matching In Bash Scripts
  • PID Of The Current Shell
  • Print A Range Of Lines For A File With Bat
  • Print Out Files In Reverse
  • Provide A Fallback Value For Unset Parameter
  • Remove A Directory Called -p
  • Repeat Yourself
  • Saying Yes
  • Search Files Specific To A Language
  • Search History
  • Search Man Page Descriptions
  • Securely Remove Files
  • Set The asdf Package Version For A Single Shell
  • Show A File Preview When Searching With FZF
  • Show Disk Usage For The Current Directory
  • Show The Size Of Everything In A Directory
  • Skip Paging If Output Fits On Screen With Less
  • SSH Escape Sequences
  • SSH With Port Forwarding
  • Specify The Language For A File With Bat
  • Sort In Numerical Order
  • Switch Versions of a Brew Formula
  • Touch Access And Modify Times Individually
  • Undo Some Command Line Editing
  • Update Package Versions Known By asdf Plugin
  • Use fzf To Change Directories
  • Use Regex Pattern Matching With Grep
  • View A Web Page In The Terminal
  • Watch The Difference
  • Watch This Run Repeatedly
  • Where Are The Binaries?

Vercel

  • Add Web Server Layer Redirects
  • Deploy An App Without Pushing An Empty Commit
  • Naming Of The Vercel Config File
  • Share Development Environment Variables Via CLI

Vim

  • Aborting Git Commits And Rebases
  • Absolute And Relative Line Numbers
  • Add A File Without Loading It
  • Add Custom Dictionary Words
  • All The Ways To Write And Quit In Vim
  • Allow Neovim To Copy/Paste With System Clipboard
  • Almost The End Of The Line
  • Alternate Files With vim-rails
  • Always Keep The Gutter Open
  • Amend Commits With Fugitive
  • Backspace Options
  • Beginning And End Of Previous Change
  • The Black Hole Register
  • Blank Lines Above And Below
  • Breaking The Undo Sequence
  • Buffer Time Travel
  • Build And Install A Go Program
  • Case-Aware Substitution With vim-abolish
  • Case-Insensitive Substitution
  • Center The Cursor
  • Check For An Executable
  • Check Your Current Color Scheme
  • Clear Out The Jump List
  • Close All Other Splits
  • Close All Other Windows
  • Close the Current Buffer
  • Coerce The Current Filetype
  • Coercing Casing With vim-abolish
  • Configure FZF To Use fd For File Finding
  • Count the Number of Matches
  • Create A New Directory In netrw
  • Create A New File In A New Directory
  • Creating Non-Existent Directories
  • Default netrw To Tree Liststyle
  • Delete Every Other Line
  • Delete Lines That Match A Pattern
  • Delete To The End Of The Line
  • Deleting Buffers In BufExplorer
  • Deleting Directories Of Files From netrw
  • Detect If You Are On A Mac
  • Difference Between :wq and :x
  • Display Word Count Stats
  • Edges Of The Selection
  • Edit A File At A Specific Line Number
  • Edit A File Starting On The Last Line
  • End Of The Word
  • Escaping Terminal-Mode In An Nvim Terminal
  • Filter Lines Through An External Program
  • Find The Nth Character Position In A File
  • Fix The Spelling Of A Word
  • Fold A Visual Selection And Expand It Back
  • For When That Escape Key Is Hard To Reach
  • Format Long Lines To Text Width
  • From Ruby Variables To JavaScript Variables
  • Generate and Edit Rails Migration
  • Get The pid Of The Session
  • Go Back To The Previous Window
  • Go To File With Line Number
  • Grepping Through The Vim Help Files
  • Head of File Name
  • Help For Non-Normal Mode Features
  • Highlighting Search Matches
  • Horizontal to Vertical and Back Again
  • Increment All The Numbers
  • Incremental Searching
  • Interact With The Alternate File
  • Interactive Buffer List
  • Joining Lines Together
  • Jump Back To The Latest Jump Position
  • Jump Between And Stage Git Hunks With Fugitive
  • Jump To Matching Pair
  • Jump To The Next Misspelling
  • List All Buffers
  • List Of Plugins
  • Load A Directory Of Files Into The Buffer List
  • Make Directories For The Current File
  • Marks Across Vim Sessions
  • Match The Beginning And End Of Words
  • Moving To A Specific Line
  • Navigate To The Nth Column On A Line
  • Navigating By Blank Lines
  • NETRW Listing Styles
  • Next Modified Buffer
  • Normal Node Binding To Just Quit
  • Open A Tag In A Split Window
  • Open an Unnamed Buffer
  • Open FZF Result In A Split
  • Open Routes File With vim-rails
  • Open The Directory Of The Current File
  • Open The Fugitive Git Summary Window
  • Open The Gemfile
  • Open The Latest Rails Migration
  • Open The Selected Lines In GitHub With Gbrowse
  • Open Vim To A Tag Definition
  • Opening a URL
  • Opening Man Pages In Vim
  • Paste A Register From Insert Mode
  • Preventing Typos with Abbreviations
  • Previous Buffer
  • Previous Visual Selection
  • Print The Relative Path Of The Current File
  • Print Version Information
  • Quick File Info
  • Quick Man Pages
  • Quick Quickfix List Navigation
  • Quickly Fix A Misspelled Word
  • Quickly Switch To A Buffer By Number
  • Quit When There Is An Argument List
  • Re-indenting Your Code
  • Read In The Contents Of A Rails File
  • Rename A File Through netrw
  • Rename Current File
  • Repeat The Previous Change
  • Repeating Characters
  • Replace A Character
  • Reset Target tslime Pane
  • Reverse A Group Of Lines
  • Rotate Everything By 13 Letters
  • Rotate The Orientation Of Split Windows
  • Running Bundle With vim-bundler
  • Scrolling Relative to the Cursor
  • Search Backward Through A File
  • Searching For Hex Digits
  • Select Several Results From An FZF Search
  • Set End Of Line Markers
  • Set Your Color Scheme
  • Set Up Vim-Plug With Neovim
  • Setting Filetype With Modelines
  • Show All Syntax Highlighting Rules
  • Show Matching Entries For Help
  • Specify The Line Height Of The Quick Fix Window
  • Split Different
  • Split The Current Window
  • Splitting For New Files
  • Source Original vimrc When Using Neovim
  • Swap Occurrences Of Two Words
  • Swapping Split Windows
  • Tabs To Spaces
  • The Vim Info File
  • Toggle Absolute And Relative Paths In BufExplorer
  • Toggling Syntax Highlighting
  • Turning Off Search Highlighting
  • Unloading A Buffer
  • Use Active Window With BufExplorer
  • Use The Terminal Inside A Vim Session
  • Using vim-surround With A Visual Selection
  • Verbose Commits With Fugitive
  • View Commit History of a File
  • View The Current File In GitHub
  • Viewing Man Pages with man.vim
  • Vim Without The Extras
  • What Is On The Runtime Path?
  • Whole Line Auto-Completion
  • Wrap With Some Room

VSCode

  • Add The VSCode CLI To Your Path
  • Advance Through Search Results
  • Enable Breadcrumbs For Version 1.26 Release
  • Open An Integrated Terminal Window
  • Toggle Between Terminals

Webpack

  • Better Module Imports With Aliases
  • Debugging With Full Source Maps
  • Run ESLint As A Preloader
  • Specify Port Of CRA's Webpack Dev Server
  • Use A Specific Config File

Workflow

  • Change Window Name In iTerm
  • Convert An ePub Document To PDF On Mac
  • Create A Public URL For A Local Server
  • Enable Dev Tools For Safari
  • Forward Stripe Events To Local Server
  • Get Your Public IP Address
  • Import A Github Project Into CodeSandbox
  • Interactively Kill A Process With fkill
  • Open Slack's Keyboard Shortcuts Reference Panel
  • Prune The Excess From node_modules
  • Rotate An Image To Be Oriented Upright
  • Set Recurring Reminders In Slack
  • Toggle Between Stories In Storybook
  • Update asdf Plugins With Latest Package Versions
  • View The PR For The Current GitHub Branch

XState

  • Always Use Inline Functions With Assign
  • Custom Jest Matcher For XState Machine States
  • Define Event That Does Internal Self Transition
  • Events Stop Propagating Once Handled
  • Inline Actions vs Actions In Machine Options
  • Make Immediate And Delayed Transitions
  • Simple States And Composite States
  • Start A Machine In A Specific State
  • Use An XState Machine With React

YAML

  • Create Multi-Line Strings Without The Line Breaks
  • YAML Is A Superset Of JSON

Usage

The .vimrc file for this project contains a function CountTILs that can be invoked with <leader>c. This will do a substitution count of the current number of TILs and display the result in the command tray.

About

I shamelessly stole this idea from thoughtbot/til.

Other TIL Collections

License

© 2015-2022 Josh Branchaud

This repository is licensed under the MIT license. See LICENSE for details.