summaryrefslogtreecommitdiffstats
path: root/tbt.1
blob: c39244f5d274216e51503c024208a0145099a2a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
.TH tbt 1 "April 13, 2007" "tbt"

.SH NAME
tbt \- Time Based Text

.SH SYNOPSIS
.B tbt [options] [file]

.SH DESCRIPTION
.B tbt - Time Based Text

To vehicle more human-input information in written text.

Record performance time of written text and vehicle it as additional information: saving and reproducing every single action during the composition of a text let us vehicle emphasis in written communication.

As this simple concept, our implementation is also kept very minimalistic while we welcome programmers to embed it in communication applications, as in emails, blogs, visual poetry, slides and what not.

Beware this software is hacky, u need to love text. A manual page is provided and commandline formulas to be casted in a terminal.

This software is written in thread-safe POSIX C++ and can be ported to most platforms, it provides a real-time recorder for serial timed data, recording 64bit tuples key/msec with low-latency. Included are programs providing a text console interface for the user to experiment with keyboard.

A Web application written in PHP/MySQL and Ajax could be used to publish TBT written into the world wide web.

.SH PROTOCOL

In the .tbt format, text is saved with a timestamp for each letter:
   _________ ___________ 
  |  u-int  |   u-int   |
  |  64bit  |   64bit   |    m-seconds = 1/1000 of a second
   --------- -----------
  |  char   | m-seconds |    char = ASCII or higher bit char code
   --------- -----------
  |    Total: 128bit    |
   ---------------------

However export to different formats is planned including generation of web-ready code in HTML and Javascript, a daemon to provide timed input thru a socket on the network (TCP/IP) and what not.

Input is captured from the console, but can be extended to intercept any application using some h4x0r keylogging technique on different OS.

.SH OPTIONS

.B
.IP "-h"
Display a help text and quit
.B
.IP "-v"
Display version and quit
.B
.IP "-D \fI<number>\fR"
Set verbosity level, the default value is 1
.B
.IP "-c"
Use the S-Lang console interface
.B
.IP "-r"
record tbt - option alias: rectext
.B
.IP "-p"
playback tbt - option alias: playtext
.B
.IP "-m"
mail composer - option alias: recmail
.B
.IP "-s \fI<format_name>\fR"
save format in [ bin | ascii | html ]. Default is bin.

The \fIbin\fR  mode will  store a  binary file you  can play  with the
playtext command.

The \fIhtml\fR  mode will  produce a simple  html page, in  which your
text  will be  played. For  further  information about  the html  mode
please the the README.html file.

The \fIascii\fR mode produces pure  ascii text file, one character per
line, with the information about the key pressed, and the timestamp.

.B
.IP "-t \fI<timing mode>\fR"
method used to calculate time: [ posix | rtc ]. Default is posix.

So far a few methods are implemented, posix should be the most compatible,
rtc works only with Linux kernel and requires suid authority.

.B
.IP "-x \fI<format_name>\fR"
convert a binary .tbt file to another format [ bin | html | ascii] (see -s)


.SH EXAMPLES

.B
.IP "Howto record a tbt in binary format"

$ rectext -s bin mytext.tbt

.B
.IP "Howto play a tbt binary file"

$ playtext mytext.tbt

.B
.IP "Howto record a tbt in ascii mode"

$ rectext -s ascii mytext.txt

.B
.IP "Howto record a tbt in html mode"

$ rectext -s html mytext.html

.SH NOTES
The first integration provided for TBT is with Mutt \fIhttp://www.mutt.org\fR the Mail User Agent popular among text console users.
For further information please read the README.mutt file.

.SH BUGS
Everyone is encouraged to test this software and report bugs!
Send remarks and patches to http://dyne.org/hackers_contact.php or get in touch with coders via irc.freenode.net channel #dyne

.SH AUTHORS
Time Based Text software by Denis Roio - http://jaromil.dyne.org
.br
Concept ideated with the contribution of Jodi - http://www.jodi.org
.br
PHP/Javascript code by Angelo Failla - pallotron freaknet.org
.br
Webdesign by O.K. Parking - http://www.ok-parking.nl
.br
Python-GTK graphical interface by Pablo Martines - caedes sindominio.net
.br
More code and suggestions by Andrea Lo Pumo - alpt freaknet.org
.br
Development supported by Impakt - http://www.impakt.nl
.br
Thanks to: Florian Cramer, Annet Dekker, Paul Hendriks

.SH COPYING

This manual is Copyleft (c) 2007-2008 Denis Rojo <\[email protected]\fR>

Permission is  granted to copy,  distribute and/or modify  this manual
under the terms of the  GNU Free Documentation License, Version 1.1 or
any    later    version     published    by    the    Free    Software
Foundation.  Permission is  granted  to make  and distribute  verbatim
copies of  this manual  page provided the  above copyright  notice and
this permission notice are preserved on all copies.

.SH AVAILABILITY

The most recent version of tbt sourcecode and up to date documentation
is always available for download from \fIhttp://tbt.dyne.org\fR.

.SH SEE ALSO

* README.mutt
* README.html