<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>software on Kevin Heruer</title><link>/tags/software/</link><description>Recent content in software on Kevin Heruer</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 24 Dec 2020 09:36:34 +0100</lastBuildDate><atom:link href="/tags/software/index.xml" rel="self" type="application/rss+xml"/><item><title>Running Spotify From a Terminal</title><link>/posts/2020/12/24/running-spotify-from-a-terminal/</link><pubDate>Thu, 24 Dec 2020 09:36:34 +0100</pubDate><guid>/posts/2020/12/24/running-spotify-from-a-terminal/</guid><description>This post exist of two different projects, the first one is Spotify-tui, and de second is Spotifyd.
Spotify-tui Spotify-tui is a terminal interface using the web API and is witten in the Rust language, however, it does not play the songs itself. It only uses the API to select/play a song, you&amp;rsquo;ll need another piece of the puzzle to actually play the music.
Since Spotify-tui is written in Rust it&amp;rsquo;s very memory efficient and safe, meaning it will never do unexpected things.</description><content>&lt;p>This post exist of two different projects, the first one is &lt;a href="https://github.com/Rigellute/spotify-tui">Spotify-tui&lt;/a>,
and de second is &lt;a href="https://github.com/Spotifyd/spotifyd">Spotifyd&lt;/a>.&lt;/p>
&lt;h2 id="spotify-tui">Spotify-tui&lt;/h2>
&lt;p>Spotify-tui is a terminal interface using the web API and is witten in the Rust language, however, it does not play
the songs itself. It only uses the API to select/play a song, you&amp;rsquo;ll need another piece of the puzzle to actually
play the music.&lt;/p>
&lt;p>Since Spotify-tui is written in Rust it&amp;rsquo;s very memory efficient and &lt;a href="https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html">safe&lt;/a>,
meaning it will never do unexpected things. Running Spotify-tui it only uses 16MB of RAM and it has been running for 11+ hours.&lt;/p>
&lt;p>You may argue that 16MB of RAM is a lot, but in the world of applications and even command line applications running on JavaScript it&amp;rsquo;s a
godsend. Spotify itself is around 200MB.&lt;/p>
&lt;h2 id="spotifyd">Spotifyd&lt;/h2>
&lt;p>The other part of the puzzle is Spotifyd, a Spotify daemon written in Rust. It&amp;rsquo;s a tiny Spotify client using only around 8MB of RAM.
However, Spotifyd is not just specifically for Spotify-tui, it&amp;rsquo;s a generic daemon. You could also use your Spotify app and stream it
to the daemon using the device list in the app.&lt;/p>
&lt;p>This means you could create your own smart speaker for cheap! Or you could hook up a raspberry pi zero to your old sound system and
give your old system new streaming functionalities.&lt;/p></content></item><item><title>Why I Started Using Nvim</title><link>/posts/2020/12/23/why-i-started-using-nvim/</link><pubDate>Wed, 23 Dec 2020 17:29:11 +0100</pubDate><guid>/posts/2020/12/23/why-i-started-using-nvim/</guid><description>Since I&amp;rsquo;m on a streak of optimising my workflow in the terminal, I started to use Vi/Vim/Nvim as my default editor. The reason being it&amp;rsquo;s (almost) always installed by default, and it&amp;rsquo;s really powerful once you learn only a couple of shortcuts.
Currently I use Neovim on my development machine because it&amp;rsquo;s fast, extensable and overal very nice to use. The only thing I really have to get used to is the hjkl format of movement, I know you shouldn&amp;rsquo;t use them often in the first place but as a Vi newbie it&amp;rsquo;s a very nice thing to fall back to something familiar like the arrow keys to move around.</description><content>&lt;p>Since I&amp;rsquo;m on a streak of optimising my workflow in the terminal, I started
to use Vi/Vim/Nvim as my default editor. The reason being it&amp;rsquo;s (almost) always installed
by default, and it&amp;rsquo;s really powerful once you learn only a couple of shortcuts.&lt;/p>
&lt;p>Currently I use Neovim on my development machine because it&amp;rsquo;s fast, extensable and overal
very nice to use. The only thing I really have to get used to is the hjkl format of movement,
I know you shouldn&amp;rsquo;t use them often in the first place but as a Vi newbie it&amp;rsquo;s a very nice
thing to fall back to something familiar like the arrow keys to move around. I&amp;rsquo;m still learning
all the stuff real Vi users use like tags and regex searching.&lt;/p>
&lt;p>The plugins I currenty use are COC for code prediction, typescript-vim and vim-jsx-typescript
for TypeScript highlighting, nerdtree for file browsing, vim-devicons for icons in nerdtree,
fzf for fuzzy searching, and of course the dracula/vim plugin for the dracula theme.&lt;/p>
&lt;p>So far the shortcuts I use are ZZ, hjkl, ZQ, A, a, i, I, C-b.
I also might check out the plugin tagbar for easier code browsing in larger files.&lt;/p></content></item><item><title>Alacritty</title><link>/posts/2020/12/21/alacritty/</link><pubDate>Mon, 21 Dec 2020 11:52:35 +0100</pubDate><guid>/posts/2020/12/21/alacritty/</guid><description>I&amp;rsquo;ve recently come across a new terminal emulator called Alacritty, it is a new terminal emulator written in Rust. It uses the GPU to accellerate the calculations it needs to make which results in a more responsive terminal, some commands like tree also seem to run faster.
Check out this video from DistroTube: The terminal emulator is still in beta and does not have any GUI to edit the settings, all settings need to be defined in a YAML config file.</description><content>&lt;p>I&amp;rsquo;ve recently come across a new terminal emulator called &lt;a href="https://github.com/alacritty/alacritty">Alacritty&lt;/a>, it is a new terminal emulator written in Rust.
It uses the GPU to accellerate the calculations it needs to make which results in a more responsive terminal,
some commands like tree also seem to run faster.&lt;/p>
&lt;p>Check out this video from DistroTube:
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/PZPMvTvUf1Y" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div>
&lt;/p>
&lt;p>The terminal emulator is still in beta and does not have any GUI to edit the settings, all settings need to be
defined in a YAML config file. It also does not (yet) have tab funcionality, you&amp;rsquo;ll need to open a new window
every time you want another terminal. Of course you could use something like &lt;a href="https://github.com/tmux/tmux">tmux&lt;/a> to work around that problem.&lt;/p></content></item></channel></rss>