<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nicolas Russo</title>
    <description>The latest articles on DEV Community by Nicolas Russo (@nicolasxrusso).</description>
    <link>https://dev.to/nicolasxrusso</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%2F621880%2F297c0cbf-095b-4d76-b2cf-561030cf69d3.png</url>
      <title>DEV Community: Nicolas Russo</title>
      <link>https://dev.to/nicolasxrusso</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nicolasxrusso"/>
    <language>en</language>
    <item>
      <title>BugUFO: Get paid to debug or pay someone to debug it for you</title>
      <dc:creator>Nicolas Russo</dc:creator>
      <pubDate>Sat, 12 Jun 2021 00:37:30 +0000</pubDate>
      <link>https://dev.to/nicolasxrusso/bugufo-get-paid-to-debug-or-pay-someone-to-debug-it-for-you-4fk4</link>
      <guid>https://dev.to/nicolasxrusso/bugufo-get-paid-to-debug-or-pay-someone-to-debug-it-for-you-4fk4</guid>
      <description>&lt;p&gt;Could this be the future of debugging? &lt;/p&gt;

&lt;h3&gt;
  
  
  What is BugUFO?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://bugufo.com" rel="noopener noreferrer"&gt;BugUFO&lt;/a&gt; is a marketplace where programmers can post code bugs with a bounty, and the first programmer to solve the bug gets the bounty.&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%2Fcdn-images-1.medium.com%2Fmax%2F11072%2F1%2AVXgaoOgMjOVLV7K3hR29Jw.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%2Fcdn-images-1.medium.com%2Fmax%2F11072%2F1%2AVXgaoOgMjOVLV7K3hR29Jw.png" alt="Courtesy of BugUFO"&gt;&lt;/a&gt;&lt;br&gt;
&lt;sup&gt;Courtesy of BugUFO&lt;/sup&gt; &lt;/p&gt;

&lt;p&gt;The founders of &lt;a href="https://bugufo.com" rel="noopener noreferrer"&gt;BugUFO&lt;/a&gt; are 2 programmers, Ilya and Youssef, who were frustrated with the current state of debugging.&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%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A3WNmV9SMbTWDHiMR-Z12Vw.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%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A3WNmV9SMbTWDHiMR-Z12Vw.gif" alt="Courtesy of BugUFO"&gt;&lt;/a&gt;&lt;br&gt;
&lt;sup&gt;Courtesy of BugUFO&lt;/sup&gt; &lt;/p&gt;

&lt;p&gt;According to the founders of BugUFO, typically, for a programmer to debug a program, they initially try to solve the problem themselves using print statements, and &lt;a href="https://en.wikipedia.org/wiki/Shotgun_debugging" rel="noopener noreferrer"&gt;shotgun debugging&lt;/a&gt;. If they’re slightly more advanced or the problem is slightly more difficult, they might use a debugger and approaches such as &lt;a href="https://en.wikipedia.org/wiki/Program_slicing" rel="noopener noreferrer"&gt;program slicing&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Profiling_(computer_programming)" rel="noopener noreferrer"&gt;code profiling&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Time_travel_debugging" rel="noopener noreferrer"&gt;time travel debugging&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Why%E2%80%93because_analysis" rel="noopener noreferrer"&gt;why-because analysis&lt;/a&gt;, and &lt;a href="https://en.wikipedia.org/wiki/Delta_debugging" rel="noopener noreferrer"&gt;delta debugging&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When all else fails, most programmers tend to resort to googling the error in the hopes of finding some solution to their problem.&lt;/p&gt;

&lt;p&gt;This is fine for simple bugs, but for slightly more niche or nuanced bugs, googling is not always a fruitful path.&lt;/p&gt;

&lt;h3&gt;
  
  
  One-click debugging
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F10000%2F1%2AcOyk984oHVgMEhbjQOHuEw.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%2Fcdn-images-1.medium.com%2Fmax%2F10000%2F1%2AcOyk984oHVgMEhbjQOHuEw.jpeg" alt="Courtesy of BugUFO"&gt;&lt;/a&gt;&lt;br&gt;
&lt;sup&gt;Courtesy of BugUFO&lt;/sup&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nicolas&lt;/strong&gt;: The first question that I feel will be on most people’s minds is how this differs from free question answering sites (Stack Overflow, Quora, Reddit, etc.) or doing a quick google search?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Youssef&lt;/strong&gt;: We like and are frequent users ourselves of all these options. But oftentimes, we’ve posted questions that were ignored either because they were too long, had been marked as duplicates and closed (in Stack Overflow’s case), have gotten no useful responses, not to mention the anxiety and uncertainty of waiting for a response.&lt;/p&gt;

&lt;p&gt;In addition, if you’re googling, each response you come across needs to be vetted to make sure it solves your problem and not merely a similar problem.&lt;/p&gt;

&lt;p&gt;If you ask a question, and get a response, the response may be correct but too advanced for you to understand.&lt;/p&gt;

&lt;p&gt;With more complex problems, the response can sometimes be in the form of a hint, pseudo-code, or a code-snippet, instead of working code.&lt;/p&gt;

&lt;p&gt;Essentially, you’re unable to immediately incorporate it into your own code.&lt;/p&gt;

&lt;p&gt;There’s a cycle you go through of checking whether or not every answer actually solves your problem by making a change in your code, running it, and seeing if the error is gone, and the code functions as expected.&lt;/p&gt;

&lt;p&gt;There are only so many cycles that a developer can go through before they burn out.&lt;/p&gt;

&lt;p&gt;We’re trying to remove this menial, cyclic checking process such that you get rapid, tested solutions instead of suggestions that may or may not work.&lt;/p&gt;

&lt;p&gt;Another pain point in terms of question answering sites is on the problem-solver side, helpers are operating without enough information. For instance, users posting the problem to question answering sites may not elaborate on their specific development environment, or don’t post all of their code, only a small segment, or their question suffers from the &lt;a href="https://en.wikipedia.org/wiki/XY_problem" rel="noopener noreferrer"&gt;XY problem&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F4712%2F1%2Agi1XuILJ-xPSfzfjYVODwQ.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%2Fcdn-images-1.medium.com%2Fmax%2F4712%2F1%2Agi1XuILJ-xPSfzfjYVODwQ.jpeg" alt="Courtesy of BugUFO"&gt;&lt;/a&gt;&lt;br&gt;
&lt;sup&gt;Courtesy of BugUFO&lt;/sup&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nicolas&lt;/strong&gt;: What about paid options (Fiverr, Upwork, etc.)?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ilya&lt;/strong&gt;: The paid options are more for wholesale outsourcing of code or feature development instead of quick code fixes.&lt;/p&gt;

&lt;p&gt;What if you’re trying to learn coding yourself or are a developer who has a bug in your code? Do you really want to go through the time and energy of vetting five developers, coordinating timezones, and overpaying, only to have 1 bug fixed? That could’ve been done in 15 minutes or you could’ve gone and done something else while someone was working on your problem without ever vetting any candidates. Basically, we’re saying: At the click of a button, someone starts working on your problem without ever having to talk to a human. If your problem isn’t solved, you don’t pay anything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nicolas&lt;/strong&gt;: Why is your solution a paid solution rather than free?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ilya&lt;/strong&gt;: Paying someone drastically increases the odds that someone will actually solve your custom problem and do so in the timeframe you desire.&lt;/p&gt;

&lt;h3&gt;
  
  
  How BugUFO affects the learning experience
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F18520%2F1%2AwrZ2HdYyoxo4eO-JjQpaew.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%2Fcdn-images-1.medium.com%2Fmax%2F18520%2F1%2AwrZ2HdYyoxo4eO-JjQpaew.png" alt="Courtesy of BugUFO"&gt;&lt;/a&gt;&lt;br&gt;
&lt;sup&gt;Courtesy of BugUFO&lt;/sup&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We think that BugUFO could be like a wormhole through time for self-learners — Youssef, BugUFO&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Nicolas&lt;/strong&gt;: As a self-taught programmer, I’m curious how this affects learning. Is paying for debugging going to hurt or help the learning experience in your opinion?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ilya&lt;/strong&gt;: For someone who is serious about improving, seeing working code can help the learning experience (e.g. by giving them the freedom to play with the code) and encourage them to keep on going.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Youssef&lt;/strong&gt;: For many people, struggling for hours to solve a problem you care about can hurt you more than help you because you end up developing negative associations with the project or with programming in general if you aren’t making progress. We think that BugUFO could be like a wormhole through time for self-learners, allowing for accelerated &lt;a href="https://en.wikipedia.org/wiki/Just-in-time_learning" rel="noopener noreferrer"&gt;just-in-time learning&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nicolas&lt;/strong&gt;: How does a coder decide when to use BugUFO vs. figuring it out themselves?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ilya&lt;/strong&gt;: There are probably three typical use cases:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;If you come across an error that feels way beyond your current skill level&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you feel that you could eventually figure it out but it might take several days or weeks, and you’d rather make faster progress.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If there’s a time constraint that is tighter than your expected turnaround time solving it yourself.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Nicolas&lt;/strong&gt;: Thanks for your time. Would you be open to maybe doing a follow-up interview in the future?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ilya&lt;/strong&gt;: Anytime!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nicolas&lt;/strong&gt;: By the way, how did you come up with the name “BugUFO”?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Youssef &amp;amp; Ilya:&lt;/strong&gt; Top secret. (Laughter).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Special thanks to J.B. for getting me in touch with BugUFO’s founders.)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>news</category>
      <category>startup</category>
    </item>
    <item>
      <title>9 Command-Line Tools to Make Life Easier and More Fun</title>
      <dc:creator>Nicolas Russo</dc:creator>
      <pubDate>Fri, 30 Apr 2021 23:55:04 +0000</pubDate>
      <link>https://dev.to/nicolasxrusso/9-command-line-tools-to-go-to-infinity-beyond-2dgi</link>
      <guid>https://dev.to/nicolasxrusso/9-command-line-tools-to-go-to-infinity-beyond-2dgi</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%2Fcdn-images-1.medium.com%2Fmax%2F6032%2F1%2A_YJ49XexGh3xKFSXu_UMDA.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%2Fcdn-images-1.medium.com%2Fmax%2F6032%2F1%2A_YJ49XexGh3xKFSXu_UMDA.jpeg" alt="Photo by [Christian Perner](https://unsplash.com/photos/UKLIuV8rAks) on [Unsplash](https://unsplash.com/)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/hedythedev/starcli" rel="noopener noreferrer"&gt;1. StarCLI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2456%2F1%2ABQd4asyYPZbxBVNVDcU0tw.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%2Fcdn-images-1.medium.com%2Fmax%2F2456%2F1%2ABQd4asyYPZbxBVNVDcU0tw.png" alt="Screenshot taken from [https://github.com/hedythedev/starcli](https://github.com/hedythedev/starcli)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This head honcho is a wonderful source for finding new cool things people are building every day.&lt;/p&gt;

&lt;p&gt;Function: Discover trending Github projects, filter by language, time (day, week, month), topic, and more.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;a href="https://github.com/lucidrains/deep-daze" rel="noopener noreferrer"&gt;Deep Daze&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This command-line tool zooms you into the future&lt;/p&gt;

&lt;p&gt;Function: Generate images from text.&lt;/p&gt;

&lt;p&gt;It uses OpenAI’s CLIP image re-ranking model and Siren.&lt;/p&gt;

&lt;p&gt;While it is not as impressive as OpenAI’s &lt;a href="https://openai.com/blog/dall-e/" rel="noopener noreferrer"&gt;DALL-E&lt;/a&gt;, it can be fun to play with.&lt;/p&gt;

&lt;p&gt;Often times you get the impression or essence of what you want rather than a precise version of it.&lt;/p&gt;

&lt;p&gt;For example, here’s the 37th iteration I got when I tried: “command line text art of a Japanese bread character”&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%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2AUvfWfw8P63vK5RLFmk2Z5A.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%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2AUvfWfw8P63vK5RLFmk2Z5A.jpeg" alt="command line text art of a Japanese bread character"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you install it with:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install deep-daze
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;All you have to do is:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;imagine “a potato dreaming on the beach”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;And you can get even better results with:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;imagine “a potato being on the beach” --deeper
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you’ve got more power, you can increase layers for better results:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;imagine "stranger in strange lands" --num-layers 32
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Limitations: This one can be slow depending on how powerful your computer is.&lt;/p&gt;

&lt;p&gt;Currently there are several projects trying to replicate DALL-E, here’s &lt;a href="https://github.com/lucidrains/DALLE-pytorch" rel="noopener noreferrer"&gt;another one&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;a href="https://github.com/shobrook/rebound" rel="noopener noreferrer"&gt;Rebound&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Function: Fetch Stack Overflow results whenever an exception is thrown.&lt;/p&gt;

&lt;p&gt;Limitations: Python only&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;a href="https://github.com/ogham/exa" rel="noopener noreferrer"&gt;Exa&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Function: A modern alternative to ls. List files in a beautiful way:&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%2Fcdn-images-1.medium.com%2Fmax%2F4532%2F1%2A1GgkhltggvLD39fpjyUCMQ.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%2Fcdn-images-1.medium.com%2Fmax%2F4532%2F1%2A1GgkhltggvLD39fpjyUCMQ.png" alt="Photo by Exa creator at [https://github.com/ogham/exa](https://github.com/ogham/exa)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;a href="https://github.com/peco/peco" rel="noopener noreferrer"&gt;Peco&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Function: Simple interactive filtration/search tool for the command line.&lt;/p&gt;

&lt;p&gt;If like me you’ve ever been frustrated that the command line does not have some sort of auto-complete or fuzzy match, Peco is the answer.&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%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2As2eTtRI_TtyAFLiTEhuxgg.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%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2As2eTtRI_TtyAFLiTEhuxgg.gif" alt="GIF by Peco creator at [https://github.com/peco/peco](https://github.com/peco/peco)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A40qVcja8L64traI3r_g5Fw.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%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A40qVcja8L64traI3r_g5Fw.gif" alt="GIF by Peco creator at [https://github.com/peco/peco](https://github.com/peco/peco)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;a href="https://www.jefftk.com/icdiff" rel="noopener noreferrer"&gt;icdiff&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Function: Highlight differences in code&lt;/p&gt;

&lt;p&gt;As the creator Jeff points out, your terminal can display color but a lot of diff tools don’t use it. icdiff highlights those differences.&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%2Fcdn-images-1.medium.com%2Fmax%2F4660%2F1%2AMf2tavy6L83PCD-JV0N6qg.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%2Fcdn-images-1.medium.com%2Fmax%2F4660%2F1%2AMf2tavy6L83PCD-JV0N6qg.png" alt="Photo by icdiff creator at [https://www.jefftk.com/icdiff](https://www.jefftk.com/icdiff)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Limitations: only available on Mac/Linux.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. &lt;a href="https://beyondgrep.com/why-ack/" rel="noopener noreferrer"&gt;ack&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Function: With ack, you can search a directory of source code files for text inside the code, from inside the terminal, and get pretty formatted code segments in your terminal.&lt;/p&gt;

&lt;p&gt;It’s:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Conveniently easy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fast&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Instead of typing:&lt;/p&gt;

&lt;p&gt;$ grep pattern $(find . -type f | grep -v '.git')&lt;/p&gt;

&lt;p&gt;You can type:&lt;/p&gt;

&lt;p&gt;$ ack pattern&lt;/p&gt;

&lt;p&gt;Here’s &lt;a href="https://www.youtube.com/watch?v=sKmyl5D8Da8" rel="noopener noreferrer"&gt;a lightning talk&lt;/a&gt; from Cameron Pope on why you should use it.&lt;/p&gt;

&lt;p&gt;You can install it &lt;a href="https://beyondgrep.com/install/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. &lt;a href="https://github.com/lemnos/theme.sh" rel="noopener noreferrer"&gt;Theme.sh&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Function: Interactive theme selection for the terminal.&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%2Fcdn-images-1.medium.com%2Fmax%2F2160%2F1%2AD5RMQ1y4Ybp0fZfjCNJ3hA.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%2Fcdn-images-1.medium.com%2Fmax%2F2160%2F1%2AD5RMQ1y4Ybp0fZfjCNJ3hA.gif" alt="GIF by Theme.sh creator at [https://github.com/lemnos/theme.sh](https://github.com/lemnos/theme.sh)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9. &lt;a href="https://github.com/hauntsaninja/pyp" rel="noopener noreferrer"&gt;Pyp&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Function: Run Python commands in the shell.&lt;/p&gt;

&lt;p&gt;This can be handy if you want to do something quick in the terminal that integrates Python.&lt;/p&gt;

&lt;p&gt;For example, here’s a line that gets the file formats in a directory and sorts them by most common:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls | pyp ‘Path(x).suffix’ | pyp ‘Counter([line for line in lines if line != “”]).most_common()’
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Result:&lt;/p&gt;

&lt;p&gt;(‘.wav’, 9)&lt;/p&gt;

&lt;p&gt;(‘.py’, 4)&lt;/p&gt;

&lt;p&gt;(‘.mp3’, 1)&lt;/p&gt;

&lt;p&gt;(‘.zip’, 1)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Resources&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;All the choices above in a glance:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/hedythedev/starcli" rel="noopener noreferrer"&gt;StarCLI&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/lucidrains/deep-daze" rel="noopener noreferrer"&gt;Deep daze&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/shobrook/rebound" rel="noopener noreferrer"&gt;Rebound&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/ogham/exa" rel="noopener noreferrer"&gt;Exa&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/peco/peco" rel="noopener noreferrer"&gt;Peco&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.jefftk.com/icdiff" rel="noopener noreferrer"&gt;icdiff&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://beyondgrep.com/why-ack/" rel="noopener noreferrer"&gt;ack&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/lemnos/theme.sh" rel="noopener noreferrer"&gt;Theme.sh&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/hauntsaninja/pyp" rel="noopener noreferrer"&gt;Pyp&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>productivity</category>
      <category>python</category>
    </item>
  </channel>
</rss>
