<?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>Forem: Shohei Kameda</title>
    <description>The latest articles on Forem by Shohei Kameda (@shohei).</description>
    <link>https://forem.com/shohei</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%2F283557%2F2d09fd10-e7da-4d41-acd8-6135e6f066f0.jpeg</url>
      <title>Forem: Shohei Kameda</title>
      <link>https://forem.com/shohei</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/shohei"/>
    <language>en</language>
    <item>
      <title>​Use Powerline to make the appearance even cooler</title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Thu, 06 Jan 2022 22:46:56 +0000</pubDate>
      <link>https://forem.com/shohei/use-powerline-to-make-the-appearance-even-cooler-2pcf</link>
      <guid>https://forem.com/shohei/use-powerline-to-make-the-appearance-even-cooler-2pcf</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This article is the 6th day of the Advent Calendar 2021 of &lt;a href="https://www.wazaterm.com" rel="noopener noreferrer"&gt;Wazaterm&lt;/a&gt;, an online Linux terminal for hackers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yesterday, I explained how to change the appearance of Wazaterm using its theme options. Today, let's make it even cooler by using Powerline.  &lt;/p&gt;

&lt;p&gt;What is Powerline? It is something that changes the appearance of the prompt line for a command like the one in the picture below.&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%2Fwww.wazaterm.com%2Frails%2Factive_storage%2Fblobs%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBTUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--838c92bdbccacdc79824d0063f38382b3e456a5c%2Fpowerline-examples.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%2Fwww.wazaterm.com%2Frails%2Factive_storage%2Fblobs%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBTUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--838c92bdbccacdc79824d0063f38382b3e456a5c%2Fpowerline-examples.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It uses a special font, which can be troublesome to install in local consoles and applications, but Wazaterm includes the font by default, so you can use it just by installing the package.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo apt update
$ sudo apt install powerline
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The powerline package comes with binding, so add it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ echo "source /usr/share/powerline/bindings/tmux/powerline.conf" &amp;gt;&amp;gt; .tmux.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then reload .tmux.conf.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ tmux source-file ~/.tmux.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you would see like this. it's very cool, isn't it?&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%2Fwww.wazaterm.com%2Frails%2Factive_storage%2Fblobs%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBTQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--1efdc336d5bb3cabde58a0f97c5decf8fb881ec1%2Fpowerline.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%2Fwww.wazaterm.com%2Frails%2Factive_storage%2Fblobs%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBTQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--1efdc336d5bb3cabde58a0f97c5decf8fb881ec1%2Fpowerline.png"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>terminal</category>
      <category>wazaterm</category>
    </item>
    <item>
      <title>Customize the appearance of your terminal</title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Wed, 05 Jan 2022 01:07:10 +0000</pubDate>
      <link>https://forem.com/shohei/customize-the-appearance-of-your-terminal-1g9i</link>
      <guid>https://forem.com/shohei/customize-the-appearance-of-your-terminal-1g9i</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This article is the 4th day of the Advent Calendar 2021 of &lt;a href="https://www.wazaterm.com" rel="noopener noreferrer"&gt;Wazaterm&lt;/a&gt;, an online Linux terminal for hackers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's easy to change the appearance of the terminal in Wazaterm.&lt;/p&gt;

&lt;p&gt;After you click the hamburger menu on the top right in the terminal window, the sidebar shows up.&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%2Fwww.wazaterm.com%2Frails%2Factive_storage%2Fblobs%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBSZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--d80843dbf653cc71d3ca22ccfd32252858bad948%2FE7DEE26E-F357-444D-87A5-165273604782.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%2Fwww.wazaterm.com%2Frails%2Factive_storage%2Fblobs%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBSZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--d80843dbf653cc71d3ca22ccfd32252858bad948%2FE7DEE26E-F357-444D-87A5-165273604782.jpeg" alt="Menu"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;In the sidebar at the bottom, you see the select box. You can select your terminal theme from 250+ themes.&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%2Fwww.wazaterm.com%2Frails%2Factive_storage%2Fblobs%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBSdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f2bdc0c2fd61db51d0f011b61ffc71af3d0b782c%2F9BACAD0F-B45B-4500-8083-6D0B3D3F76AE.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%2Fwww.wazaterm.com%2Frails%2Factive_storage%2Fblobs%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBSdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f2bdc0c2fd61db51d0f011b61ffc71af3d0b782c%2F9BACAD0F-B45B-4500-8083-6D0B3D3F76AE.jpeg" alt="Terminal Option"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, you can overwrite the color when you change RGB.&lt;/p&gt;

&lt;p&gt;Clicking "Save" will save the terminal colors and font size, along with the OS and browser information. And the order in which they are displayed using that information is the below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def current\_terminal\_option(os, browser)
  self.terminal\_options.find\_by(os: os, browser: browser) ||
  self.terminal\_options.find\_by(os: os) ||
  self.terminal\_options.find\_by(browser: browser) ||
  self.terminal_options.last ||
  self.terminal_options.new
end
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It looks for the OS and Browser, and if they are not there, it shows only the OS, and if they are not there, it shows the Browser, and if they are not there, it shows the latest settings, and if they have never been set, it shows the default.&lt;/p&gt;

&lt;p&gt;The system is designed for multi-device use, so you can save and recall settings with different font sizes for iPad and desktop.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>terminal</category>
      <category>wazaterm</category>
    </item>
    <item>
      <title>Use tmux, an essential tool for remote development</title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Mon, 03 Jan 2022 22:57:04 +0000</pubDate>
      <link>https://forem.com/shohei/use-tmux-an-essential-tool-for-remote-development-38ig</link>
      <guid>https://forem.com/shohei/use-tmux-an-essential-tool-for-remote-development-38ig</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This article is the 4th day of the Advent Calendar 2021 of &lt;a href="https://www.wazaterm.com"&gt;Wazaterm&lt;/a&gt;, an online Linux terminal for hackers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.wazaterm.com"&gt;Wazaterm&lt;/a&gt; comes with tmux installed by default. tmux is software that&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Tmux stands for “Terminal Multiplexer.”&lt;/li&gt;
&lt;li&gt;It allows you to split a Linux-style terminal screen into multiple sessions, windows, or panes.&lt;/li&gt;
&lt;li&gt;A terminal can have multiple sessions.&lt;/li&gt;
&lt;li&gt;A single session can have multiple windows.&lt;/li&gt;
&lt;li&gt;A single window can have multiple panes.&lt;/li&gt;
&lt;li&gt;The session is maintained even when the terminal is closed. You can avoid the tragedy of running a command and then getting logged out and ending up with no command result.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Tmux maintains the session, which is essential to open an editor and develop it remotely. It’s hard to set it up every time you connect. Please image if you use windows or mac, every time you unlock the screen, you need to relaunch the software or apps and adjust/arrange the window size and location. This can not be done.&lt;/p&gt;

&lt;p&gt;And in the case of browsers, some OS will immediately kill the session when the main page goes to background (yes, it’s iPad!&lt;/p&gt;

&lt;p&gt;So, since it is an indispensable tool in the server-side world (some people may be using “screen” for similar functions), I think there is no harm in learning how to use it.&lt;/p&gt;

&lt;p&gt;In this article, I would like to explain the minimum necessary settings.&lt;/p&gt;

&lt;p&gt;All operations are done with the keyboard only (cool, like a hacker!). It is necessary to distinguish it from regular input. This is why we have the prefix, which is an alphanumeric character that can be typed after the prefix to call a tmux action.&lt;/p&gt;

&lt;p&gt;The prefix; default is ctrl-b. Here are some excerpts of the actions I often use.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ctrl-b c Create a new window (Create)&lt;/li&gt;
&lt;li&gt;Ctrl-b number Go to the window specified by the number&lt;/li&gt;
&lt;li&gt;Ctrl-b n Go to the next window (Next)&lt;/li&gt;
&lt;li&gt;Ctrl-b p Go to the previous window (Prev)&lt;/li&gt;
&lt;li&gt;Ctrl-b &amp;amp; Exit to window name (with confirmation)&lt;/li&gt;
&lt;li&gt;Ctrl-b “ Split pane vertically&lt;/li&gt;
&lt;li&gt;Ctrl-b % Split pane left/right&lt;/li&gt;
&lt;li&gt;Ctrl-b o Move to the next pane&lt;/li&gt;
&lt;li&gt;Ctrl-b ? Show list of key bindings (q to return)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tmux allows you to add plugins by using tmux-plugin/tpm freely. I’m using the&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tmux-plugins/tmux-sensible - configures settings that everyone else uses (saves you the trouble of extra configuration)&lt;/li&gt;
&lt;li&gt;arcticicestudio/nord-tmux - theme&lt;/li&gt;
&lt;li&gt;tmux-plugins/tmux-resurrect - Save your session. You can also reboot from there. If you lose all your tmux sessions because of a reboot, you can restore the whole saved session.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you learn about 10 of these, you’ll be able to use them freely! Let’s take this opportunity to learn how to use them.&lt;/p&gt;

</description>
      <category>tmux</category>
      <category>linux</category>
      <category>ubuntu</category>
      <category>wazaterm</category>
    </item>
    <item>
      <title>Let's start using Wazaterm</title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Fri, 03 Dec 2021 01:39:11 +0000</pubDate>
      <link>https://forem.com/shohei/lets-start-using-wazaterm-1n64</link>
      <guid>https://forem.com/shohei/lets-start-using-wazaterm-1n64</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This article is the 3rd day of the Advent Calendar 2021 of &lt;a href="https://www.wazaterm.com"&gt;Wazaterm&lt;/a&gt;, an online Linux terminal for hackers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Let's start using Wazaterm
&lt;/h1&gt;

&lt;p&gt;Now, let's get started. you need to follow the steps below before you can start a terminal with Wazaterm.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Purchase credits&lt;/li&gt;
&lt;li&gt;Start the terminal.

&lt;ol&gt;
&lt;li&gt;Choose your hostname and user name.&lt;/li&gt;
&lt;li&gt;Choose a region&lt;/li&gt;
&lt;li&gt;Choose the storage size&lt;/li&gt;
&lt;li&gt;Select CPU and Memory&lt;/li&gt;
&lt;li&gt;Launch 🚀&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now let's look at them one by one.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. purchase credits
&lt;/h2&gt;

&lt;p&gt;Click the icon in the upper right corner to open the Billing page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iMSwJcCC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.wazaterm.com/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBNQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--8d28e0f2074251824b76917acec3f478311ae8ff/buy_coins.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iMSwJcCC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.wazaterm.com/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBNQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--8d28e0f2074251824b76917acec3f478311ae8ff/buy_coins.png" alt="" width="880" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wazaterm is a prepaid system. $1 USD = 1.00 credit. You can use the Pricing page to see how much you need. For example&lt;/p&gt;

&lt;h4&gt;
  
  
  $1.81 USD / month
&lt;/h4&gt;

&lt;p&gt;Memory:1G, CPU:2 Cores, Storage:10G, 160 hours (8 hours* 20 days), Ohio region.&lt;/p&gt;

&lt;h4&gt;
  
  
  $7.3 USD / month
&lt;/h4&gt;

&lt;p&gt;Example 2 (Development for medium size of the project) Memory:4G, CPU:2 core, Storage:30G, 160 hours (8 hours* 20 days), Tokyo region.&lt;/p&gt;

&lt;p&gt;Let's start with the minimum purchase price of $5.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Right now, we're giving away a free $3 (expires in 3 days) credit to a few people a day! Try it out! 2&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Launch the terminal
&lt;/h2&gt;

&lt;p&gt;Now, go back to the top page and click on the "Launch new terminal" button. We will now configure the terminal we are going to launch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_rDboYIX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.wazaterm.com/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBNZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--47d78c357ec97d7b34327fcf9a604ff95df4013c/config_terminal.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_rDboYIX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.wazaterm.com/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBNZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--47d78c357ec97d7b34327fcf9a604ff95df4013c/config_terminal.png" alt="config_terminal.png" width="880" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Decide the host name and user name.
&lt;/h3&gt;

&lt;p&gt;The host name will be your domain name. The user name is the username on Linux. By default, your Wazaterm user name (github user name) is entered, but you can change it. For example, if your user name is shohey1226 and your host name is foo, you can access the server as follows&lt;/p&gt;

&lt;p&gt;$ ssh &lt;a href="mailto:shohey1226@foo.wazaterm.com"&gt;shohey1226@foo.wazaterm.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Region selection
&lt;/h3&gt;

&lt;p&gt;There are currently 5 regions supported, try the one closest to you. As long as you don't mind the latency, you should be able to use Terminal without any stress. (Since it is a CLI, the amount of transfer is small)&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Determine the storage size.
&lt;/h3&gt;

&lt;p&gt;Storage includes the OS and the swap area. The size of the swap is the actual memory size. &lt;strong&gt;Note that storage will be charged even if Terminal is not running&lt;/strong&gt;. The size of the OS is small at first, but if you install a lot of packages, it will grow quickly, so it is better not to make it too small. You can increase the size of the OS, but &lt;strong&gt;you can't decrease it later&lt;/strong&gt;. As I will explain later, I hope you will save money by archiving your unused files to Google Drive.　In the past, HDDs were slow and you could work with NFS home directories, but now that I have experienced SSDs, I can't work with any other storage. It will cost you more, but I hope you will bear with me.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Select CPU &amp;amp; Memory
&lt;/h3&gt;

&lt;p&gt;You need to stop Terminal, but you can change it later. It's also good to switch between them depending on your project. I'm developing on 2CPUs and 8g memory.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Launch 🚀
&lt;/h3&gt;

&lt;p&gt;Press "Launch" to start it up. After a few minutes, you should be able to use the terminal. (Depending on the number of cores in your CPU, it may boot faster or slower. (Depending on the number of CPU cores and other factors, it may be faster or slower to start.) There is a lot of load at boot time, so you may see a lot of loading at uptime, but it will stabilize soon.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>terminal</category>
      <category>wazaterm</category>
    </item>
    <item>
      <title>Wazaterm Features</title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Thu, 02 Dec 2021 01:42:03 +0000</pubDate>
      <link>https://forem.com/shohei/wazaterm-features-131g</link>
      <guid>https://forem.com/shohei/wazaterm-features-131g</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This article is the 2nd day of the Advent Calendar 2021 of &lt;a href="https://www.wazaterm.com"&gt;Wazaterm&lt;/a&gt;, an online Linux terminal for hackers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Wazaterm Features
&lt;/h1&gt;

&lt;p&gt;If you want to access from various platforms, you can use VPS+SSH, but Wazaterm has the following advantages over VPS+SSH.&lt;/p&gt;

&lt;h2&gt;
  
  
  CPU and memory can be freely selected
&lt;/h2&gt;

&lt;p&gt;You can freely choose the CPU and memory of the instance running Terminal, so you can use different machine power for different projects. For example, you can use 8G of memory and 2 CPU cores for a Rails project for the last 3 months. In the other project, use less memory for a node. Note that when you change the specs, you have to shut down the instance and start it up again, which takes a little time (about 5+ minutes).&lt;/p&gt;

&lt;h2&gt;
  
  
  SSH is available 🙌
&lt;/h2&gt;

&lt;p&gt;With SSH, you can do almost anything: not only terminal use, but also secure tunneling with port forwarding, SCP, SFTP, and even mount with SSH. Local port forwarding and drive mounting are essential to developing in a local environment. I'll explain how to do this later.&lt;/p&gt;

&lt;h2&gt;
  
  
  You have root privileges
&lt;/h2&gt;

&lt;p&gt;The OS is Ubuntu, so you can use &lt;code&gt;sudo apt install&lt;/code&gt; to install packages and tweak /etc/systemd. (It's your own responsibility if you can't boot). This is necessary for normal development, such as adding imageMagic libraries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Suspend, Resume can be automated
&lt;/h2&gt;

&lt;p&gt;You can save money by suspending instances when not in use (and at the same time reduce carbon dioxide emissions, so it's earth-friendly!). Suspend/Resume can take about 30~seconds, depending on the size of the memory. This waiting time is a bit stressful, so I made it possible to automate it with a webhook, and by combining it with an iOS shortcut app, you can make it so that I can resume terminal when I arrive at the office and suspend the terminal when it's time to go home. This way, you can start working without waiting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Take backups
&lt;/h2&gt;

&lt;p&gt;You can back up your entire OS. You can back up your entire OS, even if you &lt;code&gt;rm -rf /&lt;/code&gt;. （This is an optional feature, so please use it only if you need it)&lt;/p&gt;

&lt;p&gt;What do you think? Can't wait to use it? I'll explain how to start tomorrow.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>terminal</category>
      <category>wazaterm</category>
    </item>
    <item>
      <title>What is Wazaterm?</title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Tue, 30 Nov 2021 23:42:17 +0000</pubDate>
      <link>https://forem.com/shohei/what-is-wazaterm-3g6a</link>
      <guid>https://forem.com/shohei/what-is-wazaterm-3g6a</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This article is the 1st day of the Advent Calendar 2021 of &lt;a href="https://www.wazaterm.com"&gt;Wazaterm&lt;/a&gt;, an online Linux terminal for hackers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  What is Wazaterm?
&lt;/h1&gt;

&lt;p&gt;I'm developing a web application called Wazaterm, which is a browser-based Linux Terminal application. Wazaterm is a web app that allows you to use a Linux Terminal as a web app from your browser. It seems to be part of the Online Linux Terminal genre that gets a lot of traffic from search keywords, but the best way to describe it is a combination of VPS + SSH + α.&lt;/p&gt;

&lt;p&gt;In this year's Advent Calendar, I'd like to introduce how to use Wazaterm and Terminal software to make the best use of Wazaterm.&lt;/p&gt;

&lt;p&gt;The following is a video demonstration. In addition to using the shell from the browser, you can also use it as a PWA as one independent application so that you can switch between applications with Command+Tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/CU82KSZ4Ev4"&gt;https://youtu.be/CU82KSZ4Ev4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since it is used in a browser, it works from any platform (Windows, macOS, iPad, Chromebook) without installing an SSH client, and you can use an SSH client since an SSH port is available.&lt;/p&gt;

&lt;p&gt;I use a Mac in my shared office, an iPad at home, and a Chromebox at the headquarter office to do my Rails, React, and React Native development on a single Wazaterm terminal. You can go to your workplace without anything and work in the same environment, or you can take your iPad and a keyboard on a trip and do light work. I also think that browsers will be (or are) included in devices like VR and AR in the future. I haven't tried it myself yet, but it is possible to use a single terminal for such new devices.&lt;/p&gt;

&lt;p&gt;There is also a development style called Remote Development that is gaining attention. For example, VS Code Remote development allows you to set up an IDE process on the server-side and access it remotely for development. Many developers prefer emacs or Vim to IDEs (I am one of them). You can also use it as an IDE with Wazaterm+ssh+code server.&lt;/p&gt;

&lt;p&gt;The M1 Mac is quiet with no fan running, but Wazaterm is remote and doesn't even use local CPU/memory. It is absolutely silent. It works fine even with low spec devices.&lt;/p&gt;

&lt;p&gt;As you can see from the Price page, you can start with less than $2/month.&lt;/p&gt;

&lt;p&gt;That's it for Wazaterm for now. Tomorrow, I'll explain the features of the service in more detail.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>wazaterm</category>
      <category>terminal</category>
    </item>
    <item>
      <title>Apple Silicon for developers?</title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Fri, 13 Nov 2020 01:56:48 +0000</pubDate>
      <link>https://forem.com/shohei/apple-silicon-for-developers-32a1</link>
      <guid>https://forem.com/shohei/apple-silicon-for-developers-32a1</guid>
      <description>&lt;p&gt;It seems that &lt;a href="https://www.macrumors.com/2020/11/11/m1-macbook-air-first-benchmark/"&gt;the performance is great on Apple Silicon macs&lt;/a&gt;. iOS developer can jump in the new hardware but what about others, like Web developers? &lt;a href="https://github.com/Homebrew/brew/issues/7857"&gt;Homebrew is not fully Arm'ed yet&lt;/a&gt; and &lt;a href="https://twitter.com/mistydemeo/status/1283994489795653632?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1283994489795653632%7Ctwgr%5E&amp;amp;ref_url=https%3A%2F%2Fapplech2.com%2Farchives%2F20200721-intel-only-terminal-launch-shell-through-rosetta.html"&gt;CLI tools via terminal app runs through Rosseta&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;Then virtualization? &lt;a href="https://bmalehorn.com/arm-mac/"&gt;It might be hard at this moment&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And more importantly, our production services are running on x86 servers. It may be a discrepancy between servers and the dev environment.&lt;/p&gt;

&lt;p&gt;Or go with VPS+SSH? This doesn't use Apple silicon architecture at all but you can show off your new mac devices to your friends without worrying about the development environment. &lt;/p&gt;

&lt;p&gt;Any thoughts?&lt;/p&gt;

&lt;p&gt;P.S. As an indie developer, I created &lt;a href="https://www.wazaterm.com"&gt;Online Linux Terminal, Wazaterm&lt;/a&gt; which you just need a browser to have a Linux terminal. You can check this out if you choose VPS+SSH :)&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Coding with Vim on iPad</title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Tue, 13 Oct 2020 08:04:16 +0000</pubDate>
      <link>https://forem.com/shohei/coding-with-vim-on-ipad-pho</link>
      <guid>https://forem.com/shohei/coding-with-vim-on-ipad-pho</guid>
      <description>&lt;p&gt;When you search on the web about programming by Vim on iPad, you would see either use iOS vim app or use ssh to a server that you have.&lt;br&gt;
The first option, to use the iOS app, which you need to copy the file to some other devices from iOS. The second option, you need to have the server you connect to. &lt;/p&gt;

&lt;p&gt;I introduce &lt;a href="https://www.wazaterm.com"&gt;Wazaterm&lt;/a&gt; here. You only need a browser to use Vim.  Let me explain how to use them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rhZJyUT9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ahlqp3x6uxeazi9u1vvu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rhZJyUT9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ahlqp3x6uxeazi9u1vvu.png" alt="Alt Text" width="880" height="551"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  1. Follow the &lt;a href="https://www.wazaterm.com/howtos/getting-started"&gt;Getting started page&lt;/a&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://www.wazaterm.com"&gt;https://www.wazaterm.com&lt;/a&gt; and sign up. (You may get $3 worth credits) &lt;/li&gt;
&lt;li&gt;Purchase credits (if you could not get)&lt;/li&gt;
&lt;li&gt;Start terminal by selecting instance.&lt;/li&gt;
&lt;li&gt;Start tmux to keep the sessions. &lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;
  
  
  2. Install Vim with apt
&lt;/h4&gt;

&lt;p&gt;The terminal is ubuntu instance so you can use apt or apt-get to install vim.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo apt-get install vim
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  3. Launch Vim
&lt;/h4&gt;

&lt;p&gt;You can keep the terminal running but for the cost, you can shut down the terminal every time you finish the work on the day. Wazatem has Webhook so you can use IFTTE or cron to launch or terminate the terminal. (see &lt;a href="https://www.wazaterm.com/howtos/automate-launch-halt-with-ifttt"&gt;here&lt;/a&gt; or &lt;a href="https://www.wazaterm.com/howtos/i-cant-wait-for-2-min-to-start-terminal-every-time-is-there-any-workaround"&gt;here&lt;/a&gt; for more detail)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ vim hello_world.rb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Due to iOS limitation, key repeat doesn't work :S &lt;br&gt;
I use "e" to skip the word s. I hope Apple fix this soon...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Have a happy hacking with Vim on the iPad!&lt;/p&gt;

</description>
      <category>vim</category>
      <category>ipad</category>
      <category>ios</category>
      <category>browser</category>
    </item>
    <item>
      <title>Created iPadOS/iOS browser to operate without touching   </title>
      <dc:creator>Shohei Kameda</dc:creator>
      <pubDate>Mon, 02 Dec 2019 03:11:23 +0000</pubDate>
      <link>https://forem.com/shohei/created-ipados-ios-browser-to-operate-without-touching-4fg2</link>
      <guid>https://forem.com/shohei/created-ipados-ios-browser-to-operate-without-touching-4fg2</guid>
      <description>&lt;p&gt;I bought iPad Pro and found that I need to touch screen to move pages. I know there is browser extension, like &lt;a href="https://github.com/philc/vimium"&gt;Vimium&lt;/a&gt; to operate with only keyboard. To move page, use "hit-a-hint".  I like this idea and wanted to have the app. I looked for App store but I unabled to find it. Ok, it's time to develop it by myself.  I spent 5 months to build this. I used React Native as I had experience on it.&lt;/p&gt;

&lt;p&gt;I named this app as Wazari Brower and this can be downloaded from &lt;a href="https://www.wazaterm.com/wazaribrowser"&gt;here&lt;/a&gt;.  I wrote documentation &lt;a href=""&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This is an open source project and able to see the code inside from &lt;a href="https://github.com/shohey1226/wazari"&gt;the github repository&lt;/a&gt;. I’m sure there are tons of bugs there, so any bug report is welcome (and also PR :) )&lt;/p&gt;

&lt;p&gt;I’ve also found that iOS doesn’t support keyboard key configuration. So I added this function to replace capslock and ctrl. The final feature is folloing. I hope you like this. &lt;/p&gt;

&lt;h2&gt;
  
  
  Feature
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Customizable shortcuts to operate browser. e.g. Change tabs without touching screen.&lt;/li&gt;
&lt;li&gt;Panes to split views vertiacally or horizontally.&lt;/li&gt;
&lt;li&gt;Hit-A-Hint - without touching, click links to move pages.&lt;/li&gt;
&lt;li&gt;Customizable modifiers. e.g. swap capslock with ctrl key.&lt;/li&gt;
&lt;li&gt;Customizable default search engine - DuckDuckGo or Google&lt;/li&gt;
&lt;li&gt;Exclude web sites not to use keymapping. Some dynamic web site doesn't use Input type=text or textarea, which Wazari keymapping doesn't work. But you can exclude these website so you can still type on it.&lt;/li&gt;
&lt;li&gt;Histories to go back easily&lt;/li&gt;
&lt;li&gt;Integrated to Wazaterm so you can terminal - I had a separate project for this. I wanted to integrate with it too.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>reactnative</category>
      <category>ios</category>
      <category>ipados</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
