<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Marcelo Haruo Kochiyama</title>
    <description>The latest articles on DEV Community by Marcelo Haruo Kochiyama (@kochiyama).</description>
    <link>https://dev.to/kochiyama</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F604504%2Fb937ffe2-6ed2-48d9-9762-bd02f0f77f66.jpg</url>
      <title>DEV Community: Marcelo Haruo Kochiyama</title>
      <link>https://dev.to/kochiyama</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kochiyama"/>
    <language>en</language>
    <item>
      <title>Kitty + Neovim: Aesthetic Dev Setup</title>
      <dc:creator>Marcelo Haruo Kochiyama</dc:creator>
      <pubDate>Sat, 27 Apr 2024 03:40:45 +0000</pubDate>
      <link>https://dev.to/kochiyama/kitty-neovim-aesthetic-dev-setup-243l</link>
      <guid>https://dev.to/kochiyama/kitty-neovim-aesthetic-dev-setup-243l</guid>
      <description>&lt;p&gt;Hello fellow dev!&lt;/p&gt;

&lt;p&gt;It has been a little more than one year since I came from VSCode to Neovim. And I have no regrets. My arms pain disappeared, and my productivity got a big boost after learning and get used to &lt;em&gt;vim motions&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I love tweaking my setup, testing new themes, and using different window managers (currently using yabai). I used to work with windows, linux and now I'm on MacOS. And here is a quick overview, of what is my current daily driver setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terminal
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://sw.kovidgoyal.net/kitty/conf/" rel="noopener noreferrer"&gt;Kitty&lt;/a&gt; is the perfect terminal for me, it is fast, lightweight, cross platform, highly customizable, has tabs and split pane support and even plugins.&lt;/p&gt;

&lt;p&gt;The theme I'm using is &lt;a href="https://rosepinetheme.com/" rel="noopener noreferrer"&gt;Rose Pine&lt;/a&gt;. I loved this theme at first sight. And sometimes I switch back to the fantastic &lt;a href="https://github.com/catppuccin/catppuccin" rel="noopener noreferrer"&gt;Catppuccin&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flq3x37ndky2pcp635csx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flq3x37ndky2pcp635csx.png" alt="Terminal Screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The best part for me is having every control at the keyboard, from changing tabs to creating and resizing windows, everything has a keyboard shortcut.&lt;/p&gt;

&lt;p&gt;By the way, I'm using the &lt;a href="https://ohmyz.sh/" rel="noopener noreferrer"&gt;Oh My Zsh&lt;/a&gt; and &lt;a href="https://starship.rs/" rel="noopener noreferrer"&gt;Starship&lt;/a&gt; to customize my prompt with &lt;a href="https://github.com/zsh-users/zsh-autosuggestions/tree/master" rel="noopener noreferrer"&gt;autosuggestions&lt;/a&gt;, &lt;a href="https://github.com/zsh-users/zsh-syntax-highlighting" rel="noopener noreferrer"&gt;syntax highlighting&lt;/a&gt; and the custom prompt style.&lt;/p&gt;

&lt;p&gt;Soon I'll be posting a detailed tutorial on how to setup the terminal exactly like mine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Neovim
&lt;/h2&gt;

&lt;p&gt;I started my journey testing out existent configs, but ended up creating my own from scratch. I like to have full control over the look and behavior of my setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjas2t4lntd56r7dxel71.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjas2t4lntd56r7dxel71.png" alt="Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this screenshot you can see the start page (&lt;a href="https://github.com/goolord/alpha-nvim" rel="noopener noreferrer"&gt;alpha&lt;/a&gt;) with a custom Ascii art of my agency name, and partial surname.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience
&lt;/h2&gt;

&lt;p&gt;I use this setup on my daily work, and it doesn't let me down. I have every tool I need, with custom keybindings that make my workflow slide, not being blocked by switching from mouse to keyboard infinite times a day, and having to search UI elements to click.&lt;/p&gt;

&lt;p&gt;The setup is fully on terminal, so no high RAM or CPU consumption, almost everything runs instantly, even when fuzzy searching a medium size repo with hundreds of files.&lt;/p&gt;

&lt;p&gt;By the word of my work colleagues and friends, I'm pretty fast working. I can find things and navigate through code fast and don't spend effort on it.&lt;/p&gt;

&lt;p&gt;Having a complete git client at a command reach is incredibly convenient. With a blink of an eye, I stag and commit changes. Pull and push changes. Change branches and even create new branches. The best part is the easy way of cherry picking each line I want to include on my commits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cgxd5qes2ddnowzmwoa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cgxd5qes2ddnowzmwoa.png" alt="neovim"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Complete plugin list:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/folke/lazy.nvim" rel="noopener noreferrer"&gt;lazy.nvim&lt;/a&gt; - Plugin manager&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/goolord/alpha-nvim" rel="noopener noreferrer"&gt;alpha.nvim&lt;/a&gt; - Dashboard&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/windwp/nvim-autopairs" rel="noopener noreferrer"&gt;nvim-autopairs&lt;/a&gt; - Autoclose parens, quotes and other things.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/norcalli/nvim-colorizer.lua" rel="noopener noreferrer"&gt;nvim-colorizer&lt;/a&gt; - Color hex codes&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/numToStr/Comment.nvim" rel="noopener noreferrer"&gt;comment.nvim&lt;/a&gt; - Support block comments and jsx comments&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nvim-tree/nvim-web-devicons" rel="noopener noreferrer"&gt;devicons&lt;/a&gt; - Plenty of other plugins rely on this one to render beautiful icons&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/f-person/git-blame.nvim" rel="noopener noreferrer"&gt;git-blame&lt;/a&gt; - Show inline git blame by default, I configured to render only on the lualine (bottom bar)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/jesseduffield/lazygit" rel="noopener noreferrer"&gt;lazygit&lt;/a&gt; - A complete git gui inside neovim&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nvim-lualine/lualine.nvim" rel="noopener noreferrer"&gt;lualine&lt;/a&gt; - Bottom status line&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/karb94/neoscroll.nvim" rel="noopener noreferrer"&gt;neoscroll&lt;/a&gt; - Support to smooth scrolling&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nvim-neo-tree/neo-tree.nvim" rel="noopener noreferrer"&gt;neotree&lt;/a&gt; -   Filesystem explorer and manager&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nvim-neo-tree/neo-tree.nvim" rel="noopener noreferrer"&gt;rose-pine&lt;/a&gt; - The theme&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nvim-telescope/telescope-project.nvim" rel="noopener noreferrer"&gt;telescope&lt;/a&gt; - Modals to use features like fuzy search, file search and more.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/wakatime/vim-wakatime" rel="noopener noreferrer"&gt;wakatime&lt;/a&gt; - Time tracker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;LSPs, Completion, Syntax Highlighting, and formatting. All of  the following plugins work together to give the experience you got on vscode with suggestions and formatting. It was a little bit tricky to setup but now that everything works, it is a great experience.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/nvim-lua/completion-nvim" rel="noopener noreferrer"&gt;completions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/neovim/nvim-lspconfig" rel="noopener noreferrer"&gt;lsp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nvimtools/none-ls.nvim" rel="noopener noreferrer"&gt;none-ls&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nvim-treesitter/nvim-treesitter" rel="noopener noreferrer"&gt;treesitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Well, that was a superficial overview of my setup, if you would like to see specific tutorials or informations about the setup, even a neovim 101 tutorial, let me know in the comments and follow me for more!&lt;/p&gt;

&lt;p&gt;Comment down below a little bit about your setup! Share screenshots. Let's make this article a place to inspire other people to try new tools and be enthusiasts! 💻👋🏻 See ya...&lt;/p&gt;

</description>
      <category>neovim</category>
      <category>kitty</category>
      <category>setup</category>
      <category>developer</category>
    </item>
    <item>
      <title>2 Sites to Become a Better Developer</title>
      <dc:creator>Marcelo Haruo Kochiyama</dc:creator>
      <pubDate>Fri, 19 Apr 2024 15:26:00 +0000</pubDate>
      <link>https://dev.to/kochiyama/2-sites-to-become-a-better-developer-2f9j</link>
      <guid>https://dev.to/kochiyama/2-sites-to-become-a-better-developer-2f9j</guid>
      <description>&lt;p&gt;Hello fellow dev!&lt;/p&gt;

&lt;p&gt;I know how learning and improving constantly is hard. And how easy it is to jump over some underrated knowledge, but necessary to become a great developer.&lt;/p&gt;

&lt;p&gt;During my journey, I found resources that are so valuable I really can't believe are free. Here are two of them:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;a href="https://refactoring.guru" rel="noopener noreferrer"&gt;Refactoring Guru&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fma9ixjt8nbwnatj7noei.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fma9ixjt8nbwnatj7noei.jpeg" alt="Refactoring Guru"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This site has a ton of knowledge, full of beautiful Illustrations and clear explanations that I haven't found any better. &lt;/p&gt;

&lt;p&gt;It covers two major topics in detail: the art of refactoring and design patterns.&lt;/p&gt;

&lt;p&gt;You will find out how to determine exactly why your code is dirty and the correct methods to clean and make your code readable and easier to maintain.&lt;/p&gt;

&lt;p&gt;And also, there you can read about all the 22 classic design patterns.&lt;/p&gt;

&lt;p&gt;Oh, and it has code examples in multiple languages!&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;a href="https://exercism.org/" rel="noopener noreferrer"&gt;Exercism&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0y5awlsrkmn5gek645w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0y5awlsrkmn5gek645w.png" alt="Exercism"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are learning or thinking of learning a new programming language, this is the right spot.&lt;/p&gt;

&lt;p&gt;Exercism is a platform to learn by practice, through exercises from the hello world to advanced and hard challenges.&lt;/p&gt;

&lt;p&gt;There is more than 70 languages to learn, and some of them have special roadmaps to learn. Where all exercises are grouped in topics, and you need to learn a topic to unlock others that build on top. This is great to learn fast and not loose time jumping from article to article, going back and forth.&lt;/p&gt;

&lt;p&gt;Some languages and techs have great docs and teach you well, others not so well. So Exercism is always a valid thing to add up to your learning experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;And, that's all for this article. Thank you for reading, and don't forget to contribute and let down in the comments a resource you didn't believe is free or that cheap for how great it is. 💻👋🏻 See ya...&lt;/p&gt;

</description>
      <category>refactoring</category>
      <category>developer</category>
      <category>programming</category>
      <category>learn</category>
    </item>
  </channel>
</rss>
