<commit_before># Emo
[![Emoji](https://img.shields.io/badge/emo-%E2%9C%94%EF%B8%8E_%F0%9F%98%82_%E2%AD%90%EF%B8%8F_%F0%9F%90%96_(totally emo)-blue.svg)](https://www.youtube.com/watch?v=gAotWVmVRS4)
[![License](https://img.shields.io/badge/license-MIT%20License-blue.svg)](http://choosealicense.com/licenses/mit/)

Convert human unfriendly strings to emoji in your terminal


### What? Why?
There are a lot of human unfriendly strings out there, for instance, UUIDs and SHA1s. 

When you have to work with a couple of these strings, it's manageable; most programmers I know see `f985dab7704a` and remember that as "the one that starts with f9." And tab completion helps. But when you start to have tens or hundreds of these strings, it starts to get messy, and we lose the ability to quickly look at some output and see what node/commit/container/image is being referenced.

### Installation
`emo` requires nodejs. Once you've installed node (which now comes bundled with `npm`) you can install `emo` by running

```bash 
sudo npm install -g emo2

```

### Usage

You can pipe stdout to emo, and emo will replace human unfriendly strings with emoji, and store that data to `~/.emo`.

```bash
git log | emo
```

```bash
docker ps | emo
```

Then you can look stuff up in either direction, like so:


```bash
emo f985dab7704a
```

```bash
emo 🐤
```

```bash
docker kill $(emo 👾)
```

![gif](http://fat.gfycat.com/DiligentTalkativeGoldeneye.gif)


### Options

When piping, you can add `-s` to have emo add spacing equivalent to the length of the string being replaced.

```
gitlg | emo -s
```

### Caveats

- Unique to you, each emoji is assigned randomly. It'd be cool if they were computed/encoded from the string, but I couldn't figure out a good way to do that without needing to make the replacement many emoji long.
- Some emoji look very similar
- My regex for detecting "human unfriendly strings" leaves a lot to be desired
- You probably shouldn't use this for anything serious, though I'm having a hard time thinking how one even would.<commit_msg>badges<commit_after># Emo
<p><img src="https://img.shields.io/badge/emo-%E2%9C%94%EF%B8%8E_%F0%9F%98%82_%E2%AD%90%EF%B8%8F_%F0%9F%90%96_(totally emo)-blue.svg"> <img src="https://img.shields.io/badge/license-MIT%20License-blue.svg"></p>

Convert human unfriendly strings to emoji in your terminal


### What? Why?
There are a lot of human unfriendly strings out there, for instance, UUIDs and SHA1s. 

When you have to work with a couple of these strings, it's manageable; most programmers I know see `f985dab7704a` and remember that as "the one that starts with f9." And tab completion helps. But when you start to have tens or hundreds of these strings, it starts to get messy, and we lose the ability to quickly look at some output and see what node/commit/container/image is being referenced.

### Installation
`emo` requires nodejs. Once you've installed node (which now comes bundled with `npm`) you can install `emo` by running

```bash 
sudo npm install -g emo2

```

### Usage

You can pipe stdout to emo, and emo will replace human unfriendly strings with emoji, and store that data to `~/.emo`.

```bash
git log | emo
```

```bash
docker ps | emo
```

Then you can look stuff up in either direction, like so:


```bash
emo f985dab7704a
```

```bash
emo 🐤
```

```bash
docker kill $(emo 👾)
```

![gif](http://fat.gfycat.com/DiligentTalkativeGoldeneye.gif)


### Options

When piping, you can add `-s` to have emo add spacing equivalent to the length of the string being replaced.

```
gitlg | emo -s
```

### Caveats

- Unique to you, each emoji is assigned randomly. It'd be cool if they were computed/encoded from the string, but I couldn't figure out a good way to do that without needing to make the replacement many emoji long.
- Some emoji look very similar
- My regex for detecting "human unfriendly strings" leaves a lot to be desired
- You probably shouldn't use this for anything serious, though I'm having a hard time thinking how one even would.
{'fraction_non_alphanumeric': 0.10542018896071606, 'fraction_numerical': 0.021133764296369966, 'mean_word_length': 4.342629482071713, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 5, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2667796', 'n_tokens_mistral': 1410, 'n_tokens_neox': 1275, 'n_words': 557}