<?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: Mr F.</title>
    <description>The latest articles on Forem by Mr F. (@0xdonut).</description>
    <link>https://forem.com/0xdonut</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%2F50585%2F3ee03b76-01f3-405b-b48a-121e4469ff99.jpg</url>
      <title>Forem: Mr F.</title>
      <link>https://forem.com/0xdonut</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/0xdonut"/>
    <language>en</language>
    <item>
      <title>How to install Flutter on macOS using homebrew and asdf</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Tue, 28 Jan 2020 19:24:40 +0000</pubDate>
      <link>https://forem.com/0xdonut/how-to-install-flutter-on-macos-using-homebrew-and-asdf-3loa</link>
      <guid>https://forem.com/0xdonut/how-to-install-flutter-on-macos-using-homebrew-and-asdf-3loa</guid>
      <description>&lt;p&gt;The official way to install the flutter and its dependencies is a mishmash of &lt;code&gt;brew install&lt;/code&gt;, binary downloads alongside relying on system installed versions of ruby.&lt;/p&gt;

&lt;p&gt;I became particularly frustrated when trying to setup flutter on macOS Mojave and macOS Catalina. I came across too many issues, and it took a lot of stackoverflow and google searches to overcome.&lt;/p&gt;

&lt;p&gt;By using a package manager to install dependencies and runtimes, we can share the exact same setup in different environments and automate the install and escape the above issues. &lt;/p&gt;

&lt;p&gt;This is particularly valuable if you use different machines, or have team members in different locations. Moreover, we know where everything belongs and how to upgrade or uninstall if necessary.&lt;/p&gt;

&lt;p&gt;Until a complete homebrew approach is released, I think this is a decent step by step approach.&lt;/p&gt;

&lt;h3&gt;
  
  
  prerequisites
&lt;/h3&gt;

&lt;p&gt;You need to make sure you have &lt;a href="https://brew.sh"&gt;homebrew&lt;/a&gt; installed and also &lt;a href="https://asdf-vm.com"&gt;asdf&lt;/a&gt; to manage runtime dependencies.&lt;/p&gt;

&lt;p&gt;If you don't have asdf installed already, you can &lt;a href="https://dev.to/0xdonut/manage-your-runtime-environments-using-asdf-and-not-nvm-or-rvm-etc-2c7c"&gt;follow my tutorial on how to install asdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should also install xcode via the mac app store. This could take a while depending on your download speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  brew install dependencies
&lt;/h2&gt;

&lt;p&gt;This will install the dependencies for flutter and asdf which we will use to install the runtimes.&lt;/p&gt;

&lt;p&gt;We're installing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;asdf for our &lt;code&gt;dart&lt;/code&gt;, &lt;code&gt;flutter&lt;/code&gt; and &lt;code&gt;ruby&lt;/code&gt; runtimes&lt;/li&gt;
&lt;li&gt;android sdk for command line util &lt;code&gt;sdkmanager&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developer.android.com/studio"&gt;android studio&lt;/a&gt; to build flutter apps for android&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/intel/haxm"&gt;intel haxm&lt;/a&gt; to help speed up flutter rendering&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://adoptopenjdk.net/"&gt;adoptopenjdk8&lt;/a&gt; prebuilt java binary to make sure the above android stuff works
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install asdf
brew install android-sdk
brew install android-studio
brew install haxm
brew cask install adoptopenjdk8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  asdf runtimes
&lt;/h2&gt;

&lt;p&gt;There are three steps for asdf, but this won't take long except depending on your download speed.&lt;/p&gt;

&lt;p&gt;1) Install the asdf plugins for &lt;code&gt;dart&lt;/code&gt;, &lt;code&gt;flutter&lt;/code&gt; and &lt;code&gt;ruby&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asdf plugin install dart https://github.com/patoconnor43/asdf-dart.git
asdf plugin-add flutter
asdf plugin install ruby https://github.com/asdf-vm/asdf-ruby.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2) Install the actual runtimes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;latest version of dart&lt;/li&gt;
&lt;li&gt;latest &lt;a href="https://flutter.dev/docs/development/tools/sdk/releases?tab=macos"&gt;stable version of flutter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;We will use ruby 2.3.7 because it allows us to install cocoapods on macOS catalina. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can use the latest version of Ruby if you like, but I've come across issues.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asdf install dart 2.7.0
asdf install flutter 1.12.13+hotfix.7-stable 
asdf install ruby 2.3.7
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3) Set the runtimes to global or local. &lt;br&gt;
You can set these to local if you have multiple projects that rely upon different versions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asdf global dart 2.7.0
asdf global flutter 1.12.13+hotfix.7-stable 
asdf global ruby 2.3.7 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Cocoapods install on macOS Mojave and below
&lt;/h3&gt;

&lt;p&gt;We don't need to use &lt;code&gt;sudo&lt;/code&gt; we can install direct into the asdf ruby version.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gem install cocoapods
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  macOS catalina Cocoapods
&lt;/h4&gt;

&lt;p&gt;The latest version of cocopads (1.8.4) doesn't respect the &lt;code&gt;pod setup&lt;/code&gt; command on macOS catalina, so we have to use an older version until this bug is resolved.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gem install cocoapods -v 1.7.5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install the cocoapods dependencies&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pod setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Install android studio plugins
&lt;/h3&gt;

&lt;p&gt;You will need to install the flutter and dart plugins for android studio, otherwise &lt;code&gt;flutter doctor&lt;/code&gt; will complain later on.&lt;br&gt;
Simply open up the app, go to &lt;code&gt;configure &amp;gt; plugins&lt;/code&gt; and then install from the dialog as shown below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P-hXpsQ---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://i.imgur.com/gw71ERm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P-hXpsQ---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://i.imgur.com/gw71ERm.png" alt="android studio plugins" width="800" height="685"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Accept licences
&lt;/h2&gt;

&lt;p&gt;We need to accept the licences for xcode in order to build ios apps&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo xcodebuild -license
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We need to accept the android licences in order to build our flutter app for android&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flutter doctor --android-licenses
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run &lt;code&gt;sdkmanager&lt;/code&gt; to make sure all dependencies are installed (depends on &lt;code&gt;adoptopenjdk8&lt;/code&gt; that we installed via brew)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sdkmanager
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Export haxm and java paths
&lt;/h3&gt;

&lt;p&gt;You might need to add these into your &lt;code&gt;.zshrc&lt;/code&gt; or &lt;code&gt;.bash_profile&lt;/code&gt; files if you get complaints about haxm or java.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export INTEL_HAXM_HOME=/usr/local/Caskroom/intel-haxm
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Run flutter
&lt;/h3&gt;

&lt;p&gt;Finally lets check our flutter install&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flutter doctor -v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is what you should see if all the above was done right.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2zoSBku---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://i.imgur.com/aRufIrt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2zoSBku---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://i.imgur.com/aRufIrt.png" alt="flutter doctor" width="800" height="760"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After completing all the above steps we now know that &lt;code&gt;dart&lt;/code&gt;, &lt;code&gt;flutter&lt;/code&gt;, &lt;code&gt;ruby&lt;/code&gt; are all managed via asdf.&lt;/p&gt;

&lt;p&gt;The remaining dependencies are all installed via homebrew. Updates and upgrades should be straightforward, and we can document builds and releases to a particular setup.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Visual Studio Code extensions to help your productivity</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Sun, 12 Jan 2020 22:14:37 +0000</pubDate>
      <link>https://forem.com/0xdonut/visual-studio-code-extensions-to-help-your-productivity-50d8</link>
      <guid>https://forem.com/0xdonut/visual-studio-code-extensions-to-help-your-productivity-50d8</guid>
      <description>&lt;p&gt;Microsoft have made some amazing contributions to the dev community, Visual Studio Code in particular. I recently &lt;a href="https://dev.to/misterf/why-and-how-you-should-to-migrate-from-visual-studio-code-to-vscodium-j7d"&gt;made the switch to VSCodium&lt;/a&gt; but this doesn't stop me from using all the same extensions as before.&lt;/p&gt;

&lt;p&gt;I'm going to share some extensions I use to make my experience more productive and helpful. Hopefully there will be something useful for you to add to you setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project level extensions
&lt;/h2&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gistfs" rel="noopener noreferrer"&gt;Gistpad&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;...manage GitHub Gists entirely within the editor. You can open, create, delete, fork, star and clone gists, and then seamlessly begin editing files as if they were local... &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I've gone through my fair share of third party apps to manage my gists, this is a welcome addition to vscode.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/VEscdYfDUljw5eDMZc/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/VEscdYfDUljw5eDMZc/giphy.gif" alt="gistpad animation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree" rel="noopener noreferrer"&gt;TODO Tree&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;This extension quickly searches (using ripgrep) your workspace for comment tags like TODO and FIXME, and displays them in a tree view in the explorer pane. Clicking a TODO within the tree will open the file and put the cursor on the line containing the TODO.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is really helpful when working in a team or on projects you pick and drop over time.&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%2F185i143kblbc9eaxr6z4.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%2F185i143kblbc9eaxr6z4.png" alt="screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens" rel="noopener noreferrer"&gt;Gitlens&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;GitLens supercharges the Git capabilities built into Visual Studio Code. It helps you to visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more.&lt;/p&gt;
&lt;/blockquote&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%2Fraw.githubusercontent.com%2Feamodio%2Fvscode-gitlens%2Fmaster%2Fimages%2Fdocs%2Fgitlens-preview.gif" 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%2Fraw.githubusercontent.com%2Feamodio%2Fvscode-gitlens%2Fmaster%2Fimages%2Fdocs%2Fgitlens-preview.gif" alt="gitlens preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager" rel="noopener noreferrer"&gt;Project Manager&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;...helps you to easily access your projects, no matter where they are located... You can define your own Favorite projects, or choose for auto-detect VSCode projects, Git, Mercurial and SVN repositories or any folder.&lt;/p&gt;
&lt;/blockquote&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%2Fraw.githubusercontent.com%2Falefragnani%2Fvscode-project-manager%2Fmaster%2Fimages%2Fvscode-project-manager-side-bar.gif" 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%2Fraw.githubusercontent.com%2Falefragnani%2Fvscode-project-manager%2Fmaster%2Fimages%2Fvscode-project-manager-side-bar.gif" alt="project manager sidebar"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code level extensions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=Stepsize.tech-debt-tracker" rel="noopener noreferrer"&gt;Tech Debt Tracker&lt;/a&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Inline debt ratings, the debt ratings tree, and the function metrics keep quality front of mind. Every function is analysed live &amp;amp; locally to help you write clean code and identify code that needs to be improved.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Tech Debt Tracker sends anonymous analytics back to the publisher, which you can turn off from settings if you need to.&lt;/p&gt;

&lt;p&gt;What I particulary like about this extension is the inline debt rating at the top of your file.&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%2Fuser-images.githubusercontent.com%2F4775299%2F70737178-3be98d00-1d12-11ea-9a47-410938197352.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%2Fuser-images.githubusercontent.com%2F4775299%2F70737178-3be98d00-1d12-11ea-9a47-410938197352.png" alt="screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=kisstkondoros.vscode-codemetrics" rel="noopener noreferrer"&gt;Code Complexity&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Computes complexity in TypeScript / JavaScript / Lua files. It's not a standard metric, but it is a close approximation of Cyclomatic complexity.&lt;/p&gt;

&lt;p&gt;Just like the previous extension, this puts a handy inline notice at the top of the file. &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%2Fraw.githubusercontent.com%2Fkisstkondoros%2Fcodemetrics%2Fmaster%2Fimages%2Fmetric_details.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%2Fraw.githubusercontent.com%2Fkisstkondoros%2Fcodemetrics%2Fmaster%2Fimages%2Fmetric_details.png" alt="screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost" rel="noopener noreferrer"&gt;Import Cost&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;This extension will display inline in the editor the size of the imported package. The extension utilizes webpack with babili-webpack-plugin in order to detect the imported size. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://camo.githubusercontent.com/448786fbd2913985aca86fc648e4d2513f4d8354/68747470733a2f2f66696c652d776b62636e6c6376626e2e6e6f772e73682f696d706f72742d636f73742e676966" class="article-body-image-wrapper"&gt;&lt;img src="https://camo.githubusercontent.com/448786fbd2913985aca86fc648e4d2513f4d8354/68747470733a2f2f66696c652d776b62636e6c6376626e2e6e6f772e73682f696d706f72742d636f73742e676966" alt="screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  UI level enhancements
&lt;/h2&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2" rel="noopener noreferrer"&gt;Bracket Pair Colorizer 2&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;This extension allows matching brackets to be identified with colours. The user can define which tokens to match, and which colours to use.&lt;/p&gt;
&lt;/blockquote&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%2Fraw.githubusercontent.com%2FCoenraadS%2FBracketPair%2Fdevelop%2Fimages%2Fexample.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%2Fraw.githubusercontent.com%2FCoenraadS%2FBracketPair%2Fdevelop%2Fimages%2Fexample.png" alt="screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=byi8220.indented-block-highlighting" rel="noopener noreferrer"&gt;Indented Block Highlighting&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Highlights the intented area that contains the cursor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This might be a little overkill, but I like it combined with Bracket Pair Colorizer.&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%2Fraw.githubusercontent.com%2Fbyi8220%2Findented-block-highlighting%2Fmaster%2Fusage.gif" 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%2Fraw.githubusercontent.com%2Fbyi8220%2Findented-block-highlighting%2Fmaster%2Fusage.gif" alt="demo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=SirTori.indenticator" rel="noopener noreferrer"&gt;Indenticator&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Visually highlights the current indent depth&lt;/p&gt;
&lt;/blockquote&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%2Fraw.githubusercontent.com%2FSirTori%2Findenticator%2Fmaster%2Fimg%2Fdemo.gif" 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%2Fraw.githubusercontent.com%2FSirTori%2Findenticator%2Fmaster%2Fimg%2Fdemo.gif" alt="demo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=kisstkondoros.vscode-gutter-preview" rel="noopener noreferrer"&gt;Image Preview&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This handy extension allows you to see image previews in the gutter or on hover. &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%2Fraw.githubusercontent.com%2Fkisstkondoros%2Fgutter-preview%2Fmaster%2Fimages%2Fsample.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%2Fraw.githubusercontent.com%2Fkisstkondoros%2Fgutter-preview%2Fmaster%2Fimages%2Fsample.png" alt="screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are plenty more extensions, but these are the ones I enjoy using. Hopefully there is something new here for you or you can suggest something, I'm always looking for ways to make my development experience better!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>productivity</category>
      <category>javascript</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Why and how you should migrate from Visual Studio Code to VSCodium</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Fri, 10 Jan 2020 01:56:14 +0000</pubDate>
      <link>https://forem.com/0xdonut/why-and-how-you-should-to-migrate-from-visual-studio-code-to-vscodium-j7d</link>
      <guid>https://forem.com/0xdonut/why-and-how-you-should-to-migrate-from-visual-studio-code-to-vscodium-j7d</guid>
      <description>&lt;p&gt;In this tutorial we'll go over why you should make the switch, and how you can retain all of your extensions when you do make the switch. It won't take more than a couple of minutes to do the actual change!&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with Visual Studio Code
&lt;/h2&gt;

&lt;p&gt;Visual Studio code is without a doubt &lt;a href="https://2019.stateofjs.com/other-tools/#text_editors" rel="noopener noreferrer"&gt;the most used&lt;/a&gt; Code editor (for front end developers at least). It definitely provides a lot of helpful extensions of which there have been umpteen posts about.&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%2F2019.stateofjs.com%2Fimages%2Fcaptures%2Ftext_editors.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%2F2019.stateofjs.com%2Fimages%2Fcaptures%2Ftext_editors.png" alt="text editors"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  So why would I suggest you uninstall it for something else?
&lt;/h3&gt;

&lt;p&gt;Whilst Microsoft’s vscode source code is open source (MIT-licensed), the product available for download (Visual Studio Code) is licensed under this &lt;a href="https://code.visualstudio.com/license" rel="noopener noreferrer"&gt;not-FLOSS license&lt;/a&gt; and contains telemetry/tracking.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;...may collect information about you and your use of the software, and send that to Microsoft... You may opt-out of many of these scenarios, but not all...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Microsoft insist this is for bug tracking and so on, which may well be true. But you never know what else the data could end up being used for in the hands of someone unscrupulous.&lt;/p&gt;

&lt;p&gt;You can &lt;a href="https://code.visualstudio.com/docs/getstarted/telemetry#_disable-telemetry-reporting" rel="noopener noreferrer"&gt;turn off telemetry reporting&lt;/a&gt; in Visual Studio Code, but there are plenty of opportunities for Microsoft to add other features in, which may slip past your attention.&lt;/p&gt;

&lt;p&gt;Run this command in your terminal and check your output&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

code --telemetry


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Not great, lets change it.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/VSCodium/vscodium" rel="noopener noreferrer"&gt;VSCodium&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;VSCodium ... is not a fork. This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This means we don't have to go through the hassle of building each version ourselves, everything is done for us and the best part is we get these binaries &lt;strong&gt;under the MIT license. Telemetry is completely disabled.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Moreover, the editor itself looks and functions &lt;em&gt;exactly the same&lt;/em&gt;, you won't miss a thing!&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%2Fi.imgur.com%2FnuKSg5v.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%2Fi.imgur.com%2FnuKSg5v.png" alt="vscodium logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's a pretty simple and compelling argument.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/C6JQPEUsZUyVq/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/C6JQPEUsZUyVq/giphy.gif" alt="same but different"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to install VSCodium and keep all your extensions and settings
&lt;/h2&gt;

&lt;p&gt;This is the easy part. I will focus upon macOS, but these instructions are pretty simple to amend to other platforms.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;updated to include settings&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Make sure you have &lt;a href="https://brew.sh" rel="noopener noreferrer"&gt;Homebrew&lt;/a&gt; installed:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  1. Export all your installed extensions
&lt;/h3&gt;

&lt;p&gt;First export all of your installed extensions into a text file (amend the output path as you see fit)&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

code --list-extensions | tee ~/vscode-extensions.txt


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will output all of your extensions to &lt;code&gt;~/vscode-extensions.txt&lt;/code&gt; and list them out in your terminal for you to see.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Export your settings
&lt;/h3&gt;

&lt;p&gt;Export any custom keybindings and user settings you have as default.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

cp ~/Library/Application\ Support/Code/User/settings.json ~/vscode-settings.json

cp ~/Library/Application\ Support/Code/User/keybindings.json ~/vscode-keybindings.json


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  3. Uninstall Visual Studio Code
&lt;/h3&gt;

&lt;p&gt;We use the force argument so that nothing gets left behind that would clash or interrupt VSCodium's install.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

brew cask uninstall --force visual-studio-code


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  4. Install VSCodium
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

brew cask install vscodium


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  5. Reinstall your extensions for VSCodium
&lt;/h3&gt;

&lt;p&gt;Because VSCodium has the same command line tools, we invoke them the same was as before&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

xargs -n1 code --install-extension &amp;lt; ~/vscode-extensions.txt


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This went through the file and executed &lt;code&gt;code --install-extension&lt;/code&gt; on each line individually.&lt;/p&gt;

&lt;p&gt;You should have seen the output in your terminal.&lt;/p&gt;

&lt;p&gt;If you get a  &lt;code&gt;DeprecationWarning: Buffer()...&lt;/code&gt; warning, you don't need to worry, it's related to Yarn and can be resolved with &lt;code&gt;yarn global add yarn&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Import your settings
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

mv ~/vscode-settings.json ~/Library/Application\ Support/VSCodium/User/settings.json

mv ~/vscode-keybindings.json ~/Library/Application\ Support/VSCodium/User/keybindings.json


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Now you should be set and ready to go, the only thing you should notice is the logo is different. Everything else will work, feel and function the same as before.&lt;/p&gt;

&lt;p&gt;Happy coding devs!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Manage your runtime environments using ASDF and not NVM or RVM etc...</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Mon, 16 Dec 2019 18:19:31 +0000</pubDate>
      <link>https://forem.com/0xdonut/manage-your-runtime-environments-using-asdf-and-not-nvm-or-rvm-etc-2c7c</link>
      <guid>https://forem.com/0xdonut/manage-your-runtime-environments-using-asdf-and-not-nvm-or-rvm-etc-2c7c</guid>
      <description>&lt;p&gt;Many of us have used &lt;a href="https://rvm.io/"&gt;rvm&lt;/a&gt; or &lt;a href="https://github.com/rbenv/rbenv"&gt;rbenv&lt;/a&gt; to manage Ruby, &lt;a href="https://github.com/nvm-sh/nvm"&gt;nvm&lt;/a&gt; or &lt;a href="https://github.com/tj/n"&gt;n&lt;/a&gt; to manage our Node installs, &lt;a href="https://github.com/pyenv/pyenv"&gt;pyenv&lt;/a&gt; for Python. The problem is when you need to add other things into the mix like &lt;a href="https://github.com/moovweb/gvm"&gt;gvm&lt;/a&gt; for Go, the list goes on. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/l0IylOPCNkiqOgMyA/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l0IylOPCNkiqOgMyA/giphy.gif" alt="crazy" width="480" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://asdf-vm.com/"&gt;ASDF&lt;/a&gt; to the rescue!
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Manage multiple runtime versions with a single CLI tool&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;ASDF allows you to manage many environments on a &lt;em&gt;per project&lt;/em&gt; basis. ASDF has done for my project management what homebrew did for my Mac.&lt;/p&gt;

&lt;p&gt;Let's say for example you had RVM and NVM installed and Dart was done via shell scripts. Sure, you're already on top of it - but why accept the pain involved with managing them on top of the environments themselves? &lt;/p&gt;

&lt;p&gt;You may not suffer from any of the above and just have one environment to handle, but nonetheless, make it easy for someone who has to manage or maintain your work after you're done with it.&lt;/p&gt;

&lt;p&gt;If you're working on or maintaining multiple projects with a team of people, asdf will make all of your lives much easier.&lt;/p&gt;

&lt;p&gt;I'll demonstrate how easy it is to take control and get some of your sanity back.&lt;br&gt;
We'll work with Node for this example.&lt;/p&gt;
&lt;h2&gt;
  
  
  Install asdf
&lt;/h2&gt;

&lt;p&gt;via  Homebrew&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install asdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you are on Linux or are using Linux subsystem on Windows or don't use homebrew on macOS, you can &lt;a href="https://asdf-vm.com/#/core-manage-asdf-vm"&gt;install via git&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update your shell to handle asdf
&lt;/h2&gt;

&lt;p&gt;These are for anyone who installed via homebrew. If you installed via git, follow the instructions on the asdf website.&lt;/p&gt;

&lt;h3&gt;
  
  
  BASH
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo -e '\n. $HOME/.asdf/asdf.sh' &amp;gt;&amp;gt; ~/.bashrc
echo -e '\n. $HOME/.asdf/completions/asdf.bash' &amp;gt;&amp;gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ZSH
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo -e "\n. $(brew --prefix asdf)/asdf.sh" &amp;gt;&amp;gt; ~/.bash_profile
echo -e "\n. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash" &amp;gt;&amp;gt; ~/.bash_profile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install plugin dependencies for homebrew
&lt;/h2&gt;

&lt;p&gt;You might not have all the dependencies installed, so you need to run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install \
  coreutils automake autoconf openssl \
  libyaml readline libxslt libtool unixodbc \
  unzip curl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install a language plugin
&lt;/h2&gt;

&lt;p&gt;ASDF comes with extensive language support via it's &lt;a href="https://asdf-vm.com/#/plugins-all"&gt;plugin system&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For nodejs we will also have to add the release team's OpenPGP keys to main keyring:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash ~/.asdf/plugins/nodejs/bin/import-release-team-keyring
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  List all versions for this package
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asdf list-all nodejs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will output all the versions you can install via asdf.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install the version you need
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; asdf install nodejs 13.3.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's set a system wide version, which will be the default version.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asdf global nodejs 13.3.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  To install a different version:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; asdf install nodejs 7.9.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Now set it in your current project or directory by:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asdf local nodejs 7.9.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to store your settings
&lt;/h2&gt;

&lt;p&gt;You can store your settings for the project by creating a &lt;code&gt;.tool-versions&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;inside your current project add the following setting:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nodejs 7.9.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you commit this to your project and someone else picks it up, asdf will understand what version to use and prompt you to install it if necessary.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep asdf up to date
&lt;/h2&gt;

&lt;p&gt;Now you have one manager to manage your multiple development environments. You only need to keep asdf up to date, which is easy peasy.&lt;/p&gt;

&lt;p&gt;via homebrew:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew upgrade asdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or via git&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asdf update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Rinse and repeat!
&lt;/h2&gt;

&lt;p&gt;You can rinse and repeat this for as many environments as you need, in as many projects as necessary.&lt;/p&gt;

&lt;p&gt;How easy is that!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/jgpinQdolRGCY/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/jgpinQdolRGCY/giphy.gif" alt="ring" width="500" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>productivity</category>
      <category>node</category>
      <category>ruby</category>
    </item>
    <item>
      <title>Awesome Terminal upgrades - Part Four: Make your your macOS terminal look slick</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Sun, 15 Dec 2019 02:40:03 +0000</pubDate>
      <link>https://forem.com/0xdonut/awesome-terminal-upgrades-part-four-make-your-your-macos-terminal-look-slick-5ho3</link>
      <guid>https://forem.com/0xdonut/awesome-terminal-upgrades-part-four-make-your-your-macos-terminal-look-slick-5ho3</guid>
      <description>&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%2Fi.imgur.com%2FDqH9IV9.gif" 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%2Fi.imgur.com%2FDqH9IV9.gif" alt="demo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Install &lt;a href="https://brew.sh/" rel="noopener noreferrer"&gt;Homebrew&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The missing package manager for macOS (or Linux)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We will be using Homebrew to manage everything for us, if you don't have it installed, go ahead and do it now!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo “[ -f /usr/local/etc/bash_completion ] &amp;amp;&amp;amp; . /usr/local/etc/bash_completion” &amp;gt;&amp;gt; ~/.bash_profile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install &lt;a href="https://github.com/tonsky/FiraCode" rel="noopener noreferrer"&gt;Fira Code&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Monospaced font with programming ligatures&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew tap caskroom/fonts
brew cask install font-fira-code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fi.imgur.com%2FTlhJlZt.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%2Fi.imgur.com%2FTlhJlZt.png" alt="Fira Code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Install &lt;a href="https://starship.rs/" rel="noopener noreferrer"&gt;Starship&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Starship is the minimal, blazing fast, and extremely customizable prompt for any shell!&lt;br&gt;
The prompt shows information you need while you’re working, while staying sleek and out of the way.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install starship
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In your &lt;code&gt;.bashrc&lt;/code&gt; or &lt;code&gt;.zshrc&lt;/code&gt; file (swap bash or zsh accordingly):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eval "$(starship init bash)"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fraw.githubusercontent.com%2Fstarship%2Fstarship%2Fmaster%2Fmedia%2Fdemo.gif" 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%2Fraw.githubusercontent.com%2Fstarship%2Fstarship%2Fmaster%2Fmedia%2Fdemo.gif" alt="starship"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Install &lt;a href="https://atom.io/themes/one-dark-syntax" rel="noopener noreferrer"&gt;One Dark theme&lt;/a&gt; for iTerm2
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A dark syntax theme&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget https://raw.githubusercontent.com/nathanbuchar/atom-one-dark-terminal/master/scheme/iterm/One%20Dark.itermcolors
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can choose any colour scheme you like, my preferred is One Dark which was originally a theme for &lt;a href="https://atom.io/themes/one-dark-syntax" rel="noopener noreferrer"&gt;Atom&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
I chose to use the port made by &lt;a href="https://github.com/nathanbuchar/atom-one-dark-terminal" rel="noopener noreferrer"&gt;Nathan Buchar&lt;/a&gt; because it's the most actively maintained for iTerm.&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%2Fi.imgur.com%2FBC2sJXT.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%2Fi.imgur.com%2FBC2sJXT.png" alt="one dark"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Colours
&lt;/h3&gt;

&lt;p&gt;Open preferences in iTerm and navigate to &lt;code&gt;Profiles &amp;gt; Colors&lt;/code&gt; then in bottom right, from the dropdown &lt;code&gt;color presets&lt;/code&gt; choose &lt;code&gt;import...&lt;/code&gt; and import the file we downloaded.&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%2Fi.imgur.com%2Fr0azWLL.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%2Fi.imgur.com%2Fr0azWLL.png" alt="presets"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And that's it, we now have a nicely styled and customised terminal.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>productivity</category>
      <category>zsh</category>
      <category>bash</category>
    </item>
    <item>
      <title>Awesome Terminal upgrades - Part Five: Awesome and productive command line tools</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Sun, 15 Dec 2019 02:38:40 +0000</pubDate>
      <link>https://forem.com/0xdonut/awesome-terminal-upgrades-part-five-install-awesome-and-productive-command-line-tools-4cd0</link>
      <guid>https://forem.com/0xdonut/awesome-terminal-upgrades-part-five-install-awesome-and-productive-command-line-tools-4cd0</guid>
      <description>&lt;p&gt;In part Five of my "Awesome Terminal upgrades" series, we will look at some programs that will really enhance your overall productivity in your terminal, there are plenty more out there, but these are my favourites.&lt;/p&gt;

&lt;p&gt;They will work in both BASH and ZSH on both macOS and Linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install &lt;a href="https://brew.sh/"&gt;Homebrew&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The missing package manager for macOS (or Linux)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We will be using Homebrew to manage everything for us, if you don't have it installed, go ahead and do it now!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo “[ -f /usr/local/etc/bash_completion ] &amp;amp;&amp;amp; . /usr/local/etc/bash_completion” &amp;gt;&amp;gt; ~/.bash_profile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://github.com/scop/bash-completion"&gt;bash-completion&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Programmable completion functions for bash&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install bash-completion@2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the@2token indicates the major version 2 of bash-completion (the latest version, at the time of this writing, is 2.8) which must be used for Bash 4.1 and higher&lt;/p&gt;

&lt;p&gt;Bash completions work really well by tabbing twice &lt;em&gt;&amp;lt;tab&amp;gt;&amp;lt;tab&amp;gt;&lt;/em&gt; and seeing a list of possible options for your current program.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/junegunn/fzf"&gt;fzf&lt;/a&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A command-line fuzzy finder&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;fzf allows you to find files faster and filter them out better than relying upon find alone.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install fzf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://github.com/dvorka/hstr"&gt;hstr&lt;/a&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;bash and zsh shell history suggest box - easily view, navigate, search and manage your command history. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;hstr is brilliant, there are so many times I can't recall &lt;em&gt;exactly&lt;/em&gt; how to type out a command. This goes a step further than ZSH autocomplete or suggestions in that it allows you to search and filter previous commands super fast in a nice intuitive interface.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install hstr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eK37T-r1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://i.imgur.com/4sKXjTh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eK37T-r1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://i.imgur.com/4sKXjTh.gif" alt="hstr demo" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/ogham/exa"&gt;exa&lt;/a&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A modern version of ‘ls’. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;exa provides a lot more options than ls, and outputs information in a nice readable way.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install exa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zk8h_1y2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://i.imgur.com/DqH9IV9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zk8h_1y2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://i.imgur.com/DqH9IV9.gif" alt="exa demo" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/nvbn/thefuck"&gt;thefuck&lt;/a&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Magnificent app which corrects your previous console command.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Despite the name, this is a brilliant tool that allows you to correct your mistakes much faster than normal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install thefuck
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://github.com/github/hub"&gt;hub&lt;/a&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A command-line tool that makes git easier to use with GitHub.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;hub is a great tool released by github themselves that allows you to interact with their website and manage things like pull requests, all from the commandline.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install hub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want a more comprehensive list of applications, you should check out &lt;a href="https://terminalsare.sexy/"&gt;Terminals Are Sexy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to suggest any more!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>productivity</category>
      <category>zsh</category>
      <category>bash</category>
    </item>
    <item>
      <title>Awesome Terminal upgrades - Part Three: Manage ZSH plugins using Zplugin</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Sun, 15 Dec 2019 02:36:55 +0000</pubDate>
      <link>https://forem.com/0xdonut/awesome-terminal-upgrades-part-three-manage-zsh-plugins-using-zplugin-1fba</link>
      <guid>https://forem.com/0xdonut/awesome-terminal-upgrades-part-three-manage-zsh-plugins-using-zplugin-1fba</guid>
      <description>&lt;p&gt;Recently, I wrote an article about customising your shell using ZSH.&lt;/p&gt;

&lt;p&gt;However, as one person pointed out in the comments, the startup time and performance was &lt;em&gt;excrucuatingly&lt;/em&gt; slow. &lt;/p&gt;

&lt;p&gt;So I set about making sure I chose a better ZSH manager this time around.&lt;/p&gt;

&lt;p&gt;According to this &lt;a href="https://gist.github.com/laggardkernel/4a4c4986ccdcaf47b91e8227f9868ded"&gt;comparison of ZSH frameworks and plugin managers&lt;/a&gt;, if you're using any plugins and doing &lt;em&gt;any sort of development&lt;/em&gt;, &lt;a href="http://zdharma.org/zplugin/wiki/INTRODUCTION/"&gt;Zplugin&lt;/a&gt; is the only option to consider, especially if you use tools like &lt;a href="https://dev.to/misterf/awesome-terminal-upgrades-part-five-install-awesome-and-productive-command-line-tools-4cd0#thefuck"&gt;thefuck&lt;/a&gt; for example.&lt;/p&gt;

&lt;p&gt;It turns out, Zplugin is hands down the fastest most performant ZSH plugin manager, beating Oh-My-ZSH, Antigen, Zplug, Prezto and so on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NCUexM8i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/zdharma/pm-perf-test/master/plots/startup-times.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NCUexM8i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/zdharma/pm-perf-test/master/plots/startup-times.png" alt="zplugin startup times" width="800" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Zplugin launches in &lt;em&gt;&amp;lt; 1 second (~50ms)&lt;/em&gt; as opposed to &lt;em&gt;&amp;gt; 8 seconds&lt;/em&gt; which I was experiencing whilst using zplug!&lt;/p&gt;

&lt;h2&gt;
  
  
  Install &lt;a href="https://brew.sh/"&gt;Homebrew&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The missing package manager for macOS (or Linux)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We will be using Homebrew to manage everything for us, if you don't have it installed, go ahead and do it now!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo “[ -f /usr/local/etc/bash_completion ] &amp;amp;&amp;amp; . /usr/local/etc/bash_completion” &amp;gt;&amp;gt; ~/.bash_profile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Install &lt;a href="https://github.com/zdharma/zplugin"&gt;Zplugin&lt;/a&gt;
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install zplugin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Zplugin will dump some lines of code into your &lt;code&gt;.zshrc&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;source "$HOME/.zplugin/bin/zplugin.zsh"
autoload -Uz _zplugin
(( ${+_comps} )) &amp;amp;&amp;amp; _comps[zplugin]=_zplugin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Install some plugins to get up and running
&lt;/h3&gt;

&lt;p&gt;Once the above output is added to you &lt;code&gt;.zshrc&lt;/code&gt;, we can leverage &lt;a href="https://github.com/ohmyzsh/ohmyzsh"&gt;Oh-My-ZSH&lt;/a&gt;'s &lt;a href="https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins"&gt;plugins&lt;/a&gt; and add some functionality and shortcuts. We'll add Git and SSH to keep it shoer, we'll add some auto suggestion and completion features as well.&lt;/p&gt;

&lt;p&gt;We reference OMZ plugins with &lt;code&gt;zplugin snippet OMZ::&lt;/code&gt; followed by the path to the zsh command eg &lt;code&gt;ssh-agent/ssh-agent.plugin.zsh&lt;/code&gt; to make &lt;code&gt;zplugin snippet OMZ::ssh-agent/ssh-agent.plugin.zsh&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here is a more fleshed out example:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;zplugin ice blockf
zplugin light zsh-users/zsh-completions

zplugin ice as"program" pick"$ZPFX/bin/git-*" make"PREFIX=$ZPFX"

zplugin ice wait lucid atload'_zsh_autosuggest_start'
zplugin light zsh-users/zsh-autosuggestions

zplugin snippet OMZ::plugins/git/git.plugin.zsh
zplugin snippet OMZ::plugins/ssh-agent/ssh-agent.plugin.zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;After you've done this you will want to source your &lt;code&gt;.zshrc&lt;/code&gt; file again:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;source ~/.zshrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;And voila! You're all done, ready and up and running!&lt;/p&gt;

&lt;p&gt;Here is what my own &lt;code&gt;.zshrc&lt;/code&gt; file looks like:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;



</description>
      <category>opensource</category>
      <category>productivity</category>
      <category>zsh</category>
      <category>bash</category>
    </item>
    <item>
      <title>Awesome Terminal upgrades - Part Two: Upgrade and use a newer version of ZSH on macOS</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Sun, 15 Dec 2019 02:36:00 +0000</pubDate>
      <link>https://forem.com/0xdonut/awesome-terminal-upgrades-part-two-upgrade-and-use-a-newer-version-of-zsh-on-macos-4hfg</link>
      <guid>https://forem.com/0xdonut/awesome-terminal-upgrades-part-two-upgrade-and-use-a-newer-version-of-zsh-on-macos-4hfg</guid>
      <description>&lt;p&gt;This is part two in the &lt;strong&gt;"Awesome Terminal upgrades"&lt;/strong&gt; series. In this short tutorial we will cover ZSH on macOS and how you can upgrade and manage it using Homebrew. &lt;/p&gt;

&lt;h2&gt;
  
  
  Install &lt;a href="https://brew.sh/"&gt;Homebrew&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The missing package manager for macOS (or Linux)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We will be using Homebrew to manage everything for us, if you don't have it installed, go ahead and do it now!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By default OSX has ZSH installed, but we're going to use homebrew to install ZSH so we can upgrade it and keep up to date with new releases.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Confirm the current active zsh version:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;zsh --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Confirm the location of zsh:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;which zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output should look like &lt;code&gt;/bin/zsh&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Confirm the shell that’s set for your user:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dscl . -read /Users/$USER UserShell
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output should look like &lt;code&gt;UserShell: /bin/zsh&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Install ZSH:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Use brew ZSH:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo dscl . -create /Users/$USER UserShell /usr/local/bin/zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After that, restart your Terminal to have it take effect.&lt;/p&gt;

&lt;p&gt;Now if you run &lt;code&gt;which&lt;/code&gt; again, you’ll see the system is recognizing the one you installed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;which zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output should look like &lt;code&gt;/usr/local/bin/zsh&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Confirm you're running brew ZSH:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dscl . -read /Users/$USER UserShell
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output should look like &lt;code&gt;UserShell: /usr/local/bin/zsh&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Change your shell to the right ZSH
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chsh -s $(which zsh)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sometimes Switching ZSH shells can throw up some unsuspected errors, so you might want to add this to your &lt;code&gt;.zshrc&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export PATH=$HOME/bin:/usr/local/bin:$PATH
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Awesome, your shell is now using ZSH managed by Homebrew! &lt;br&gt;
You can update ZSH whenever you like, as well as your other Homebrew installs by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew update &amp;amp;&amp;amp; brew upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>opensource</category>
      <category>productivity</category>
      <category>zsh</category>
      <category>bash</category>
    </item>
    <item>
      <title>Awesome Terminal upgrades - Part One: Upgrade and use a newer version of BASH on macOS</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Sun, 15 Dec 2019 02:35:01 +0000</pubDate>
      <link>https://forem.com/0xdonut/awesome-terminal-upgrades-part-one-upgrade-and-use-a-newer-version-of-bash-on-macos-5boc</link>
      <guid>https://forem.com/0xdonut/awesome-terminal-upgrades-part-one-upgrade-and-use-a-newer-version-of-bash-on-macos-5boc</guid>
      <description>&lt;p&gt;This is part one in the "Awesome Terminal upgrades" series. In this short tutorial we will cover BASH on macOS and how you can upgrade and manage it using Homebrew. &lt;/p&gt;

&lt;h2&gt;
  
  
  Install &lt;a href="https://brew.sh/"&gt;Homebrew&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The missing package manager for macOS (or Linux)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We will be using Homebrew to manage everything for us, if you don't have it installed, go ahead and do it now!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo “[ -f /usr/local/etc/bash_completion ] &amp;amp;&amp;amp; . /usr/local/etc/bash_completion” &amp;gt;&amp;gt; ~/.bash_profile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Upgrade and use a newer version of BASH on macOS &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;As of macOS Catalina, the default shell is set to ZSH. &lt;br&gt;
The default version of BASH on macOS is &lt;strong&gt;3.2&lt;/strong&gt; which is ancient! &lt;br&gt;
We'll be installing and using version &lt;strong&gt;5&lt;/strong&gt; and making it our default shell instead.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install bash
sudo vim /etc/shells
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You’ll see some output that looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We need to update it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use your keypad to go down to the last line and press  &lt;code&gt;i&lt;/code&gt; to edit this line&lt;/li&gt;
&lt;li&gt;Type in &lt;code&gt;/usr/local/bin/bash&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;:wq&lt;/code&gt; to writeout the file and quit. &lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Change your default shell to BASH
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chsh -s /usr/local/bin/bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After that, restart your Terminal to have it take effect.&lt;/p&gt;

&lt;h4&gt;
  
  
  Make sure BASH knows where to source everything from
&lt;/h4&gt;

&lt;p&gt;In order to make sure all of the above stick and work whenever you fire up a terminal, add this line to the top of your &lt;code&gt;~/.bash_profile&lt;/code&gt; file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ -r ~/.bashrc ] &amp;amp;&amp;amp; . ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Awesome, your shell is now using BASH managed by Homebrew! &lt;br&gt;
You can update BASH whenever you like, as well as you other Homebrew installs by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew update &amp;amp;&amp;amp; brew upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>opensource</category>
      <category>productivity</category>
      <category>zsh</category>
      <category>bash</category>
    </item>
    <item>
      <title>Yet Another Best MacOS Apps list 2019</title>
      <dc:creator>Mr F.</dc:creator>
      <pubDate>Wed, 27 Nov 2019 22:25:36 +0000</pubDate>
      <link>https://forem.com/0xdonut/yet-another-best-macos-apps-list-2019-47cd</link>
      <guid>https://forem.com/0xdonut/yet-another-best-macos-apps-list-2019-47cd</guid>
      <description>&lt;p&gt;Yes, this is "Yet Another Best Mac Apps" article!&lt;/p&gt;

&lt;p&gt;But I hope there is something in here that you might find useful.&lt;/p&gt;

&lt;p&gt;Where possible, I like to find open source alternatives for any app I use. There are so many great projects out there, you can really find some great little gems that boost your productivity or possibly save you some cash.&lt;/p&gt;

&lt;p&gt;Moreover, I like to find apps that I can install via &lt;a href="https://brew.sh/"&gt;Homebrew&lt;/a&gt;, so I can manage them from my terminal.&lt;/p&gt;

&lt;p&gt;So without further ado, here is my list!&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/rxhanson/Rectangle"&gt;Rectangle&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Rectangle is a window management app based on Spectacle, written in Swift.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Rectangle allows you to organise your apps in a grid across as many screens as you may have. It's fully featured and rivals any paid for application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sTD049Io--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/rectangle.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sTD049Io--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/rectangle.png" alt="Rectangle" width="550" height="1454"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install rectangle
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://fontba.se/"&gt;Fontbase&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;FontBase is the font manager of the new generation, built by designers, for designers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There have been so many font management apps over the years, but Fontbase strikes a great balance between an intuitive interface and preview features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ALuRuDkJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/fontbase.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ALuRuDkJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/fontbase.png" alt="Fontbase" width="800" height="530"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install fontbase
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://maccy.app/"&gt;Maccy&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Clipboard manager for macOS which does one job - keep your copy history at hand. Period.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Maccy is an impressive clipboard manager that does what it needs to do nicely. It's fast and has a nice icon that sits in the menubar tray.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--27MUdnZz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/maccy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--27MUdnZz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/maccy.gif" alt="Maccy" width="800" height="535"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install maccy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://pock.dev/"&gt;Pock&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Display macOS Dock in Touch Bar.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I have a touchbar mac, I've never found that I use the touchbar enough, and Pock brings a nice bit of sanity to it.&lt;br&gt;
Be sure to hide your dock for full effect.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qF4YnqhN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/pock_widgets.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF4YnqhN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/pock_widgets.png" alt="Pock" width="800" height="43"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install pock
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://meetfranz.com/"&gt;Franz&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Franz is your messaging app for WhatsApp, Facebook Messenger, Slack, Telegram and many many more.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Franz is the best of the aggregated messaging apps. You can do away with multiple installs and manage all of those slack channels as well. &lt;br&gt;
It's nicely designed and an absolute must.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HgjB09iV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/franz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HgjB09iV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/franz.png" alt="Franz" width="800" height="569"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install franz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://iina.io/"&gt;IINA&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The modern media player for macOS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;VLC has been around for a while and is the video workhorse. But let's face it, the the app itself is ugly and a bit dated. &lt;/p&gt;

&lt;p&gt;IINA is based on &lt;a href="https://github.com/mpv-player/mpv"&gt;MPV&lt;/a&gt; and adds some nice new touches such as support for Youtube playlists, picture-in-picture and a standalone music mode to name a few.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--slEB2bUt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/iina.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--slEB2bUt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/iina.png" alt="IINA" width="800" height="503"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install iina
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://motrix.app/"&gt;Motrix&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A full-featured download manager. Support downloading HTTP, FTP, BitTorrent, Magnet, Baidu Net Disk etc. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If I know I have a large file to download or some other link, I use Motrix to manage it for me. I don't particularly like seeing my browser do the work, because it usually does a crappy job.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pe6UsTcj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/motrix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pe6UsTcj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/motrix.png" alt="IINA" width="800" height="622"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install motrix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://insomnia.rest/"&gt;Insomnia&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Powerful HTTP and GraphQL tool belt&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When doing any sort of REST/API/GraphQL calls Insomnia works pretty well and picks up where Postman left off. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--c75b_N4o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/insomnia.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--c75b_N4o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/insomnia.png" alt="IINA" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install insomnia
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://bitwarden.com/"&gt;Bitwarden&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The easiest and safest way ... to store, share, and sync sensitive data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I've tried so many password managers, 1Password, Dashlane etc. However, I like that Bitwarden is cross platform and open source. It's not quite as slick as the other apps and lacks a few features, but I'm willing to forgive this for the fact that its open source.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B7LWatHo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/bitwarden.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B7LWatHo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/bitwarden.png" alt="Bitwarden" width="800" height="557"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install bitwarden
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://vscodium.com/"&gt;VS Codium&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;VSCodium is a community-driven, freely-licensed binary distribution of Microsoft’s editor VSCode&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;VSCode is my favourite app. Well, it was until I came across VS Codium (They should drop the VS).&lt;/p&gt;

&lt;p&gt;The problem with VS Code is that it sends telemetry info by default to Microsoft. &lt;a href="https://code.visualstudio.com/docs/getstarted/telemetry"&gt;You can disable it&lt;/a&gt;. &lt;br&gt;
But it would just be easier if someone would provide us with exactly the same app that supports all the extensions without the unneccassary gubbins. &lt;/p&gt;

&lt;p&gt;Luckily VSCodium is that app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8wIZ8fh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/vscodium.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8wIZ8fh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/Demwunz/dev.to-articles/raw/master/blog-posts/yet-another-best-macos-apps-list-2019/assets/vscodium.png" alt="VSCodium" width="800" height="622"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew cask install vscodium
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Please feel free to make suggestions and share your own favourites!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>productivity</category>
      <category>macos</category>
    </item>
  </channel>
</rss>
