# Software tools

- Page: https://shared.btbytes.com/p/tools
- Date: 2020-02-25
- Tags: tools, macos

List of programs and shell scripts that I find useful.

* 2014-11-26: [Conkeror](http://conkeror.org)
* 2015-05-06: [ccat](https://github.com/jingweno/ccat) -- colourised cat. [there are other ways to do it, including using pygmentize](https://news.ycombinator.com/item?id=9496854)
* 2016-07-22: [joeyespo/grip: Preview GitHub Markdown files like Readme locally before committing them.](https://github.com/joeyespo/grip)
* 2018-02-19: [java_launcher: Helper script to treat Java programs as scripts.](https://github.com/lkesteloot/java_launcher)
* 2019-12-05: [imgproxy](https://github.com/imgproxy/imgproxy) -- imgproxy does one thing — resizing remote images — and does it well. It works great when you need to resize multiple images on the fly to make them match your application design without preparing a ton of cached resized images or re-doing it every time the design changes. imgproxy is a Go application, ready to be installed and used in any Unix environment
* 2020-02-25: [antonmedv/fx: Command-line tool and terminal JSON viewer 🔥](https://github.com/antonmedv/fx)
* 2020-02-25: [antonmedv/red: Terminal log analysis tools](https://github.com/antonmedv/red)

## Meta (lists made by other people)

- [cjbarber/ToolsOfTheTrade: Tools of The Trade, from Hacker News.](https://github.com/cjbarber/ToolsOfTheTrade#readme)
- [An Illustrated Guide to Useful Command Line Tools - WezM.net by Wesley Moore](https://www.wezm.net/technical/2019/10/useful-command-line-tools/#alt)


## Chrome extensions

- [PriceBlink](https://chrome.google.com/webstore/detail/aoiidodopnnhiflaflbfeblnojefhigh) --useful for comparison shopping. I've saved quite a bit of
    money using this extension.
- [Personal Blocklist](https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbdaogikpmpbdcdef)
    -- filter out [content
    farms](http://www.jongales.com/blog/2011/02/14/list-of-content-farms/)
    from your searches.
-[Adblock
    Plus](https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaibdccddilifddb)
    -- A must have for all.
-[Send this link with
    Gmail](https://chrome.google.com/webstore/detail/pgphcomnlaojlmmcjmiddhdapjpbgeoc)
    -- very useful to share the web links via email. Works even Google
    Apps domains.
-[MeasureIt!](https://chrome.google.com/webstore/detail/pokhcahijjfkdccinalifdifljglhclm)
-[JSONView](https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc)
    -- "an extension that helps you to parse and view JSON documents".
    Highly recommended if you do web development
-[Screen Capture](https://chrome.google.com/webstore/detail/cpngackimfmofbokmjmljamhdncknpmg) -- screen capture, highlighting and annotation.


## Safari extensions

- Ghostery -- block intrusive javascript.


## Pandoc

[pandoc](https://shared.btbytes.com/p/pandoc) is a fantastic program to
convert text to various output formats.

*Typcial usage:* To convert a markdown formatted text file to html

    $ pandoc somefile.txt -f markdown -t html --standalone -o somefile.html

See the detailed [pandoc page](https://shared.btbytes.com/p/pandoc).

## Command line tools

### abcde

Command line tool to rip CDs to `.mp3`.

Installation: `$ sudo apt-get install abcde id3v2`

Insert Disc \#1 of a 3-cd audio book `$ abcde -o mp3 -p -W 1`.

### bcat

[bcat](http://web.archive.org/web/20100701091643/http://rtomayko.github.com/bcat) pipe to browser utility.

*Typical usage:* To see the `git` log.

    $ git log -p --color | bcat

### fd

[sharkdp/fd: A simple, fast and user-friendly alternative to find.](https://github.com/sharkdp/fd)

### gist

[gist](http://github.com/defunkt/gist) pastes code, text to
[gist.github.com] from command line.

    $ gist one.txt

### partimage

[partimage](http://www.partimage.org/) is a Linux disk imaging software.
It has a curses based interface to guide you through the options.

*Typical usage:* make a backup of an entire HDD(say SSD/Flash of a
prototype) to your desktop.

Make Image:

    $ partimage -z1 save /dev/sdg1 $HOME/backup/prototype-hdd-20100707.partimg.gz

Restore:

    $ partimage restore /dev/sdg1 $HOME/backup/prototype-hdd-20100707.partimg.gz

### qpdf

[qpdf](http://qpdf.sourceforge.net/) -- is a command-line program
    that does structural, content-preserving transformations on PDF
    files.

### http-prompt

- [HTTP Prompt - An interactive command-line HTTP client](http://http-prompt.com/)

```
pip install http-prompt
```

### fzf

[junegunn/fzf: A command-line fuzzy finder written in Go](https://github.com/junegunn/fzf)

### peco

- [peco/peco: Simplistic interactive filtering tool](https://github.com/peco/peco)

### q

- [q is a command line tool that allows direct execution of SQL-like queries on CSVs/TSVs (and any other tabular text files).](http://web.archive.org/web/20140824114154/http://harelba.github.io/q/examples.html)

### entr

[entr(1)](https://eradman.com/entrproject/) --  Run arbitrary commands when files change

### ripgrep

[ripgrep](https://github.com/BurntSushi/ripgrep) recursively searches directories for a regex pattern. See [rga](https://github.com/phiresky/ripgrep-all), like `rg`, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.

### sd

[sd](http://web.archive.org/web/20200414120340/https://crates.io/crates/sd) is an intuitive find & replace CLI.

### rargs

[rargs](https://github.com/lotabout/rargs) xargs + awk with pattern matching support. `ls *.bak | rargs -p '(.*)\.bak' mv {0} {1}`

### rak

[lizmat/App-Rak: 21st century grep / find / ack / ag / rg on steroids](https://github.com/lizmat/App-Rak)

## Code tools

- [etsy/hound: Lightning fast code searching made easy](https://github.com/etsy/hound)

## Database tools

- [dbeaver](http://dbeaver.jkiss.org/) -- crossplatform database
  manager for all popular sql dbs and some nosql dbs.

## Web development tools

- [HTTPie + prompt_toolkit = an interactive command-line HTTP client featuring autocomplete and syntax highlighting](https://github.com/eliangcs/http-prompt)

- [TheWaWaR/simple-http-server: SimpleHTTPServer in Rust](https://github.com/TheWaWaR/simple-http-server)
- [Yaak](https://yaak.app/) is a cross-platform desktop app for interacting with REST, GraphQL, and gRPC

## Data Cleaning

- [jq](http://stedolan.github.io/jq/) - command line json processor
- [HTML-XML-utils](http://www.w3.org/Tools/HTML-XML-utils/) -- makes scraping tasks that much easier.
- [pup - Parsing HTML at the command line](https://github.com/EricChiang/pup). written in go.
- [xidel -  HTML/XML data extraction tool](https://github.com/benibela/xidel/) which is written in Pascal; also by the same author  - [texstudio](https://www.texstudio.org)

## Interesting `~/bin`s on github

-   <https://github.com/sartak/bindir>
-   <https://github.com/dustin/bindir>

Some more linked on this page: [15 Greatest Open Source Terminal
Applications Of
2012](http://www.cyberciti.biz/open-source/best-terminal-applications-for-linux-unix-macosx/)


## Interesting

- [ronn](https://github.com/rtomayko/ronn) - the opposite of roff.


## Lorem ipsum

- [Jeffsum | A little text placeholder generator of Jeff Goldblum awesome... obviously.](http://web.archive.org/web/20180806153930/http://jeffsum.com/)

## OCR

* [Screenotate](https://screenotate.com/)  Take screenshots you can search.


## ASCII Banner

Use [Figlet and Toilet](https://www.tecmint.com/create-ascii-text-banners-in-linux-terminal/) to generate ascii text banners in linux terminal.
