itNew post: So tox me maybe - monochromatic - monochromatic blog: http://blog.z3bra.org Err z3bra.org 70 hgit clone git://z3bra.org/monochromatic URL:git://z3bra.org/monochromatic z3bra.org 70 1Log /scm/monochromatic/log.gph z3bra.org 70 1Files /scm/monochromatic/files.gph z3bra.org 70 1Refs /scm/monochromatic/refs.gph z3bra.org 70 i--- Err z3bra.org 70 1commit e97aa66e857d3934fab42a40a077db5d98b7e8b6 /scm/monochromatic/commit/e97aa66e857d3934fab42a40a077db5d98b7e8b6.gph z3bra.org 70 1parent 7f83fbfd1cddac8a25c2e38c70cb413c67d986ef /scm/monochromatic/commit/7f83fbfd1cddac8a25c2e38c70cb413c67d986ef.gph z3bra.org 70 hAuthor: z3bra URL:mailto:willy@mailoo.org z3bra.org 70 iDate: Fri, 12 Dec 2014 00:47:25 +0100 Err z3bra.org 70 i Err z3bra.org 70 iNew post: So tox me maybe Err z3bra.org 70 i Err z3bra.org 70 iDiffstat: Err z3bra.org 70 i A 2014/12/so-tox-me-maybe.txt | 163 +++++++++++++++++++++++++++++++ Err z3bra.org 70 i M config.mk | 3 ++- Err z3bra.org 70 i M index.txt | 1 + Err z3bra.org 70 i Err z3bra.org 70 i3 files changed, 166 insertions(+), 1 deletion(-) Err z3bra.org 70 i--- Err z3bra.org 70 1diff --git a/2014/12/so-tox-me-maybe.txt b/2014/12/so-tox-me-maybe.txt /scm/monochromatic/file/2014/12/so-tox-me-maybe.txt.gph z3bra.org 70 it@@ -0,0 +1,163 @@ Err z3bra.org 70 i+# [So tox me maybe](#) Err z3bra.org 70 i+## — 11 December, 2014 Err z3bra.org 70 i+ Err z3bra.org 70 i+Microsoft. I don't really like their policies, or softwares, or operating Err z3bra.org 70 i+systems. But I must say that they *were* (this word is important) the only to Err z3bra.org 70 i+propose a nice text/audio/video instant messenger: "*Skype*". Err z3bra.org 70 i+ Err z3bra.org 70 i+Skype brought many nice features to online chat. It allows free Err z3bra.org 70 i+(not as in freedom) audio communications, and video calls. It is fairly easy to Err z3bra.org 70 i+add friends on it, and chat with them around the world. The idea behind it is Err z3bra.org 70 i+quite nice. Err z3bra.org 70 i+But as for many softwares, the implementation sucks. Err z3bra.org 70 i+ Err z3bra.org 70 i+### The itch Err z3bra.org 70 i+ Err z3bra.org 70 i+Skype relies on a centralised platform, which means that ALL your Err z3bra.org 70 i+conversations go through a few servers around the world, and get re-routed to Err z3bra.org 70 i+your friends. Err z3bra.org 70 i+ Err z3bra.org 70 i+The drawback is that you can experience consequent lags within Err z3bra.org 70 i+your calls, because all the data have to go through the server instead of being Err z3bra.org 70 i+sent directly to your friend. Err z3bra.org 70 i+ Err z3bra.org 70 i+There is an advantage though: it makes your conversations easier to [record by other Err z3bra.org 70 i+entities](http://www.zdnet.com/article/fbi-nsa-said-to-be-secretly-mining-data-from-nine-u-s-tech-giants/). Err z3bra.org 70 i+ Err z3bra.org 70 i+### The antidot Err z3bra.org 70 i+ Err z3bra.org 70 i+I'm not putting forward the griefs I have against skype without providing a Err z3bra.org 70 i+solution. Some people concerned about freedom and privacy decided to provide a Err z3bra.org 70 i+free (as in freedom) replacement for the microsoft software. Err z3bra.org 70 i+ Err z3bra.org 70 i+They ended up with [tox](https://tox.im/). Check their homepage at least, they Err z3bra.org 70 i+will sell the product better than I'll do. Err z3bra.org 70 i+ Err z3bra.org 70 i+Tox is a library allowing encrypted peer-to-peer communication between you and Err z3bra.org 70 i+the world. It comes with a lot of client, each of them having its set of Err z3bra.org 70 i+features. If you want to try tox quickly, consider [utox](http://utox.org/), Err z3bra.org 70 i+it is light, fast, featureful and easy-to use. Download it, launch it, and start Err z3bra.org 70 i+toxing. It can't be simpler... Err z3bra.org 70 i+ Err z3bra.org 70 i+Each user is assigned a tox ID (which is a randomly generated sequence of Err z3bra.org 70 i+alphanumeric chars) that you can share with your friends to add them in your Err z3bra.org 70 i+client of choice. Err z3bra.org 70 i+ Err z3bra.org 70 i+[![an utox window](/img/thumb/2014-12-11-utox.png)](/img/2014-12-11-utox.png) Err z3bra.org 70 i+ Err z3bra.org 70 i+An [utox](http://utox.org) window. As you can see, the Err z3bra.org 70 i+friend list is on the right, and the chat happens on the right pane. Fairly easy Err z3bra.org 70 i+:) Err z3bra.org 70 i+ Err z3bra.org 70 i+### The Unix way Err z3bra.org 70 i+ Err z3bra.org 70 i+Now that you know what tox is, what about trying a client that will turn your Err z3bra.org 70 i+whole system into an interface to the tox library ? Err z3bra.org 70 i+ Err z3bra.org 70 i+[Ratox](http://ratox.2f30.org), a FIFO based tox client. A Err z3bra.org 70 i+FIFO (First In First Out) is, in the Unix context, a file that can be used Err z3bra.org 70 i+by two different programs to communicate. It works kinda like pipes on the Err z3bra.org 70 i+shell, but using a physical file. Err z3bra.org 70 i+ Err z3bra.org 70 i+When you start `ratox`, it will create the following tree in the current Err z3bra.org 70 i+directory: Err z3bra.org 70 i+ Err z3bra.org 70 i+ $ tree Err z3bra.org 70 i+ . Err z3bra.org 70 i+ ├── id Err z3bra.org 70 i+ ├── name Err z3bra.org 70 i+ │ ├── err Err z3bra.org 70 i+ │ ├── in Err z3bra.org 70 i+ │ └── out Err z3bra.org 70 i+ ├── nospam Err z3bra.org 70 i+ │ ├── err Err z3bra.org 70 i+ │ ├── in Err z3bra.org 70 i+ │ └── out Err z3bra.org 70 i+ ├── request Err z3bra.org 70 i+ │ ├── err Err z3bra.org 70 i+ │ ├── in Err z3bra.org 70 i+ │ └── out Err z3bra.org 70 i+ ├── state Err z3bra.org 70 i+ │ ├── err Err z3bra.org 70 i+ │ ├── in Err z3bra.org 70 i+ │ └── out Err z3bra.org 70 i+ └── status Err z3bra.org 70 i+ ├── err Err z3bra.org 70 i+ ├── in Err z3bra.org 70 i+ └── out Err z3bra.org 70 i+ Err z3bra.org 70 i+The `id` file contain your tox ID. Send it to your friends so they can add you ! Err z3bra.org 70 i+Then there are 3 other files: Err z3bra.org 70 i+ Err z3bra.org 70 i+* `in` : A FIFO. Use it to set values Err z3bra.org 70 i+* `out` : A Text file, or a directory. Use it to read values Err z3bra.org 70 i+* `err` : A Text file. It will contain the last error generated Err z3bra.org 70 i+ Err z3bra.org 70 i+They are fairly straighforward to use. Here is an example to set your nickname: Err z3bra.org 70 i+ Err z3bra.org 70 i+ $ echo $USER > name/in Err z3bra.org 70 i+ $ cat name/out Err z3bra.org 70 i+ z3bra Err z3bra.org 70 i+ Err z3bra.org 70 i+I bet you already know how to set your status ;) Err z3bra.org 70 i+ Err z3bra.org 70 i+Let's see how to add people to your friend list now ! All the magic happen in Err z3bra.org 70 i+the `request` directory. To send a request, use the in file with your friends Err z3bra.org 70 i+tox ID. On the other hand, friends request will be represented as FIFO in the Err z3bra.org 70 i+`out` directory. To accept them, just write '1' into those files. Err z3bra.org 70 i+ Err z3bra.org 70 i+When you accept or request, or someone accept your, a directory gets created, Err z3bra.org 70 i+named after the tox ID (tox IDs are shortened here to improve readability). Err z3bra.org 70 i+ Err z3bra.org 70 i+ $ echo $TOXID > request/in Err z3bra.org 70 i+ $ echo 1 > request/out/E05A5[...]9F02064 Err z3bra.org 70 i+ Err z3bra.org 70 i+ $ ls Err z3bra.org 70 i+ E05A50[...]CEAA6EB7E Err z3bra.org 70 i+ 6B2197[...]966341980 Err z3bra.org 70 i+ id Err z3bra.org 70 i+ name Err z3bra.org 70 i+ nospam Err z3bra.org 70 i+ request Err z3bra.org 70 i+ state Err z3bra.org 70 i+ status Err z3bra.org 70 i+ Err z3bra.org 70 i+ $ tree $TOXID Err z3bra.org 70 i+ 6B2197[...]966341980 Err z3bra.org 70 i+ ├── call_in Err z3bra.org 70 i+ ├── call_out Err z3bra.org 70 i+ ├── call_state Err z3bra.org 70 i+ ├── file_in Err z3bra.org 70 i+ ├── file_out Err z3bra.org 70 i+ ├── file_pending Err z3bra.org 70 i+ ├── name Err z3bra.org 70 i+ ├── online Err z3bra.org 70 i+ ├── remove Err z3bra.org 70 i+ ├── state Err z3bra.org 70 i+ ├── status Err z3bra.org 70 i+ ├── text_in Err z3bra.org 70 i+ └── text_out Err z3bra.org 70 i+ Err z3bra.org 70 i+The files in there are pretty self-explanatory. Using the `*_in` FIFOs, you can Err z3bra.org 70 i+send data to your friends. The `*_out` files are used to receive data. Err z3bra.org 70 i+ Err z3bra.org 70 i+This simplicity allow many possibilities ! You can write a bot, that would read Err z3bra.org 70 i+`text_out` and reply on `text_in`. You could record your desktopn and stream it to Err z3bra.org 70 i+`file_in`, to share your screen. You could stream music to `call_in`, or maybe Err z3bra.org 70 i+read `text_out`, and have a program like `espeak` read the text on `call_in`. Err z3bra.org 70 i+ Err z3bra.org 70 i+Because of how it is designed, `ratox` is only limited by your imagination... Err z3bra.org 70 i+Check out the [ratox-nuggets](http://git.2f30.org/ratox-nuggets) for a few neat Err z3bra.org 70 i+scripts related to ratox. Err z3bra.org 70 i+ Err z3bra.org 70 i+Oh, and by the way... Here is the mandatory screenshot ;) Err z3bra.org 70 i+ Err z3bra.org 70 i+[![ratox in action](/img/thumb/2014-12-11-ratox.png)](/img/2014-12-11-ratox.png) Err z3bra.org 70 i+ Err z3bra.org 70 i+Ratox in action. A terminal multiplexer is of good help Err z3bra.org 70 i+with it. It is also pretty easy to create an input bar for your `text_in` Err z3bra.org 70 i+file Err z3bra.org 70 i+ Err z3bra.org 70 i+Be creative, and keep tweaking ! Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 1diff --git a/config.mk b/config.mk /scm/monochromatic/file/config.mk.gph z3bra.org 70 it@@ -21,7 +21,8 @@ PAGES = index.html \ Err z3bra.org 70 i 2014/08/im-back-up.html \ Err z3bra.org 70 i 2014/08/shred-configh.html \ Err z3bra.org 70 i 2014/09/backup-someone.html \ Err z3bra.org 70 i- 2014/11/avoid-workspaces.html Err z3bra.org 70 i+ 2014/11/avoid-workspaces.html \ Err z3bra.org 70 i+ 2014/12/so-tox-me-maybe.html Err z3bra.org 70 i Err z3bra.org 70 i FEEDS = rss/feed.xml Err z3bra.org 70 i EXTRA = css img vid errors favicon.ico Err z3bra.org 70 1diff --git a/index.txt b/index.txt /scm/monochromatic/file/index.txt.gph z3bra.org 70 it@@ -1,3 +1,4 @@ Err z3bra.org 70 i+* 0x0012 - [So tox me maybe](/2014/12/so-tox-me-maybe.html) Err z3bra.org 70 i * 0x0011 - [Avoid workspaces](/2014/11/avoid-workspaces.html) Err z3bra.org 70 i * 0x0010 - [Backup, someone ?](/2014/09/backup-someone.html) Err z3bra.org 70 i * 0x000f - [shred config.h](/2014/08/shred-configh.html) Err z3bra.org 70 .