41554 blogs · [ { "id": "01a087c1-370c-7106-9b51-62e17ab5c098", "title": "Common Anti-Patterns in React Hook Form", "url": "https://phelipetls.github.io/pt/posts/react-hook-form-anti-patterns/", "published_at": "2025-10-15T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16e0ca9f6", "title": "Debugging GitHub actions locally in an interactive shell", "url": "https://phelipetls.github.io/pt/posts/debugging-github-actions-locally/", "published_at": "2025-01-06T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17483af61", "title": "Implementing infinite scroll in React", "url": "https://phelipetls.github.io/pt/posts/infinite-scroll-react/", "published_at": "2023-11-26T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16d64a73a", "title": "Debouncing callbacks in React components", "url": "https://phelipetls.github.io/pt/posts/debouncing-react/", "published_at": "2023-10-31T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17dd52b4f", "title": "Animating on the web", "url": "https://phelipetls.github.io/pt/posts/web-animations/", "published_at": "2023-10-04T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17960cada", "title": "My zsh prompt", "url": "https://phelipetls.github.io/pt/posts/my-zsh-prompt/", "published_at": "2023-07-16T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17b924e03", "title": "Parsing URL search params with Zod", "url": "https://phelipetls.github.io/pt/posts/url-search-params-zod/", "published_at": "2023-04-27T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16f935d75", "title": "Deriving types from data in TypeScript", "url": "https://phelipetls.github.io/pt/posts/deriving-types-from-data-typescript/", "published_at": "2023-04-02T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17a25fdec", "title": "Type-safe polymorphic React components", "url": "https://phelipetls.github.io/pt/posts/polymorphic-components-react-typescript/", "published_at": "2023-04-01T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17752f92e", "title": "Good enough syntax highlight for MDX in Neovim using Treesitter", "url": "https://phelipetls.github.io/pt/posts/mdx-syntax-highlight-treesitter-nvim/", "published_at": "2023-01-24T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1730bc19d", "title": "Git worktrees are great for code reviews", "url": "https://phelipetls.github.io/pt/posts/git-worktrees-are-great-for-code-reviews/", "published_at": "2022-11-06T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17bd5f5a5", "title": "Template String Converter in Neovim with Treesitter", "url": "https://phelipetls.github.io/pt/posts/template-string-converter-with-neovim-treesitter/", "published_at": "2022-10-14T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16ca36264", "title": "Ergonomic mappings for code formatting in Vim", "url": "https://phelipetls.github.io/pt/posts/code-formatting-vim/", "published_at": "2022-09-29T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17b4307dd", "title": "An apparent React bug", "url": "https://phelipetls.github.io/pt/posts/surprising-react-bug/", "published_at": "2022-09-10T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1731cd648", "title": "How not to write forms with React", "url": "https://phelipetls.github.io/pt/posts/how-not-to-write-forms-in-react/", "published_at": "2022-08-28T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1719a72c4", "title": "My favorite custom git commands", "url": "https://phelipetls.github.io/pt/posts/favorite-custom-git-commands/", "published_at": "2022-08-03T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16c6e9dc3", "title": "Bash for JavaScript developers", "url": "https://phelipetls.github.io/pt/posts/bash-for-javascript-developers/", "published_at": "2022-07-24T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e175f6f18c", "title": "Ansible for dotfiles: the introduction I wish I've had", "url": "https://phelipetls.github.io/pt/posts/introduction-to-ansible/", "published_at": "2022-05-26T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1786841c7", "title": "Moving away from tiling window managers", "url": "https://phelipetls.github.io/pt/posts/moving-away-from-tiling-window-managers/", "published_at": "2022-05-01T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16eaf7731", "title": "Demystifying git rebase", "url": "https://phelipetls.github.io/pt/posts/demystifying-git-rebase/", "published_at": "2022-04-06T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17ccac665", "title": "Using Storybook and MSW in React Native", "url": "https://phelipetls.github.io/pt/posts/using-storybook-and-msw-in-react-native/", "published_at": "2022-03-02T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16ba62e07", "title": "adb: a must-know CLI tool for Android development", "url": "https://phelipetls.github.io/pt/posts/adb-a-must-know-cli-tool-for-android-development/", "published_at": "2022-02-07T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1790a05ae", "title": "Node.js one-liner to read JSON files", "url": "https://phelipetls.github.io/pt/posts/nodejs-one-liner-to-read-json-files/", "published_at": "2022-01-26T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1750fbedc", "title": "Improving the Android Studio experience in dwm", "url": "https://phelipetls.github.io/pt/posts/improving-the-android-studio-experience-in-dwm/", "published_at": "2022-01-25T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e176a07aeb", "title": "Making Vim understand TypeScript path mapping", "url": "https://phelipetls.github.io/pt/posts/making-vim-understand-typescript-path-mapping/", "published_at": "2021-09-15T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16c3b749b", "title": "Automating SVG to JSX conversion with svgr", "url": "https://phelipetls.github.io/pt/posts/automating-svg-to-jsx-conversion-with-svgr/", "published_at": "2021-09-08T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16ff3cfa2", "title": "Extending Vim with ripgrep", "url": "https://phelipetls.github.io/pt/posts/extending-vim-with-ripgrep/", "published_at": "2021-06-11T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e173b96bf2", "title": "Implementing dark mode for static websites", "url": "https://phelipetls.github.io/pt/posts/implementing-dark-mode-for-static-websites/", "published_at": "2021-04-29T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1785c588a", "title": "My experience testing React applications", "url": "https://phelipetls.github.io/pt/posts/my-experience-testing-react-applications/", "published_at": "2021-04-28T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1775ed0a6", "title": "Migrating from create-react-app to Vite", "url": "https://phelipetls.github.io/pt/posts/migrating-from-cra-to-vite/", "published_at": "2021-04-23T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16d5d9f12", "title": "Configuring eslint to work with Neovim LSP", "url": "https://phelipetls.github.io/pt/posts/configuring-eslint-to-work-with-neovim-lsp/", "published_at": "2020-12-28T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e170c76676", "title": "Python f-strings syntax highlighting in Vim", "url": "https://phelipetls.github.io/pt/posts/f-strings-syntax-highlighting-in-vim/", "published_at": "2020-10-28T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16f1624cb", "title": "Deploying a Flask app on a Heroku free dyno", "url": "https://phelipetls.github.io/pt/posts/deploying-flask-app-on-heroku/", "published_at": "2020-10-11T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e17d75fef3", "title": "A Vim errorformat for pytest", "url": "https://phelipetls.github.io/pt/posts/vim-errorformat-for-pytest/", "published_at": "2020-10-07T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e16bfd8bfb", "title": "Asynchronous :make in Neovim with Lua", "url": "https://phelipetls.github.io/pt/posts/async-make-in-nvim-with-lua/", "published_at": "2020-08-12T00:00:00+00:00" }, { "id": "01a087c1-370c-7106-9b51-62e1724bd73e", "title": "Getting Salesforce reports with VBA", "url": "https://phelipetls.github.io/pt/posts/getting-salesforce-reports-with-vba/", "published_at": "2020-08-05T00:00:00+00:00" } ] posts Claim your blog
Back to phelipetls.github.io
Blog · corpus.blog/blogs/phelipetls.github.io/posts

phelipetls.github.io

phelipetls.github.io

2025

2023

2022

2021

2020