# 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 mostly things I learn by pairing with smart people at [Hashrocket](http://hashrocket.com/). --- ### Categories - [Clojure](#clojure) - [Devops](#devops) - [Git](#git) - [Go](#go) - [JavaScript](#javascript) - [Linux](#linux) - [Mac](#mac) - [Postgres](#postgres) - [Rails](#rails) - [Ruby](#ruby) - [tmux](#tmux) - [Vim](#vim) --- ### clojure - [Aggregation Using merge-with](clojure/aggregation-using-merge-with.md) - [Evaluate One Liners With lein-exec](clojure/evaluate-one-liners-with-lein-exec.md) - [Expanding Macros](clojure/expanding-macros.md) - [Get The Value Of An Environment Variable](clojure/get-the-value-of-an-environment-variable.md) - [Open JavaDocs](clojure/open-javadocs.md) - [Pretty Print The Last Thing](clojure/pretty-print-the-last-thing.md) - [Quick Clojure Docs](clojure/quick-clojure-docs.md) - [Reductions](clojure/reductions.md) - [Set Max Heap Size](clojure/set-max-heap-size.md) - [Specify the Directory of a Shell Command](clojure/specify-the-directory-of-a-shell-command.md) - [Splitting On Whitespace](clojure/splitting-on-whitespace.md) - [Swap Two Items in a Vector](clojure/swap-two-items-in-a-vector.md) - [Try A Clojure Project In The REPL](clojure/try-a-clojure-project-in-the-repl.md) - [Type of Anything](clojure/type-of-anything.md) - [When Overflow Is Desired](clojure/when-overflow-is-desired.md) ### devops - [Check The Status of All Services](devops/check-the-status-of-all-services.md) - [Check The Syntax Of nginx Files](devops/check-the-syntax-of-nginx-files.md) - [Push Non-master Branch To Heroku](devops/push-non-master-branch-to-heroku.md) - [Reload The nginx Configuration](devops/reload-the-nginx-configuration.md) - [Running Out Of inode Space](devops/running-out-of-inode-space.md) - [Wipe A Heroku Postgres Database](devops/wipe-a-heroku-postgres-database.md) ### git - [Accessing a Lost Commit](git/accessing-a-lost-commit.md) - [Amend Author Of Previous Commit](git/amend-author-of-previous-commit.md) - [Caching Credentials](git/caching-credentials.md) - [Checkout Old Version Of A File](git/checkout-old-version-of-a-file.md) - [Checkout Previous Branch](git/checkout-previous-branch.md) - [Clean Out All Local Branches](git/clean-out-all-local-branches.md) - [Clean Up Old Remote Tracking References](git/clean-up-old-remote-tracking-references.md) - [Delete All Untracked Files](git/delete-all-untracked-files.md) - [Determine The Hash Id For A Blob](git/determine-the-hash-id-for-a-blob.md) - [Dry Runs in Git](git/dry-runs-in-git.md) - [Excluding Files Locally](git/excluding-files-locally.md) - [Grab A Single File From A Stash](git/grab-a-single-file-from-a-stash.md) - [Ignore Changes To A Tracked File](git/ignore-changes-to-a-tracked-file.md) - [Intent To Add](git/intent-to-add.md) - [Last Commit A File Appeared In](git/last-commit-a-file-appeared-in.md) - [List Filenames Without The Diffs](git/list-filenames-without-the-diffs.md) - [List Untracked Files](git/list-untracked-files.md) - [Renaming A Branch](git/renaming-a-branch.md) - [Single Key Presses in Interactive Mode](git/single-key-presses-in-interactive-mode.md) - [Staging Changes Within Vim](git/staging-changes-within-vim.md) - [Staging Stashes Interactively](git/staging-stashes-interactively.md) - [Stashing Only Unstaged Changes](git/stashing-only-unstaged-changes.md) - [Stashing Untracked Files](git/stashing-untracked-files.md) - [Untrack A File Without Deleting It](git/untrack-a-file-without-deleting-it.md) - [Verbose Commit Message](git/verbose-commit-message.md) - [Whitespace Warnings](git/whitespace-warnings.md) ### go - [Not So Random](go/not-so-random.md) - [Replace The Current Process With An External Command](go/replace-the-current-process-with-an-external-command.md) ### javascript - [Character Codes from Keyboard Listeners](javascript/character-codes-from-keyboard-listeners.md) - [Throttling A Function Call](javascript/throttling-a-function-call.md) - [Truthiness of Integer Arrays](javascript/truthiness-of-integer-arrays.md) ### linux - [Check Ubuntu Version](linux/check-ubuntu-version.md) - [Configure Your Server Timezone](linux/configure-your-server-timezone.md) - [Upgrading Ubuntu](linux/upgrading-ubuntu.md) ### mac - [Default Screenshot Location](mac/default-screenshot-location.md) ### postgres - [Auto Expanded Display](postgres/auto-expanded-display.md) - [Checking The Type Of A Value](postgres/checking-the-type-of-a-value.md) - [Configure The Timezone](postgres/configure-the-timezone.md) - [Count Records By Type](postgres/count-records-by-type.md) - [Create A Composite Primary Key](postgres/create-a-composite-primary-key.md) - [Default Schema](postgres/default-schema.md) - [Defining Arrays](postgres/defining-arrays.md) - [Edit Existing Functions](postgres/edit-existing-functions.md) - [Export Query Results To A CSV](postgres/export-query-results-to-a-csv.md) - [Extracting Nested JSON Data](postgres/extracting-nested-json-data.md) - [Find The Data Directory](postgres/find-the-data-directory.md) - [Fizzbuzz With Common Table Expressions](postgres/fizzbuzz-with-common-table-expressions.md) - [Generate A UUID](postgres/generate-a-uuid.md) - [Generate Series Of Numbers](postgres/generate-series-of-numbers.md) - [Getting A Slice Of An Array](postgres/getting-a-slice-of-an-array.md) - [Insert Just The Defaults](postgres/insert-just-the-defaults.md) - [Integers In Postgres](postgres/integers-in-postgres.md) - [Intervals Of Time By Week](postgres/intervals-of-time-by-week.md) - [Limit Execution Time Of Statements](postgres/limit-execution-time-of-statements.md) - [List All Columns Of A Specific Type](postgres/list-all-columns-of-a-specific-type.md) - [List All Versions Of A Function](postgres/list-all-versions-of-a-function.md) - [List Database Users](postgres/list-database-users.md) - [Restart A Sequence](postgres/restart-a-sequence.md) - [Send A Command To psql](postgres/send-a-command-to-psql.md) - [Special Math Operators](postgres/special-math-operators.md) - [String Contains Another String](postgres/string-contains-another-string.md) - [Temporarily Disable Triggers](postgres/temporarily-disable-triggers.md) - [Temporary Tables](postgres/temporary-tables.md) - [Timestamp Functions](postgres/timestamp-functions.md) - [Toggling The Pager In PSQL](postgres/toggling-the-pager-in-psql.md) - [Truncate All Rows](postgres/truncate-all-rows.md) - [Truncate Tables With Dependents](postgres/truncate-tables-with-dependents.md) - [Turning Timing On](postgres/turning-timing-on.md) - [Types By Category](postgres/types-by-category.md) - [Use A psqlrc File For Common Settings](postgres/use-a-psqlrc-file-for-common-settings.md) - [Use Argument Indexes](postgres/use-argument-indexes.md) - [Using Intervals To Offset Time](postgres/using-intervals-to-offset-time.md) - [Who Is The Current User](postgres/who-is-the-current-user.md) - [Word Count for a Column](postgres/word-count-for-a-column.md) ### rails - [All or Nothing Database Transactions](rails/all-or-nothing-database-transactions.md) - [Attribute Getter without the Recursion](rails/attribute-getter-without-the-recursion.md) - [Attribute Was](rails/attribute-was.md) - [Autosave False On ActiveRecord Associations](rails/autosave-false-on-activerecord-associations.md) - [Capybara Page Status Code](rails/capybara-page-status-code.md) - [Code Statistics For An Application](rails/code-statistics-for-an-application.md) - [Conditional Class Selectors in Haml](rails/conditional-class-selectors-in-haml.md) - [Creating Records of Has_One Associations](rails/creating-records-of-has-one-associations.md) - [Hash Slicing](rails/hash-slicing.md) - [Ignore Poltergeist JavaScript Errors](rails/ignore-poltergeist-javascript-errors.md) - [Params Includes Submission Button Info](rails/params-includes-submission-button-info.md) - [Pretend Generations](rails/pretend-generations.md) - [Retrieve An Object If It Exists](rails/retrieve-an-object-if-it-exists.md) - [Select Value For SQL Counts](rails/select-value-for-sql-counts.md) - [Show Pending Migrations](rails/show-pending-migrations.md) ### ruby - [Are They All True?](ruby/are-they-all-true.md) - [Assoc For Hashes](ruby/assoc-for-hashes.md) - [Colorful Output With MiniTest](ruby/colorful-output-with-minitest.md) - [Comparing Class Hierarchy Relationships](ruby/comparing-class-hierarchy-relationships.md) - [Construct A Constant From A String](ruby/construct-a-constant-from-a-string.md) - [Create an Array of Stringed Numbers](ruby/create-an-array-of-stringed-numbers.md) - [Destructuring Arrays In Blocks](ruby/destructuring-arrays-in-blocks.md) - [Disassemble Some Codes](ruby/disassemble-some-codes.md) - [Double Splat To Merge Hashes](ruby/double-splat-to-merge-hashes.md) - [Editing Code In Pry](ruby/editing-code-in-pry.md) - [Evaluating One-Off Commands](ruby/evaluating-one-off-commands.md) - [FactoryGirl Sequences](ruby/factory-girl-sequences.md) - [Finding The Source of Ruby Methods](ruby/finding-the-source-of-ruby-methods.md) - [Invoking Rake Tasks Multiple Times](ruby/invoking-rake-tasks-multiple-times.md) - [Last Raised Exception In The Call Stack](ruby/last-raised-exception-in-the-call-stack.md) - [Limit Split](ruby/limit-split.md) - [Listing Local Variables](ruby/listing-local-variables.md) - [Next And Previous Floats](ruby/next-and-previous-floats.md) - [Override The Initial Sequence Value](ruby/override-the-initial-sequence-value.md) - [Parallel Bundle Install](ruby/parallel-bundle-install.md) - [Passing Arbitrary Methods As Blocks](ruby/passing-arbitrary-methods-as-blocks.md) - [Passing Arguments To A Rake Task](ruby/passing-arguments-to-a-rake-task.md) - [Percent Notation](ruby/percent-notation.md) - [Question Mark Operator](ruby/question-mark-operator.md) - [Rake Only Lists Tasks With Descriptions](ruby/rake-only-lists-tasks-with-descriptions.md) - [Replace The Current Process With An External Command](ruby/replace-the-current-process-with-an-external-command.md) - [Set RVM Default Ruby](ruby/set-rvm-default-ruby.md) - [Squeeze Out The Extra Space](ruby/squeeze-out-the-extra-space.md) - [Summing Collections](ruby/summing-collections.md) - [Uncaught Exceptions In Pry](ruby/uncaught-exceptions-in-pry.md) - [`undef_method` And The Inheritance Hierarchy](ruby/undef-method-and-the-inheritance-hierarchy.md) - [Zero Padding](ruby/zero-padding.md) ### tmux - [Adjusting Window Pane Size](tmux/adjusting-window-pane-size.md) - [Create A Named tmux Session](tmux/create-a-named-tmux-session.md) - [Cycle Through Layouts](tmux/cycle-through-layouts.md) - [Jumping Between Sessions](tmux/jumping-between-sessions.md) - [List All Key Bindings](tmux/list-all-key-bindings.md) - [Organizing Windows](tmux/organizing-windows.md) - [Pane Killer](tmux/pane-killer.md) - [Reclaiming The Entire Window](tmux/reclaiming-the-entire-window.md) - [Swap Split Panes](tmux/swap-split-panes.md) - [tmux in your tmux](tmux/tmux-in-your-tmux.md) ### unix - [All The Environment Variables](unix/all-the-environment-variables.md) - [Cat A File With Line Numbers](unix/cat-a-file-with-line-numbers.md) - [Check If A Port Is In Use](unix/check-if-a-port-is-in-use.md) - [Clear The Screen](unix/clear-the-screen.md) - [Create A File Descriptor with Process Substitution](unix/create-a-file-descriptor-with-process-substitution.md) - [Do Not Overwrite Existing Files](unix/do-not-overwrite-existing-files.md) - [File Type Info With File](unix/file-type-info-with-file.md) - [Find Newer Files](unix/find-newer-files.md) - [Global Substitution On The Previous Command](unix/global-substitution-on-the-previous-command.md) - [Hexdump A Compiled File](unix/hexdump-a-compiled-file.md) - [Kill Everything Running On A Certain Port](unix/kill-everything-running-on-a-certain-port.md) - [Killing A Frozen SSH Session](unix/killing-a-frozen-ssh-session.md) - [List All The Say Voices](unix/list-all-the-say-voices.md) - [List All Users](unix/list-all-users.md) - [Only Show The Matches](unix/only-show-the-matches.md) - [Repeat Yourself](unix/repeat-yourself.md) - [Saying Yes](unix/saying-yes.md) - [Search History](unix/search-history.md) - [Search Man Page Descriptions](unix/search-man-page-descriptions.md) - [Securely Remove Files](unix/securely-remove-files.md) - [SSH With Port Forwarding](unix/ssh-with-port-forwarding.md) - [Switch Versions of a Brew Formula](unix/switch-versions-of-a-brew-formula.md) - [Watch The Difference](unix/watch-the-difference.md) - [Watch This Run Repeatedly](unix/watch-this-run-repeatedly.md) - [Where Are The Binaries?](unix/where-are-the-binaries.md) ### vim - [Absolute And Relative Line Numbers](vim/absolute-and-relative-line-numbers.md) - [Add A File Without Loading It](vim/add-a-file-without-loading-it.md) - [Add Custom Dictionary Words](vim/add-custom-dictionary-words.md) - [Alternate Files With vim-rails](vim/alternate-files-with-vim-rails.md) - [Amend Commits With Fugitive](vim/amend-commits-with-fugitive.md) - [Beginning And End Of Previous Change](vim/beginning-and-end-of-previous-change.md) - [The Black Hole Register](vim/the-black-hole-register.md) - [Buffer Time Travel](vim/buffer-time-travel.md) - [Case-Aware Substitution With vim-abolish](vim/case-aware-substitution-with-vim-abolish.md) - [Case-Insensitive Substitution](vim/case-insensitive-substitution.md) - [Center The Cursor](vim/center-the-cursor.md) - [Check Your Current Color Scheme](vim/check-your-current-color-scheme.md) - [Close the Current Buffer](vim/close-the-current-buffer.md) - [Coerce The Current Filetype](vim/coerce-the-current-filetype.md) - [Count the Number of Matches](vim/count-the-number-of-matches.md) - [Create A New Directory In netrw](vim/create-a-new-directory-in-netrw.md) - [Create A New File In A New Directory](vim/create-a-new-file-in-a-new-directory.md) - [Delete Every Other Line](vim/delete-every-other-line.md) - [Delete Lines That Match A Pattern](vim/delete-lines-that-match-a-pattern.md) - [Deleting Directories Of Files From netrw](vim/deleting-directories-of-files-from-netrw.md) - [Edges Of The Selection](vim/edges-of-the-selection.md) - [End Of The Word](vim/end-of-the-word.md) - [Filter Lines Through An External Program](vim/filter-lines-through-an-external-program.md) - [Format Long Lines To Text Width](vim/format-long-lines-to-text-width.md) - [Generate and Edit Rails Migration](vim/generate-and-edit-rails-migration.md) - [Head of File Name](vim/head-of-file-name.md) - [Help For Non-Normal Mode Features](vim/help-for-non-normal-mode-features.md) - [Horizontal to Vertical and Back Again](vim/horizontal-to-vertical-and-back-again.md) - [Incremental Searching](vim/incremental-searching.md) - [Interactive Buffer List](vim/interactive-buffer-list.md) - [Joining Lines Together](vim/joining-lines-together.md) - [Jump To Matching Pair](vim/jump-to-matching-pair.md) - [Jump To The Next Misspelling](vim/jump-to-the-next-misspelling.md) - [List All Buffers](vim/list-all-buffers.md) - [List Of Plugins](vim/list-of-plugins.md) - [Match The Beginning And End Of Words](vim/match-the-beginning-and-end-of-words.md) - [Marks Across Vim Sessions](vim/marks-across-vim-sessions.md) - [Moving To A Specific Line](vim/moving-to-a-specific-line.md) - [Navigating By Blank Lines](vim/navigating-by-blank-lines.md) - [NETRW Listing Styles](vim/netrw-listing-styles.md) - [Next Modified Buffer](vim/next-modified-buffer.md) - [Open an Unnamed Buffer](vim/open-an-unnamed-buffer.md) - [Opening a URL](vim/opening-a-url.md) - [Preventing Typos with Abbreviations](vim/preventing-typos-with-abbreviations.md) - [Previous Buffer](vim/previous-buffer.md) - [Previous Visual Selection](vim/previous-visual-selection.md) - [Quick File Info](vim/quick-file-info.md) - [Quick Man Pages](vim/quick-man-pages.md) - [Quick Quickfix List Navigation](vim/quick-quickfix-list-navigation.md) - [Re-indenting Your Code](vim/reindenting-your-code.md) - [Rename Current File](vim/rename-current-file.md) - [Repeat The Previous Change](vim/repeat-the-previous-change.md) - [Repeating Characters](vim/repeating-characters.md) - [Replace A Character](vim/replace-a-character.md) - [Reverse A Group Of Lines](vim/reverse-a-group-of-lines.md) - [Scrolling Relative to the Window](vim/scrolling-relative-to-the-window.md) - [Searching For Hex Digits](vim/searching-for-hex-digits.md) - [Set End Of Line Markers](vim/set-end-of-line-markers.md) - [Set Your Color Scheme](vim/set-your-color-scheme.md) - [Split Different](vim/split-different.md) - [Swap Occurrences Of Two Words](vim/swap-occurrences-of-two-words.md) - [Swapping Split Windows](vim/swapping-split-windows.md) - [Tabs To Spaces](vim/tabs-to-spaces.md) - [The Vim Info File](vim/the-vim-info-file.md) - [Unloading A Buffer](vim/unloading-a-buffer.md) - [Verbose Commits With Fugitive](vim/verbose-commits-with-fugitive.md) - [View Commit History of a File](vim/view-commit-history-of-a-file.md) - [Viewing Man Pages with man.vim](vim/viewing-man-pages-with-man-vim.md) - [Vim Without The Extras](vim/vim-without-the-extras.md) - [Whole Line Auto-Completion](vim/whole-line-auto-completion.md) - [Wrap With Some Room](vim/wrap-with-some-room.md) ## About I shamelessly stole this idea from [thoughtbot/til](https://github.com/thoughtbot/til). ## Other TIL Collections - [Today I Learned by Hashrocket](https://til.hashrocket.com) - [jwworth/til](https://github.com/jwworth/til) - [thoughtbot/til](https://github.com/thoughtbot/til) ## License © 2015 Josh Branchaud This repository is licensed under the MIT license. See `LICENSE` for details.