---
title: "Today I Learned | OOZOU"
description: "Short, practical notes from the OOZOU team: quick lessons from daily engineering and design work."
canonical: https://oozou.com/til
locale: en
---

# Today I Learned

> Short, practical notes from the OOZOU team: quick lessons from daily engineering and design work.

## Topics

- [ruby](https://oozou.com/til-topics/ruby) ([markdown](https://oozou.com/til-topics/ruby.md)) (12)
- [javascript](https://oozou.com/til-topics/javascript) ([markdown](https://oozou.com/til-topics/javascript.md)) (3)
- [elixir](https://oozou.com/til-topics/elixir) ([markdown](https://oozou.com/til-topics/elixir.md)) (1)
- [vim](https://oozou.com/til-topics/vim) ([markdown](https://oozou.com/til-topics/vim.md)) (7)
- [macos](https://oozou.com/til-topics/macos) ([markdown](https://oozou.com/til-topics/macos.md)) (10)
- [ruby on rails](https://oozou.com/til-topics/ruby-on-rails) ([markdown](https://oozou.com/til-topics/ruby-on-rails.md)) (22)
- [shell](https://oozou.com/til-topics/shell) ([markdown](https://oozou.com/til-topics/shell.md)) (30)
- [figma](https://oozou.com/til-topics/figma) ([markdown](https://oozou.com/til-topics/figma.md)) (4)
- [cli](https://oozou.com/til-topics/cli) ([markdown](https://oozou.com/til-topics/cli.md)) (3)
- [heroku](https://oozou.com/til-topics/heroku) ([markdown](https://oozou.com/til-topics/heroku.md)) (1)

## Notes

- [Run Claude Code Fully Autonomously with a YOLO Alias](https://oozou.com/til/run-claude-code-fully-autonomously-with-a-yolo-alias-190) ([markdown](https://oozou.com/til/run-claude-code-fully-autonomously-with-a-yolo-alias-190.md)) · cli · 2026-02-16
- [Run a command on your GNU/Linux dedicated Nvidia GPU (e.g. ollama)](https://oozou.com/til/run-a-command-on-your-gnu-linux-dedicated-nvidia-gpu-e-g-ollama-189) ([markdown](https://oozou.com/til/run-a-command-on-your-gnu-linux-dedicated-nvidia-gpu-e-g-ollama-189.md)) · cli · 2024-03-20
- [Use Pundit Policies to manage permitted parameters, defaults and per action](https://oozou.com/til/use-pundit-policies-to-manage-permitted-parameters-defaults-and-per-action-188) ([markdown](https://oozou.com/til/use-pundit-policies-to-manage-permitted-parameters-defaults-and-per-action-188.md)) · ruby-on-rails · 2022-02-10
- [Use `requestSubmit` for form submits with Turbo](https://oozou.com/til/use-requestsubmit-for-form-submits-with-turbo-155) ([markdown](https://oozou.com/til/use-requestsubmit-for-form-submits-with-turbo-155.md)) · ruby-on-rails · 2022-01-31
- [Ignore bundled gems for Rubocop and ESLint in GitHub Actions](https://oozou.com/til/ignore-bundled-gems-for-rubocop-and-eslint-in-github-actions-154) ([markdown](https://oozou.com/til/ignore-bundled-gems-for-rubocop-and-eslint-in-github-actions-154.md)) · ruby-on-rails · 2022-01-19
- [Add a macOS-style drop shadow to your "partial" screen captures or plain-bordered images](https://oozou.com/til/add-a-macos-style-drop-shadow-to-your-partial-screen-captures-or-plain-bordered-images-153) ([markdown](https://oozou.com/til/add-a-macos-style-drop-shadow-to-your-partial-screen-captures-or-plain-bordered-images-153.md)) · macos · 2021-08-20
- [Create monochrome screen using overlay layers covered with hue fill effect](https://oozou.com/til/create-monochrome-screen-using-overlay-layers-covered-with-hue-fill-effect-152) ([markdown](https://oozou.com/til/create-monochrome-screen-using-overlay-layers-covered-with-hue-fill-effect-152.md)) · figma · 2021-06-22
- [Hold ⌥option while click & drag along an input field to adjust sizing](https://oozou.com/til/hold-option-while-click-drag-along-an-input-field-to-adjust-sizing-118) ([markdown](https://oozou.com/til/hold-option-while-click-drag-along-an-input-field-to-adjust-sizing-118.md)) · figma · 2021-06-18
- [git check-ignore](https://oozou.com/til/git-check-ignore-117) ([markdown](https://oozou.com/til/git-check-ignore-117.md)) · cli · 2021-05-25
- [Allow pasting multiline ruby blocks in Pry when using leading dot notation](https://oozou.com/til/allow-pasting-multiline-ruby-blocks-in-pry-when-using-leading-dot-notation-116) ([markdown](https://oozou.com/til/allow-pasting-multiline-ruby-blocks-in-pry-when-using-leading-dot-notation-116.md)) · ruby · 2021-04-30
- [Rails 6, Ruby 3, Bootstrap 5 and Hotwire](https://oozou.com/til/rails-6-ruby-3-bootstrap-5-and-hotwire-115) ([markdown](https://oozou.com/til/rails-6-ruby-3-bootstrap-5-and-hotwire-115.md)) · ruby-on-rails · 2021-04-18
- [Convert Text Object to Title Case in Figma](https://oozou.com/til/convert-text-object-to-title-case-in-figma-114) ([markdown](https://oozou.com/til/convert-text-object-to-title-case-in-figma-114.md)) · figma · 2021-02-17
- [Reduce Heroku Slug Size](https://oozou.com/til/reduce-heroku-slug-size-113) ([markdown](https://oozou.com/til/reduce-heroku-slug-size-113.md)) · heroku · 2021-01-06
- [Run incognito/private commands for Bash and Zsh](https://oozou.com/til/run-incognito-private-commands-for-bash-and-zsh-112) ([markdown](https://oozou.com/til/run-incognito-private-commands-for-bash-and-zsh-112.md)) · shell · 2020-12-08
- [Convert SVG to PNG](https://oozou.com/til/convert-svg-to-png-79) ([markdown](https://oozou.com/til/convert-svg-to-png-79.md)) · macos · 2020-11-07
- [CMD+Click behaviour in Figma](https://oozou.com/til/cmd-click-behaviour-in-figma-78) ([markdown](https://oozou.com/til/cmd-click-behaviour-in-figma-78.md)) · figma · 2020-10-31
- [Rails Cache-Control](https://oozou.com/til/rails-cache-control-77) ([markdown](https://oozou.com/til/rails-cache-control-77.md)) · ruby-on-rails · 2020-10-27
- [Upgrade postgres database with homebrew](https://oozou.com/til/upgrade-postgres-database-with-homebrew-76) ([markdown](https://oozou.com/til/upgrade-postgres-database-with-homebrew-76.md)) · shell · 2020-10-22
- [Fix input on Heroku's rails console](https://oozou.com/til/fix-input-on-heroku-s-rails-console-73) ([markdown](https://oozou.com/til/fix-input-on-heroku-s-rails-console-73.md)) · ruby-on-rails · 2020-10-14
- [Heredoc without interpolation](https://oozou.com/til/heredoc-without-interpolation-74) ([markdown](https://oozou.com/til/heredoc-without-interpolation-74.md)) · ruby · 2020-10-14
- [Unique ID for DOM in Rails](https://oozou.com/til/unique-id-for-dom-in-rails-75) ([markdown](https://oozou.com/til/unique-id-for-dom-in-rails-75.md)) · ruby-on-rails · 2020-10-14
- [Add new types to Rails 5 attributes API](https://oozou.com/til/add-new-types-to-rails-5-attributes-api-13) ([markdown](https://oozou.com/til/add-new-types-to-rails-5-attributes-api-13.md)) · ruby-on-rails · 2020-10-13
- [Add spacers to your macOS app dock to make groups](https://oozou.com/til/add-spacers-to-your-macos-app-dock-to-make-groups-27) ([markdown](https://oozou.com/til/add-spacers-to-your-macos-app-dock-to-make-groups-27.md)) · macos · 2020-10-13
- [Amazon AWS S3 CLI copy with set perms](https://oozou.com/til/amazon-aws-s3-cli-copy-with-set-perms-14) ([markdown](https://oozou.com/til/amazon-aws-s3-cli-copy-with-set-perms-14.md)) · shell · 2020-10-13
- [Angry Docker Purge](https://oozou.com/til/angry-docker-purge-72) ([markdown](https://oozou.com/til/angry-docker-purge-72.md)) · shell · 2020-10-13
- [Attaching file to ActiveStorage without HTTP](https://oozou.com/til/attaching-file-to-activestorage-without-http-19) ([markdown](https://oozou.com/til/attaching-file-to-activestorage-without-http-19.md)) · ruby-on-rails · 2020-10-13
- [Automagical Intermediate-level Hashtables in Ruby](https://oozou.com/til/automagical-intermediate-level-hashtables-in-ruby-62) ([markdown](https://oozou.com/til/automagical-intermediate-level-hashtables-in-ruby-62.md)) · ruby · 2020-10-13
- [Back up a file with same name + prefix](https://oozou.com/til/back-up-a-file-with-same-name-prefix-42) ([markdown](https://oozou.com/til/back-up-a-file-with-same-name-prefix-42.md)) · shell · 2020-10-13
- [Bash aliases and magic](https://oozou.com/til/bash-aliases-and-magic-46) ([markdown](https://oozou.com/til/bash-aliases-and-magic-46.md)) · shell · 2020-10-13
- [Calculate anagrams in Elixir](https://oozou.com/til/calculate-anagrams-in-elixir-23) ([markdown](https://oozou.com/til/calculate-anagrams-in-elixir-23.md)) · elixir · 2020-10-13
- [Change Ruby version for single command with rbenv](https://oozou.com/til/change-ruby-version-for-single-command-with-rbenv-68) ([markdown](https://oozou.com/til/change-ruby-version-for-single-command-with-rbenv-68.md)) · ruby · 2020-10-13
- [Change system names on macOS](https://oozou.com/til/change-system-names-on-macos-16) ([markdown](https://oozou.com/til/change-system-names-on-macos-16.md)) · macos · 2020-10-13
- [Change VS Code Go to definition to Cmd+Click](https://oozou.com/til/change-vs-code-go-to-definition-to-cmd-click-59) ([markdown](https://oozou.com/til/change-vs-code-go-to-definition-to-cmd-click-59.md)) · ruby · 2020-10-13
- [Check for IKEA item availability](https://oozou.com/til/check-for-ikea-item-availability-70) ([markdown](https://oozou.com/til/check-for-ikea-item-availability-70.md)) · shell · 2020-10-13
- [Check if command exists with shell script](https://oozou.com/til/check-if-command-exists-with-shell-script-52) ([markdown](https://oozou.com/til/check-if-command-exists-with-shell-script-52.md)) · shell · 2020-10-13
- [Chrome tab manipulation](https://oozou.com/til/chrome-tab-manipulation-38) ([markdown](https://oozou.com/til/chrome-tab-manipulation-38.md)) · macos · 2020-10-13
- [Cleanup stale formulas on brew](https://oozou.com/til/cleanup-stale-formulas-on-brew-4) ([markdown](https://oozou.com/til/cleanup-stale-formulas-on-brew-4.md)) · macos · 2020-10-13
- [Create a Hash from an Enumerable (Rails 6.0)](https://oozou.com/til/create-a-hash-from-an-enumerable-rails-6-0-6) ([markdown](https://oozou.com/til/create-a-hash-from-an-enumerable-rails-6-0-6.md)) · ruby-on-rails · 2020-10-13
- [Create idempotent migrations](https://oozou.com/til/create-idempotent-migrations-28) ([markdown](https://oozou.com/til/create-idempotent-migrations-28.md)) · ruby-on-rails · 2020-10-13
- [Create your own git commands (aliases)](https://oozou.com/til/create-your-own-git-commands-aliases-15) ([markdown](https://oozou.com/til/create-your-own-git-commands-aliases-15.md)) · shell · 2020-10-13
- [Delete already-merged branchs in Git](https://oozou.com/til/delete-already-merged-branchs-in-git-36) ([markdown](https://oozou.com/til/delete-already-merged-branchs-in-git-36.md)) · shell · 2020-10-13
- [Delete merged git branches](https://oozou.com/til/delete-merged-git-branches-51) ([markdown](https://oozou.com/til/delete-merged-git-branches-51.md)) · shell · 2020-10-13
- [Destructuring assignment in JS](https://oozou.com/til/destructuring-assignment-in-js-22) ([markdown](https://oozou.com/til/destructuring-assignment-in-js-22.md)) · javascript · 2020-10-13
- [Diff a local file with remote version in Git](https://oozou.com/til/diff-a-local-file-with-remote-version-in-git-35) ([markdown](https://oozou.com/til/diff-a-local-file-with-remote-version-in-git-35.md)) · shell · 2020-10-13
- [Find a branch based on a commit](https://oozou.com/til/find-a-branch-based-on-a-commit-53) ([markdown](https://oozou.com/til/find-a-branch-based-on-a-commit-53.md)) · shell · 2020-10-13
- [Force push previous commit to repo](https://oozou.com/til/force-push-previous-commit-to-repo-44) ([markdown](https://oozou.com/til/force-push-previous-commit-to-repo-44.md)) · shell · 2020-10-13
- [Get current git branch name](https://oozou.com/til/get-current-git-branch-name-43) ([markdown](https://oozou.com/til/get-current-git-branch-name-43.md)) · shell · 2020-10-13
- [Get the password of the wifi you're on](https://oozou.com/til/get-the-password-of-the-wifi-you-re-on-9) ([markdown](https://oozou.com/til/get-the-password-of-the-wifi-you-re-on-9.md)) · macos · 2020-10-13
- [Go through a file Git history (GUI)](https://oozou.com/til/go-through-a-file-git-history-gui-67) ([markdown](https://oozou.com/til/go-through-a-file-git-history-gui-67.md)) · shell · 2020-10-13
- [How to Create an HTML Element with Attributes in One Line in JavaScript](https://oozou.com/til/how-to-create-an-html-element-with-attributes-in-one-line-in-javascript-69) ([markdown](https://oozou.com/til/how-to-create-an-html-element-with-attributes-in-one-line-in-javascript-69.md)) · javascript · 2020-10-13
- [How to find god objects in your project (Rails)](https://oozou.com/til/how-to-find-god-objects-in-your-project-rails-40) ([markdown](https://oozou.com/til/how-to-find-god-objects-in-your-project-rails-40.md)) · ruby-on-rails · 2020-10-13
- [How to quit Vim](https://oozou.com/til/how-to-quit-vim-29) ([markdown](https://oozou.com/til/how-to-quit-vim-29.md)) · vim · 2020-10-13
- [How to really!! quit vim](https://oozou.com/til/how-to-really-quit-vim-30) ([markdown](https://oozou.com/til/how-to-really-quit-vim-30.md)) · vim · 2020-10-13
- [How to save a file with sudo in VIM](https://oozou.com/til/how-to-save-a-file-with-sudo-in-vim-18) ([markdown](https://oozou.com/til/how-to-save-a-file-with-sudo-in-vim-18.md)) · vim · 2020-10-13
- [HTML forms that submit to another action](https://oozou.com/til/html-forms-that-submit-to-another-action-10) ([markdown](https://oozou.com/til/html-forms-that-submit-to-another-action-10.md)) · ruby-on-rails · 2020-10-13
- [If you want to override previously set order](https://oozou.com/til/if-you-want-to-override-previously-set-order-25) ([markdown](https://oozou.com/til/if-you-want-to-override-previously-set-order-25.md)) · ruby-on-rails · 2020-10-13
- [Improve Bundler performance](https://oozou.com/til/improve-bundler-performance-56) ([markdown](https://oozou.com/til/improve-bundler-performance-56.md)) · ruby · 2020-10-13
- [Kill rails that got stuck](https://oozou.com/til/kill-rails-that-got-stuck-63) ([markdown](https://oozou.com/til/kill-rails-that-got-stuck-63.md)) · shell · 2020-10-13
- [Kill unresponsive SSH session](https://oozou.com/til/kill-unresponsive-ssh-session-65) ([markdown](https://oozou.com/til/kill-unresponsive-ssh-session-65.md)) · shell · 2020-10-13
- [Limited has_many associations](https://oozou.com/til/limited-has_many-associations-31) ([markdown](https://oozou.com/til/limited-has_many-associations-31.md)) · ruby-on-rails · 2020-10-13
- [List directory structure except one or more dirs](https://oozou.com/til/list-directory-structure-except-one-or-more-dirs-24) ([markdown](https://oozou.com/til/list-directory-structure-except-one-or-more-dirs-24.md)) · shell · 2020-10-13
- [List your model names](https://oozou.com/til/list-your-model-names-58) ([markdown](https://oozou.com/til/list-your-model-names-58.md)) · ruby-on-rails · 2020-10-13
- [make a pr from command line using hub](https://oozou.com/til/make-a-pr-from-command-line-using-hub-3) ([markdown](https://oozou.com/til/make-a-pr-from-command-line-using-hub-3.md)) · shell · 2020-10-13
- [My most used slack shortcuts](https://oozou.com/til/my-most-used-slack-shortcuts-49) ([markdown](https://oozou.com/til/my-most-used-slack-shortcuts-49.md)) · macos · 2020-10-13
- [optional relation + RSpec w/shoulda-matchers](https://oozou.com/til/optional-relation-rspec-w-shoulda-matchers-41) ([markdown](https://oozou.com/til/optional-relation-rspec-w-shoulda-matchers-41.md)) · ruby · 2020-10-13
- [Postgres Functions & Non-sargable Queries](https://oozou.com/til/postgres-functions-non-sargable-queries-48) ([markdown](https://oozou.com/til/postgres-functions-non-sargable-queries-48.md)) · ruby-on-rails · 2020-10-13
- [PostgreSQL UPDATE Join ](https://oozou.com/til/postgresql-update-join-64) ([markdown](https://oozou.com/til/postgresql-update-join-64.md)) · ruby-on-rails · 2020-10-13
- [Quickly move lines up and down in any Vim mode](https://oozou.com/til/quickly-move-lines-up-and-down-in-any-vim-mode-37) ([markdown](https://oozou.com/til/quickly-move-lines-up-and-down-in-any-vim-mode-37.md)) · vim · 2020-10-13
- [Remove ruby 2.6 bundled bundler](https://oozou.com/til/remove-ruby-2-6-bundled-bundler-39) ([markdown](https://oozou.com/til/remove-ruby-2-6-bundled-bundler-39.md)) · ruby · 2020-10-13
- [Remove unwanted commit from your branch](https://oozou.com/til/remove-unwanted-commit-from-your-branch-34) ([markdown](https://oozou.com/til/remove-unwanted-commit-from-your-branch-34.md)) · shell · 2020-10-13
- [Rename files in VIM](https://oozou.com/til/rename-files-in-vim-55) ([markdown](https://oozou.com/til/rename-files-in-vim-55.md)) · vim · 2020-10-13
- [Reset Postgres table sequence after DELETE](https://oozou.com/til/reset-postgres-table-sequence-after-delete-66) ([markdown](https://oozou.com/til/reset-postgres-table-sequence-after-delete-66.md)) · macos · 2020-10-13
- [Restore a deleted file in Git](https://oozou.com/til/restore-a-deleted-file-in-git-5) ([markdown](https://oozou.com/til/restore-a-deleted-file-in-git-5.md)) · shell · 2020-10-13
- [Run rubocop against your current branch](https://oozou.com/til/run-rubocop-against-your-current-branch-21) ([markdown](https://oozou.com/til/run-rubocop-against-your-current-branch-21.md)) · ruby · 2020-10-13
- [Run rubocop before commit](https://oozou.com/til/run-rubocop-before-commit-8) ([markdown](https://oozou.com/til/run-rubocop-before-commit-8.md)) · ruby · 2020-10-13
- [Run same command on different input/inputs](https://oozou.com/til/run-same-command-on-different-input-inputs-71) ([markdown](https://oozou.com/til/run-same-command-on-different-input-inputs-71.md)) · shell · 2020-10-13
- [Scope or scope in Rails](https://oozou.com/til/scope-or-scope-in-rails-11) ([markdown](https://oozou.com/til/scope-or-scope-in-rails-11.md)) · ruby-on-rails · 2020-10-13
- [See deleted files in previous commits [git]](https://oozou.com/til/see-deleted-files-in-previous-commits-git-60) ([markdown](https://oozou.com/til/see-deleted-files-in-previous-commits-git-60.md)) · shell · 2020-10-13
- [Send messages to Slack using cURL](https://oozou.com/til/send-messages-to-slack-using-curl-26) ([markdown](https://oozou.com/til/send-messages-to-slack-using-curl-26.md)) · shell · 2020-10-13
- [Shallow clone a old repo](https://oozou.com/til/shallow-clone-a-old-repo-2) ([markdown](https://oozou.com/til/shallow-clone-a-old-repo-2.md)) · shell · 2020-10-13
- [Show TODO and other notes in your Rails app](https://oozou.com/til/show-todo-and-other-notes-in-your-rails-app-7) ([markdown](https://oozou.com/til/show-todo-and-other-notes-in-your-rails-app-7.md)) · ruby-on-rails · 2020-10-13
- [Simple Flux architecture with Vue.js](https://oozou.com/til/simple-flux-architecture-with-vue-js-50) ([markdown](https://oozou.com/til/simple-flux-architecture-with-vue-js-50.md)) · javascript · 2020-10-13
- [Suppress rspec warnings](https://oozou.com/til/suppress-rspec-warnings-33) ([markdown](https://oozou.com/til/suppress-rspec-warnings-33.md)) · ruby · 2020-10-13
- [Tag rails logs with useful information](https://oozou.com/til/tag-rails-logs-with-useful-information-32) ([markdown](https://oozou.com/til/tag-rails-logs-with-useful-information-32.md)) · ruby-on-rails · 2020-10-13
- [Use capital letters in VIM mappings](https://oozou.com/til/use-capital-letters-in-vim-mappings-54) ([markdown](https://oozou.com/til/use-capital-letters-in-vim-mappings-54.md)) · vim · 2020-10-13
- [Use FFmpeg and Apple Script to compress videos](https://oozou.com/til/use-ffmpeg-and-apple-script-to-compress-videos-12) ([markdown](https://oozou.com/til/use-ffmpeg-and-apple-script-to-compress-videos-12.md)) · macos · 2020-10-13
- [Use `host` to get more information about domains](https://oozou.com/til/use-host-to-get-more-information-about-domains-20) ([markdown](https://oozou.com/til/use-host-to-get-more-information-about-domains-20.md)) · shell · 2020-10-13
- [Use minItems/maxItems in collection JSON schemas](https://oozou.com/til/use-minitems-maxitems-in-collection-json-schemas-1) ([markdown](https://oozou.com/til/use-minitems-maxitems-in-collection-json-schemas-1.md)) · ruby-on-rails · 2020-10-13
- [Use Neovim as a git difftool](https://oozou.com/til/use-neovim-as-a-git-difftool-57) ([markdown](https://oozou.com/til/use-neovim-as-a-git-difftool-57.md)) · vim · 2020-10-13
- [Using Git's aliases feature ](https://oozou.com/til/using-git-s-aliases-feature-61) ([markdown](https://oozou.com/til/using-git-s-aliases-feature-61.md)) · shell · 2020-10-13
- [Watch CI status on Github](https://oozou.com/til/watch-ci-status-on-github-47) ([markdown](https://oozou.com/til/watch-ci-status-on-github-47.md)) · shell · 2020-10-13
- [You can use FactoryBot for non ActiveRecord models](https://oozou.com/til/you-can-use-factorybot-for-non-activerecord-models-45) ([markdown](https://oozou.com/til/you-can-use-factorybot-for-non-activerecord-models-45.md)) · ruby · 2020-10-13
- [Zsh function to list file tree](https://oozou.com/til/zsh-function-to-list-file-tree-17) ([markdown](https://oozou.com/til/zsh-function-to-list-file-tree-17.md)) · shell · 2020-10-13

---

Contact OOZOU: hello@oozou.com · +66 2544 0000 · https://oozou.com/contact

More for AI agents: https://oozou.com/llms.txt · every page has a markdown twin at its URL plus ".md"
