Fatih is a Software Engineer working for PlanetScale. Previously he worked at GitHub, DigitalOcean, and various other startups. Throughout his career, he worked with companies that created the foundation and tools for developers and engineers. This allowed him to be highly involved in the developer scene and create tools to make the life of Software Engineers easier.
In 2014, he created vim-go, one of the most popular Vim plugins for developing Go in Vim. He also authored several open-source projects that you can find on here https://github.com/fatih. On the side, He runs a successful personal blog, where he shares his passion for Design, Photography, and Developer tooling.
Neovim & Terminal Setup
Fatih just recently converted his 20 years Vim config to NeoVim using Lua. He shared his experience switching from `vimrc` to an `init.lua` file on Twitter, which gained quite a big following!
His Neovim configuration is a single file. He can see everything at once and can fix/improve his setup without having to jump between files or folders. He’s using folke/lazy.nvim for plugin management in Neovim.
While switching from Vim to Neovim, he also switched from using Vimscript to Lua. He made the extra effort to only use plugins that were written in Lua as well. (Of course, he still uses other plugins (such as fatih/vim-go 😄) that are written in Vimscript), because not all of them are written in Lua yet. He’s been using Vim/Neovim for almost 20 years! It's so ingrained in his daily life, that It feels very natural to use!
Favorite Tools
Alacritty: Terminal emulators.
fzf: A command line fuzzy finder.
tig: Command line Git interface.
tmux: Terminal Multiplexer! adds the missing tabs to Alacritty.
Berkeley Mono: A paid font, made by engineers, for engineers who appreciate good engineering.
Shapr3D: one of the best CAD applications for hobbyists.
Dotfiles
You can find Fatih’s dotfiles here. it has around ~750 stars!
He’s been using it for several years, probably since he created his GitHub account. one unique thing about his approach for his dotfiles is that he doesn’t like using multi-file configurations. He likes using single-file configuration whenever possible. He wrote a blog post about his approach here.
He as a very small README and Makefile file to bootstrap his dotfiles. If you read the Makefile, you'll see that it creates symlinks from his dotfiles repo to the appropriate paths of each tool (Tmux, Alacritty, NeoVim, etc...) This allows him to follow any changes he makes and save them in his Git history.
Finally, he configured his terminal setup to automatically change from dark to light theme depending on the time of the day. He also wrote a detailed blog post about it here.
Intriguing read, Fatih. Your dedication to continuous learning and innovation is truly inspiring. Your conversion to NeoVim using Lua reminds me of a recent find, where advanced tech is being harnessed in the most unexpected areas. As we know, AI is a powerful tool, and it seems that its applications are limitless. If it can make our coding lives simpler, imagine what it can do in other aspects of our lives? It's a bit off the beaten path, but I've seen AI being put to use in image enhancement, in ways that are subtle but impactful. Take a quick look if you're curious - http://dating.tiktak-studio.com. The tech evolution never ceases to amaze, right?