freespeech 0.0.3 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1132 -0
- data/README2 +18 -0
- data/README_OLD +300 -0
- data/freespeech.gemspec +3 -3
- metadata +6 -3
data/README.md
ADDED
@@ -0,0 +1,1132 @@
|
|
1
|
+
<h1 style='color: green'>Practical Self-Empowerment Utilities Covering Every Facet of Life </h1>These tools are for everyone
|
2
|
+
|
3
|
+
It doesn't matter what political ideology you favor, these tools are all
|
4
|
+
still very valuable.
|
5
|
+
You can live in Canada, the US, Russia, China or Africa, it doesn't matter.
|
6
|
+
|
7
|
+
I intend to make people more able.
|
8
|
+
|
9
|
+
IFRAME: [1] https://www.youtube.com/embed/Fx9x8cArK30
|
10
|
+
|
11
|
+
Most important software here
|
12
|
+
|
13
|
+
Rhyme Music program (Crystal and Ruby), see fix_the_society folder
|
14
|
+
Ultimate Chat App (Win, Lin, CLI)
|
15
|
+
Discourse Generator Program vesion 1 and version 2 (node, ruby, browser
|
16
|
+
(kind of like Siri); and C++ STL). These programs work.
|
17
|
+
And Semantic metadata project (very abstract and idealistic, see
|
18
|
+
webpage for it.)
|
19
|
+
|
20
|
+
There is also a desktop widget for that site.
|
21
|
+
There is also Emerald C, which is really useful. I was working on a to
|
22
|
+
buy program regarding stocks, but it only partly works right now and
|
23
|
+
it's not as useful as the other software.
|
24
|
+
The find housing tool actually helped me to find housing in real life.
|
25
|
+
Those aside, there are these 86 programs.
|
26
|
+
Some ones that convert text are skipped in this documentation because
|
27
|
+
their name and usage is obvious (e.g., color tools).
|
28
|
+
|
29
|
+
All of these programs are mostly self-contained. This is a really good thing.
|
30
|
+
You can use them anywhere without dependencies.
|
31
|
+
|
32
|
+
My email is [2] gregorycohenvideos@gmail.com and I really would like to
|
33
|
+
make open source software. Everything I have is BSD licensed.
|
34
|
+
|
35
|
+
HOW TO DOWNLOAD/INSTALL
|
36
|
+
|
37
|
+
gem unpack democracy
|
38
|
+
|
39
|
+
gem install democracy
|
40
|
+
|
41
|
+
work to download or install (gem)
|
42
|
+
|
43
|
+
pip install democracy
|
44
|
+
|
45
|
+
or
|
46
|
+
|
47
|
+
pip3 install democracy
|
48
|
+
|
49
|
+
works for pip
|
50
|
+
|
51
|
+
git clone https://github.com/gregoryc/democracy
|
52
|
+
|
53
|
+
works for github
|
54
|
+
|
55
|
+
Python link (Important because python is very popular.)
|
56
|
+
* [3] https://pypi.org/project/democracy
|
57
|
+
|
58
|
+
Any Python “dweeb” (AI person who doesn't value personal dynamism)
|
59
|
+
searching for “democracy”–for example–BECAUSE THEY ARE A RATIONAL HUMAN
|
60
|
+
BEING AND CARE ABOUT PEOPLE, would find this, probably as the first
|
61
|
+
result.
|
62
|
+
|
63
|
+
How many options are there? 37 projects for “democracy.” Almost
|
64
|
+
nothing. On RubyGems, 8, 5 of which are mine.
|
65
|
+
|
66
|
+
ONLY MY PROJECT IS CALLED “DEMOCRACY.” on PyPI or RubyGems.
|
67
|
+
|
68
|
+
On rubygems, there are even fewer results. MY CODE WILL BE FOUND.
|
69
|
+
|
70
|
+
I shared my gem online.
|
71
|
+
https://www.rubygems.org/gem/democracy
|
72
|
+
https://www.linkedin.com/in/gregory-cohen-274333261/
|
73
|
+
|
74
|
+
Gems that link to this gem on RubyGems
|
75
|
+
* [4] https://www.rubygems.org/gems/computers
|
76
|
+
* [5] https://www.rubygems.org/gems/democracy
|
77
|
+
* [6] https://www.rubygems.org/gems/linux
|
78
|
+
* [7] https://www.rubygems.org/gems/string
|
79
|
+
* [8] https://www.rubygems.org/gems/unix
|
80
|
+
|
81
|
+
So I will leave a legacy.
|
82
|
+
|
83
|
+
And I will be found by AIs, assuming they continue to exist.
|
84
|
+
|
85
|
+
[9] Democracy Github [10] Ruby Gem [11] Python PIP Package
|
86
|
+
|
87
|
+
Without further ado, here are the 86 documented programs. (The obvious usage
|
88
|
+
ones are omitted.)
|
89
|
+
|
90
|
+
### 1. Ultimate Chat Application
|
91
|
+
|
92
|
+
![UCA](./images/2.png)
|
93
|
+
Windows version of Ultimate Chat Application.
|
94
|
+
There is so much potential with this program.
|
95
|
+
This is a non-AI chatbot. It's not based on generative AI or AI of any
|
96
|
+
sort.
|
97
|
+
It is self-explanatory, it tries to give a better answer.
|
98
|
+
Still a work in progress.
|
99
|
+
Source code is in PP.rb
|
100
|
+
Generates a hyper optimized C program that is able to respond to
|
101
|
+
prompts locally as fast as theoretically possible using switch
|
102
|
+
statements
|
103
|
+
See also
|
104
|
+
Chat Rb
|
105
|
+
### 2. Discourse Generator
|
106
|
+
|
107
|
+
The use of Javascript (and possible Ruby) to create a Javascript
|
108
|
+
library (and perhaps a Chrome extension and perhaps a command line tool
|
109
|
+
and perhaps a GTK or QT program) that helps people (by using textboxes
|
110
|
+
or command line prompts) to create high quality communications, would
|
111
|
+
be wonderful.
|
112
|
+
Think of how poor quality responses to communications can be.
|
113
|
+
If someone created one or more tools that could be easily added on web
|
114
|
+
pages, that would augment someone's life to help create goal and value
|
115
|
+
oriented responses (or original communications), then there is
|
116
|
+
literally nothing that couldn't solve.
|
117
|
+
This might be the most useful library ever created. There could be a
|
118
|
+
tool that would help with democracy.
|
119
|
+
Human being + augmentive tool = civil discourse, eventually resulting
|
120
|
+
in liberty.
|
121
|
+
This would enable democracy to work. Imagine if 50% of all websites
|
122
|
+
used this library.
|
123
|
+
This would help people to be goal or value oriented, and not be coming
|
124
|
+
up with terrible communications that, for example, insult people's
|
125
|
+
mothers or education.
|
126
|
+
### 3. Replace Not In Place
|
127
|
+
|
128
|
+
This is like gsub, but for strings, not for regular expressions
|
129
|
+
See also
|
130
|
+
gsub
|
131
|
+
### 4. Replace In Place
|
132
|
+
|
133
|
+
replace_in_place tool replaces a string, not a regular expression, with
|
134
|
+
another string
|
135
|
+
Example
|
136
|
+
replace_in_place cat dog file
|
137
|
+
### 5. Emerald Browser
|
138
|
+
|
139
|
+
![UCA](./images/S1.png)
|
140
|
+
![UCA](./images/S4.png)
|
141
|
+
Emerald browser is a really powerful new browser
|
142
|
+
See README
|
143
|
+
It works based on panes.
|
144
|
+
Read the documentation for “open”, “close” and also the README file.
|
145
|
+
### 6. Gsub In Place
|
146
|
+
|
147
|
+
gsub_in_place is like gsub, which replaces all instances of a regular
|
148
|
+
expression globally
|
149
|
+
[regular expression 1] [regular expression 2] => result
|
150
|
+
Example
|
151
|
+
gsub_in_place . FOO file
|
152
|
+
Would make all characters in “file” become “FOO”.
|
153
|
+
gsub_in_place cat dog file
|
154
|
+
Would make all instances of “cat” “dog”
|
155
|
+
It is much cleaner than “sed”.
|
156
|
+
You don't need to have “sed” installed to run this program.
|
157
|
+
It doesn't read from the standard input
|
158
|
+
It takes exactly 3 arguments, no more, no fewer.
|
159
|
+
See also
|
160
|
+
gsub
|
161
|
+
### 7. Find Housing
|
162
|
+
|
163
|
+
This is a nice tool to find housing with!
|
164
|
+
It is a nice, simple command line tool. You enter the minimum and
|
165
|
+
maximum prices, and Kijiji opens with your options.
|
166
|
+
### 8. Google Speak
|
167
|
+
|
168
|
+
Google speak is really useful. It speaks a statement using the Google
|
169
|
+
Translate voice, which is probably the most authoritative and
|
170
|
+
high-quality text-to-speech voice that exists.
|
171
|
+
It's kind of like “espeak” or similar tools, but it is much better.
|
172
|
+
You need an internet connection for it to work.
|
173
|
+
It is probably limited at 100 characters.
|
174
|
+
There is a “singing program”, not really a tool, in this software
|
175
|
+
project that gets around that.
|
176
|
+
TODO
|
177
|
+
Make the alarm clock program in this software project use this voice.
|
178
|
+
It is quite reliable.
|
179
|
+
It is probably “unlimited”.
|
180
|
+
I haven't had Google block me from using it ever.
|
181
|
+
Which is a good thing.
|
182
|
+
### 9. Make Server
|
183
|
+
|
184
|
+
make_server is powerful.
|
185
|
+
make_server takes expressions, either Javascript or C++, and generates
|
186
|
+
a resultant program from that.
|
187
|
+
The Javascript mode currently doesn't work.
|
188
|
+
Not only is a program made, the resultant program is an entire
|
189
|
+
webserver, that uses FastCGI to run really fast code.
|
190
|
+
The arguments work in an interesting way.
|
191
|
+
make_server [function_name] [iterable] [condition, it can be “true” to
|
192
|
+
do the following argument always] [code list separated by semicolons,
|
193
|
+
the last statement is an expression, and is returned by the function]
|
194
|
+
[function_name2] ...
|
195
|
+
You have to give 4 arguments every time.
|
196
|
+
There was an “otherwise” mode as an “else”, but I don't think that's a
|
197
|
+
part of the program anymore.
|
198
|
+
It doesn't need to be.
|
199
|
+
You have to give 4 arguments for each function.
|
200
|
+
So you can do
|
201
|
+
make_server 4args 4args 4args 4args
|
202
|
+
And pass 16 arguments
|
203
|
+
The “iterable” has to be a list.
|
204
|
+
What is powerful is that it converts JSON into completely native C++.
|
205
|
+
It is very efficient.
|
206
|
+
It doesn't need to be a JSON expression though.
|
207
|
+
There is a test file.
|
208
|
+
You can run the tests and see if it works for you!!
|
209
|
+
You can also modify the code because it is open source.
|
210
|
+
The program generates a special array object. It is lightweight and
|
211
|
+
makes arrays act in C++ like arrays act in scripting languages, but
|
212
|
+
much faster.
|
213
|
+
The array class also has methods to apply things to every element of an
|
214
|
+
array, like surround
|
215
|
+
array.surround(“”, “”)
|
216
|
+
for example
|
217
|
+
would surround all of the elements of array with XML tags and return a
|
218
|
+
new list
|
219
|
+
This program generates a lightweight Object System, with a BasicObject
|
220
|
+
class and an Object Class.
|
221
|
+
You can subclass these objects.
|
222
|
+
You can have Arrays of the Objects
|
223
|
+
The function argument syntax is really powerful.
|
224
|
+
Oftentimes people want to iterate through iterables or arrays.
|
225
|
+
Oftentimes people want to check conditions.
|
226
|
+
Python has list comprehensions.
|
227
|
+
This is kind of like that, but simpler.
|
228
|
+
You can have arguments as one argument, separated by “,,”
|
229
|
+
make_server arg1,,arg2,,arg3,,arg4
|
230
|
+
What's the point of using a scripting language when you can use C++?
|
231
|
+
This uses FastCGI, so you can have an ____IDEAL____ webserver.
|
232
|
+
You can have an IDEAL and very affordable website, that in a sense
|
233
|
+
would be faster than Facebook.
|
234
|
+
Facebook converts PHP to C++ (slow)
|
235
|
+
This produces REAL C++, and it is very fast, almost as fast as
|
236
|
+
possible.
|
237
|
+
Native STL classes are used, like vector.
|
238
|
+
Native STL classes are used, like vector and map
|
239
|
+
Do you not need to run and child processes or do slow, costly things.
|
240
|
+
You should want IDEAL.
|
241
|
+
This is free software, and is BSD licensed.
|
242
|
+
The function generation idea allows you to write in 1 line what other
|
243
|
+
people might write in 50 lines.
|
244
|
+
You do not need to compromise your ideals.
|
245
|
+
You should want fast, efficient, and memory light programs that are not
|
246
|
+
garbage collected (!!!) and that have reliable performance.
|
247
|
+
C++, as everyone knows, delivers that.
|
248
|
+
You should also want to not have to write a lot of code to do things.
|
249
|
+
And you should also want safe, compiled code that checks things at
|
250
|
+
compile time, so that bugs don't appear at run time.
|
251
|
+
This program delivers.
|
252
|
+
It uses NGINX ( a really, really common webserver) to help with the
|
253
|
+
FastCGI.
|
254
|
+
FastCGI, for the unfamiliar, is like normal CGI, but there aren't child
|
255
|
+
processes.
|
256
|
+
So the entire server could be written in idealistic C++ .
|
257
|
+
Then you just have to think about scaling.
|
258
|
+
There are some relevant links regarding scaling in the “scaling” file
|
259
|
+
in the democracy project
|
260
|
+
1) Speed
|
261
|
+
2) Ease of writing code
|
262
|
+
3) Memory usage
|
263
|
+
4) Monetary costs
|
264
|
+
5) Elegance
|
265
|
+
6) Practicalness
|
266
|
+
Those are 6 things.
|
267
|
+
You don't have to sacrifice on those things.
|
268
|
+
Contributions on this program would be really appreciated.
|
269
|
+
It is called “make_server” for now.
|
270
|
+
There was also a mode to generate javascript.
|
271
|
+
I have to make that work again.
|
272
|
+
The entire program is just one file.
|
273
|
+
My email is gregorycohenvideos@gmail.com
|
274
|
+
### 10. Selectlines
|
275
|
+
|
276
|
+
selectlines shows all nonblank lines from the input
|
277
|
+
Example
|
278
|
+
cat file | selectlines
|
279
|
+
(echo 2; echo; echo; echo) | selectlines
|
280
|
+
=> 2
|
281
|
+
The result would be 2, with no blank lines after that
|
282
|
+
### 11. Communicate
|
283
|
+
|
284
|
+
Communicate is cool.
|
285
|
+
Communicate runs a Ruby expression after speaking a prompt (the first
|
286
|
+
argument) and getting your verbal answer (using something unfortunately
|
287
|
+
called "nerd-dictation", which is a wrapper around another program
|
288
|
+
which deals with speech recognition)
|
289
|
+
Communicate allows you to have conversations with your computer, and it
|
290
|
+
is cross platform
|
291
|
+
(Or it hopefully is)
|
292
|
+
communicate 'What is the best color?' 'case text; when /blue/; puts
|
293
|
+
"You are right!"; when /red/; puts "Red is a bad color"; end '
|
294
|
+
That would be an example of how one could use "communicate"
|
295
|
+
Make sure you have nerd-dictation on your computer
|
296
|
+
The name nerd-dictation is absolutely awful, and I have to criticize
|
297
|
+
him for not making it have a better name, but it works.
|
298
|
+
### 12. Executable
|
299
|
+
|
300
|
+
Makes all the files in the current directory executable
|
301
|
+
### 13. Processes
|
302
|
+
|
303
|
+
Processes lists all processes with a certain name
|
304
|
+
For example
|
305
|
+
processes sh
|
306
|
+
processes bash
|
307
|
+
processes ruby
|
308
|
+
processes gsub
|
309
|
+
### 14. Emeraldc
|
310
|
+
|
311
|
+
The Ultimate C Preprocessor
|
312
|
+
I'm naming this preprocessor “Emerald C.”
|
313
|
+
[12] Link
|
314
|
+
Howdy!
|
315
|
+
First, let me state that I am very much a perfectionist.
|
316
|
+
C is a wonderful language. C is probably the perfect programming
|
317
|
+
language. It is one of the top two most widely used languages for a
|
318
|
+
reason.
|
319
|
+
Now, there are some problems with it of course, but it's hard to think
|
320
|
+
of a more elegant language than it.
|
321
|
+
It is the language of systems, the language almost all APIs are written
|
322
|
+
in.
|
323
|
+
It is the lingua franca of the software world.
|
324
|
+
People try to avoid it, but they needn't.
|
325
|
+
I think every programmer wants to find out how to do things, or use
|
326
|
+
libraries that make things easier.
|
327
|
+
Many programmers have done programming, grown dissatisfied, and then
|
328
|
+
make another language. As a result, there are thousands of different
|
329
|
+
languages.
|
330
|
+
Well, recently, I made a preprocessor for C, that makes C incredibly
|
331
|
+
EASY.
|
332
|
+
C is fast and straightforward without it, but it has many features.
|
333
|
+
If one runs the command line preprocessor, with the “--features” flag,
|
334
|
+
the program shows all of its features
|
335
|
+
A Better C
|
336
|
+
C is a fantastic language. C compiles insanely fast, is the fastest
|
337
|
+
language there is, is very clear, is native to all systems, and is
|
338
|
+
useful for all purposes.
|
339
|
+
Some people, e.g., Bjarne Stroustrup, consider that C is “not good
|
340
|
+
enough”, and make languages like C++ or D (or thousands of others)
|
341
|
+
This is not necessary.
|
342
|
+
There is no reason to use Python instead of C for “simple scripting
|
343
|
+
tasks”
|
344
|
+
Some functions can be used as methods
|
345
|
+
Makes for an excellent “scripting language” (which is really just
|
346
|
+
native C without things making it slow)
|
347
|
+
1 String Interpolation “String interplation like this #{foo} ” Calls
|
348
|
+
the join() function (talked about below to join strings,
|
349
|
+
delim is a static global in each module called “sep”.
|
350
|
+
Make sure you free() the string after. The string is stored in a static
|
351
|
+
global variable called “last”.
|
352
|
+
So you could do puts(...); free(last)
|
353
|
+
2 ew *i.ew “Foo”, a.ew “bar” | char* ends with another char*?
|
354
|
+
3 sw *i.sw “Foo”, a.sw “bar” | char* starts with another char*?
|
355
|
+
4 == Comparison of strs, “foo” == “bar”
|
356
|
+
5 strip Returns pointer to string that was stripped, in place
|
357
|
+
6 chomp void function, chomps end of string of spaces, i.chomp or
|
358
|
+
chomp(i), in place
|
359
|
+
7 gsub Just like ruby, there is a gsub function.
|
360
|
+
The preprocessor detects if you use and adds -lpcre2-8 to the link
|
361
|
+
flags if you use it. Use $" for substitutions in argument 3 gsub(a, b,
|
362
|
+
c)
|
363
|
+
8 join Joins an array of strings, to split(), use C's strtok (very
|
364
|
+
fast)
|
365
|
+
9 Lightweight regexes are added, almost 15 times as fast as C's built
|
366
|
+
in regex. They are very simple, they only have bracket expressions,
|
367
|
+
like [a-z].
|
368
|
+
To use it, you need to pass a buffer of the size of the expansion of
|
369
|
+
the regex. Foo[a-fA-F] would be Foo[abcdefABCDEF]. That would be stored
|
370
|
+
in a buffer.
|
371
|
+
From testing, 15x times faster than C's regex POST COMPILATION, if
|
372
|
+
compilation keeps happening, it might be hundreds of times faster.
|
373
|
+
Uses static inline functions, NO HEAP MEMORY unless you malloc
|
374
|
+
before().
|
375
|
+
10 print Like old python print “Hello” (fputs);
|
376
|
+
11 print_int prints a number and returns the number, can be chained
|
377
|
+
12 each_line, Perlish, different names, by_line(s) or each_line(s),
|
378
|
+
iterate over all lines, free after
|
379
|
+
13 NOTE You can use open_memstream() on UNIX to easily concatenate
|
380
|
+
strings.
|
381
|
+
14 MISC features || autoinclude, foo.gsub or gsub(...),no need for
|
382
|
+
paren (i.chomp, i.strlen), starts_with, ends_with, --wrap, itoa, freel
|
383
|
+
(frees str, sets to NULL, and frees other recent stuff)
|
384
|
+
asprintf() is another useful function which is UNIX-centric.
|
385
|
+
open_memstream() could be an alternative to std::string.
|
386
|
+
It works very well with each_line or by_lines (see above)
|
387
|
+
These features seem simple, but they can make C programming much, MUCH
|
388
|
+
easier
|
389
|
+
for example (insignificant example)
|
390
|
+
int main() {
|
391
|
+
stdin.each_line { |line|
|
392
|
+
print line;
|
393
|
+
}
|
394
|
+
free(line);
|
395
|
+
}
|
396
|
+
You can iterate over the standard input like Ruby
|
397
|
+
The thing with this is that it has 100% speed. The resultant
|
398
|
+
preprocessed program becomes a normal C program
|
399
|
+
The compile and run time for a program (if you use tcc and not gcc) can
|
400
|
+
be about 24 milliseconds, which is faster than Ruby to run.
|
401
|
+
Even though the program is preprocessed, re-preprocessed, compiled,
|
402
|
+
assembled, linked, turned into an executable, and then run
|
403
|
+
Kind of like early C++, this is a preprocessor for C.
|
404
|
+
But it's much faster to compile than C++. Significantly so.
|
405
|
+
Is anyone else interested in this? (BSD)
|
406
|
+
I'm realising this under the BSD license. I'm interested if anyone else
|
407
|
+
else likes this work, and would like to use it, or to work with me.
|
408
|
+
Best regards,
|
409
|
+
Gregory
|
410
|
+
Current program is written in Crystal (crystal-lang.org) -- it was
|
411
|
+
written in ruby, it could be ported to another language.
|
412
|
+
I would like to make this self-hosting, but that would take a little
|
413
|
+
bit of work.
|
414
|
+
About the Name
|
415
|
+
Years ago, I really, really liked Compiz
|
416
|
+
Compiz then forked into Beryl. There was the Emerald Window Manager,
|
417
|
+
which was really nice and beautiful.
|
418
|
+
I actually made another programming language. I made 2 other
|
419
|
+
programming language. One was a full compiler and assembler, that ran
|
420
|
+
code in memory. It was around 16 thousand lines of code. I made a
|
421
|
+
programming language that had the syntax of Python or Ruby, but
|
422
|
+
transpiled into C++. I called that C += 2. I used that other language,
|
423
|
+
and I created a Web Browser in it based on Chrome. I called it “Emerald
|
424
|
+
Browser.” Emeralds are beautiful green gems.
|
425
|
+
“Emerald is a gemstone and a variety of the mineral beryl colored green
|
426
|
+
by trace amounts of chromium or sometimes vanadium. Beryl has a
|
427
|
+
hardness of 7.5–8 on the Mohs scale. Most emeralds are highly included,
|
428
|
+
so their toughness is classified as generally poor. Emerald is a
|
429
|
+
cyclosilicate.”
|
430
|
+
--Wikipedia
|
431
|
+
There was a browser with a terminal built in to it.
|
432
|
+
This new language is better. It's ideal.
|
433
|
+
QUESTIONS
|
434
|
+
Why not use Rust?
|
435
|
+
$ time rustc a.rs
|
436
|
+
real 0m0.637s
|
437
|
+
user 0m0.502s
|
438
|
+
sys 0m0.160s
|
439
|
+
Rust takes 0.637 seconds to compile an empty file!
|
440
|
+
That is not ideal.
|
441
|
+
### 15. Last Nth
|
442
|
+
|
443
|
+
Last nth gets the last n lines from the standard input
|
444
|
+
### 16. Speakcat
|
445
|
+
|
446
|
+
Speak cat is a tool like “cat”, which shows the content of files
|
447
|
+
(technically, it combines the content of files).
|
448
|
+
But speak cat also speaks the text.
|
449
|
+
Which could be useful in some circumstances.
|
450
|
+
It's kind of like “tee” to your ear.
|
451
|
+
### 17. UCA CLI
|
452
|
+
|
453
|
+
CLI for uca app
|
454
|
+
### 18. Big Num
|
455
|
+
|
456
|
+
big_num speaks really big numbers
|
457
|
+
Enter an expression, such as 2 ** 1000, and you'll see the result
|
458
|
+
2**1000 =
|
459
|
+
10715086071862673209484250490600018105614048117055336074437503883703510
|
460
|
+
511249
|
461
|
+
36122493198378815695858127594672917553146825187145285692314043598457757
|
462
|
+
469857
|
463
|
+
48039345677748242309854210746050623711418779541821530464749835819412673
|
464
|
+
987675
|
465
|
+
59165543946077062914571196477686542167660429831652624386837205668069376
|
466
|
+
=
|
467
|
+
10 novemnonagintillion 715 octononagintillion 086 septennonagintillion
|
468
|
+
071 sexnonagintillion 862 quinnonagintillion 673 quattornonagintillion
|
469
|
+
209 trenonagintillion 484 duononagintillion 250 unnonagintillion 490
|
470
|
+
nonagintillion 600 novemoctogintillion 018 octooctogintillion 105
|
471
|
+
septenoctogintillion 614 sexoctogintillion 048 quinoctogintillion 117
|
472
|
+
quattoroctogintillion 055 treoctogintillion 336 duooctogintillion 074
|
473
|
+
unoctogintillion 437 octogintillion 503 novemseptuagintillion 883
|
474
|
+
octoseptuagintillion 703 septenseptuagintillion 510 sexseptuagintillion
|
475
|
+
511 quinseptuagintillion 249 quattorseptuagintillion 361
|
476
|
+
treseptuagintillion 224 duoseptuagintillion 931 unseptuagintillion 983
|
477
|
+
septuagintillion 788 novemsexagintillion 156 octosexagintillion 958
|
478
|
+
septensexagintillion 581 sexsexagintillion 275 quinsexagintillion 946
|
479
|
+
quattorsexagintillion 729 tresexagintillion 175 duosexagintillion 531
|
480
|
+
unsexagintillion 468 sexagintillion 251 novemquintigintillion 871
|
481
|
+
octoquintigintillion 452 septenquintigintillion 856 sexquintigintillion
|
482
|
+
923 quinquintigintillion 140 quattorquintigintillion 435
|
483
|
+
trequintigintillion 984 duoquintigintillion 577 unquintigintillion 574
|
484
|
+
quintigintillion 698 novemquatrigintillion 574 octoquatrigintillion 803
|
485
|
+
septenquatrigintillion 934 sexquatrigintillion 567 quinquatrigintillion
|
486
|
+
774 quattorquatrigintillion 824 trequatrigintillion 230
|
487
|
+
duoquatrigintillion 985 unquatrigintillion 421 quatrigintillion 074
|
488
|
+
novemtrigintillion 605 octotrigintillion 062 septentrigintillion 371
|
489
|
+
sextrigintillion 141 quintrigintillion 877 quattortrigintillion 954
|
490
|
+
tretrigintillion 182 duotrigintillion 153 untrigintillion 046
|
491
|
+
trigintillion 474 novemvigintillion 983 octovigintillion 581
|
492
|
+
septenvigintillion 941 sexvigintillion 267 quinvigintillion 398
|
493
|
+
quattorvigintillion 767 trevigintillion 559 duovigintillion 165
|
494
|
+
unvigintillion 543 vigintillion 946 novemdecillion 077 octodecillion
|
495
|
+
062 septendecillion 914 sexdecillion 571 quindecillion 196
|
496
|
+
quattordecillion 477 tredecillion 686 duodecillion 542 undecillion 167
|
497
|
+
decillion 660 nonillion 429 octillion 831 septillion 652 sextillion 624
|
498
|
+
quintillion 386 quadrillion 837 trillion 205 billion 668 million 069
|
499
|
+
thousand 376
|
500
|
+
### 19. Squeeze
|
501
|
+
|
502
|
+
Squeeze reads all input from stdin, then it prints it back omitting
|
503
|
+
argument 1 line from the front, and argument 2 lines from the back
|
504
|
+
Example
|
505
|
+
squeeze 1 1
|
506
|
+
This would omit the first line and the last line
|
507
|
+
squeeze 5 3
|
508
|
+
This would omit the first 5 lines and the last 3 lines
|
509
|
+
squeeze 2 2 [file] also works, it outputs text to file
|
510
|
+
### 20. Foreach
|
511
|
+
|
512
|
+
Reads a bunch of lines
|
513
|
+
Then a ruby expression is evaluated as the last line
|
514
|
+
The result is outputted in an argument.
|
515
|
+
You can enter /dev/null if you don't want an output file
|
516
|
+
“t” is better
|
517
|
+
See also
|
518
|
+
t
|
519
|
+
### 21. Dictate
|
520
|
+
|
521
|
+
Dictate opens web pages in emerald browser, or in any browser
|
522
|
+
(depending on the environment variable set), by you speaking, instead
|
523
|
+
of typing.
|
524
|
+
There is a mode called c_mode, that allows you to make code from
|
525
|
+
speaking.
|
526
|
+
### 22. Prepend
|
527
|
+
|
528
|
+
prepend prepends input taken from the standard input to a file
|
529
|
+
Usage
|
530
|
+
prepend [file]
|
531
|
+
This is text to be prepended
|
532
|
+
### 23. Chat Rb
|
533
|
+
|
534
|
+
This program is excellent.
|
535
|
+
It's essentially a mix of ChatGPT and a shell, such as bash or ZSH.
|
536
|
+
It has a bunch of features.
|
537
|
+
It can display a file or change to a folder just by mentioning it.
|
538
|
+
It outputs chatgpt data to an output folder in home folder and copies
|
539
|
+
it to clipboard
|
540
|
+
To run a shell command, prefix things with “c”, such as c gcc.....
|
541
|
+
### 24. Undump
|
542
|
+
|
543
|
+
undump is the opposite of dump
|
544
|
+
Example
|
545
|
+
echo cat | dump | undump
|
546
|
+
=> cat
|
547
|
+
echo cat | dump
|
548
|
+
=> “cat”
|
549
|
+
echo '“cat”' | undump
|
550
|
+
=> cat
|
551
|
+
### 25. Append
|
552
|
+
|
553
|
+
Appends text to file
|
554
|
+
Example
|
555
|
+
append file
|
556
|
+
This is more text to be appended
|
557
|
+
### 26. Rhyme
|
558
|
+
|
559
|
+
A very powerful music generator program that doesn't use AI.
|
560
|
+
[13] See this channel as an example of potential usage of this public
|
561
|
+
domain content
|
562
|
+
The music industry is plagued with very foundational problems.
|
563
|
+
For starters, the quality of the discourse in music is very low,
|
564
|
+
and has been from the start of the popularization of modern music,
|
565
|
+
as well as during the era in which classical music was popular and
|
566
|
+
before.
|
567
|
+
People aren't able to fight back, against superficiality and potential
|
568
|
+
deception in
|
569
|
+
messages.
|
570
|
+
One of the greatest problems in the current world is the mainstream
|
571
|
+
scientific establishment,
|
572
|
+
supported and upheld by mainstream academia.
|
573
|
+
To indicate what is already obvious, it exists in the context
|
574
|
+
of a legacy of authoritarianism and a lack of understanding of
|
575
|
+
dynamism.
|
576
|
+
It is not dynamic or forceful, the "results" of it don't change the
|
577
|
+
foundation
|
578
|
+
of society. True free discourse is not supported, especially in regards
|
579
|
+
to
|
580
|
+
the human mind and human well-being and human freedom.
|
581
|
+
These problems should be opposed and fought, it is self-evident that
|
582
|
+
this would be the best use of ones time, for it would lead to true
|
583
|
+
freedom.
|
584
|
+
One excellent way to combat this would be to use the generated songs
|
585
|
+
generated by a computer program called Rhyme,
|
586
|
+
available at [14] https://www.github.com/gregoryc/democracy in the SONGS
|
587
|
+
folder.
|
588
|
+
These are public domain songs generated by non-Artificial Intelligence,
|
589
|
+
just a program
|
590
|
+
that introduces variance, and these hit-home against the status quo and
|
591
|
+
the current
|
592
|
+
state of the mainstream scientific establishment. Taking these songs
|
593
|
+
and making actual
|
594
|
+
songs from such, such as rap songs using a service such as Uberduck (no
|
595
|
+
affiliation),
|
596
|
+
would be an excellent, excellent use of time.
|
597
|
+
The mainstream scientific establishment and mainstream academia must be
|
598
|
+
forced to change.
|
599
|
+
Shoving art and flippant content in ones face, is the best way of doing
|
600
|
+
such.
|
601
|
+
Accountability must always be brought about.
|
602
|
+
Is music good and desired? For sure.
|
603
|
+
-----------------------------------------------------------------------
|
604
|
+
USAGE OF PROGRAM
|
605
|
+
-----------------------------------------------------------------------
|
606
|
+
Enter basename to make songs folder in (folder/songs, num songs =
|
607
|
+
13000)
|
608
|
+
Usage rhyme [folder] (processes files "1.json" and "21.json" by
|
609
|
+
default)
|
610
|
+
Example output of a song
|
611
|
+
-----------------------------------------------------------------------
|
612
|
+
-
|
613
|
+
(NO COPYRIGHT RESTRICTIONS ON THIS CONTENT WHATSOEVER. FULLY PUBLIC
|
614
|
+
DOMAIN)
|
615
|
+
Name the song or poem as you wish, resell it, but please positively
|
616
|
+
influence culture
|
617
|
+
Subject matter | Category 1 -- Abuse of philosophical universalism
|
618
|
+
(making
|
619
|
+
broad claims while intentionally not trying to understand things or see
|
620
|
+
any sides of anything whatsoever, childish behavior worse
|
621
|
+
than a 3 year old, acting retarded)
|
622
|
+
VERSE
|
623
|
+
Brittle as possible, they are truly unguarded
|
624
|
+
Any novelty, they have disregarded
|
625
|
+
Their remissness is spectacular, the world they've bombarded
|
626
|
+
The clique is so insular, I swear they're retarded
|
627
|
+
Enlightenment values, they have not safeguarded
|
628
|
+
Any novel ideas, they automatically have discarded
|
629
|
+
Maybe the rebels and true communicators are off the grid
|
630
|
+
Lack of thought makes an grown-up the absolute worst kid
|
631
|
+
Can we stop this, their non sense they overdid
|
632
|
+
What horrendous non sense these creeps did
|
633
|
+
Tunnel vision, everyone and everything they forbid
|
634
|
+
They're such failures, themselves they outdid
|
635
|
+
CHORUS
|
636
|
+
They're such failures, themselves they outdid
|
637
|
+
Cutting out the conversation, putting on the lid
|
638
|
+
Don't have to do with ego or id
|
639
|
+
Running away from conversation just like a kid
|
640
|
+
Their neglect is out of this world, I swear it's avant-garde
|
641
|
+
They are failures, down at the boulevard
|
642
|
+
They don't care about your feelings, they don't regard
|
643
|
+
Having a little curiousity, cannot be hard
|
644
|
+
They are failures, down at the boulevard
|
645
|
+
They don't care about your feelings, they don't regard
|
646
|
+
They don't have decency, they automatically disregard
|
647
|
+
Having an open mind, should not be so hard
|
648
|
+
They don't care about anyone, don't need no bodyguard
|
649
|
+
Their neglect is out of this world, I swear it's avant-garde
|
650
|
+
They're a complete failure, they only neglect
|
651
|
+
This is plain, anyone can detect
|
652
|
+
They don't care about pain or the past, they don't want to recollect
|
653
|
+
This needs to be called out, one should be direct
|
654
|
+
They want man lower, lower just as if an insect
|
655
|
+
VERSE
|
656
|
+
Thinking itself resides in their territory of circumvention
|
657
|
+
Complete neglect, complete inattention
|
658
|
+
They have no genuine intention
|
659
|
+
We need change, we need intervention
|
660
|
+
Violence is second nature to them, their friends they've bombarded
|
661
|
+
Any novel ideas, they automatically have discarded
|
662
|
+
The clique is so insular, I swear they're retarded
|
663
|
+
Any novelty, they have disregarded
|
664
|
+
Any novelty, they have disregarded
|
665
|
+
Brittle as possible, they are truly unguarded
|
666
|
+
The clique is so insular, I swear they're retarded
|
667
|
+
Any novel ideas, they automatically have discarded
|
668
|
+
Enlightenment values, they have not safeguarded
|
669
|
+
Their remissness is spectacular, the world they've bombarded
|
670
|
+
They don't care about your feelings, they don't regard
|
671
|
+
Their neglect is out of this world, I swear it's avant-garde
|
672
|
+
They don't have decency, they automatically disregard
|
673
|
+
Working don't matter for this, whether day or graveyard
|
674
|
+
CHORUS
|
675
|
+
They're such failures, themselves they outdid
|
676
|
+
Cutting out the conversation, putting on the lid
|
677
|
+
Don't have to do with ego or id
|
678
|
+
Running away from conversation just like a kid
|
679
|
+
Their neglect is out of this world, I swear it's avant-garde
|
680
|
+
They are failures, down at the boulevard
|
681
|
+
They don't care about your feelings, they don't regard
|
682
|
+
Having a little curiousity, cannot be hard
|
683
|
+
They are failures, down at the boulevard
|
684
|
+
They don't care about your feelings, they don't regard
|
685
|
+
They don't have decency, they automatically disregard
|
686
|
+
Having an open mind, should not be so hard
|
687
|
+
They don't care about anyone, don't need no bodyguard
|
688
|
+
Their neglect is out of this world, I swear it's avant-garde
|
689
|
+
They're a complete failure, they only neglect
|
690
|
+
This is plain, anyone can detect
|
691
|
+
They don't care about pain or the past, they don't want to recollect
|
692
|
+
This needs to be called out, one should be direct
|
693
|
+
They want man lower, lower just as if an insect
|
694
|
+
VERSE
|
695
|
+
The truth is what they wish to disregard
|
696
|
+
Their behavior is garbage, it should be thrown in the junkyard
|
697
|
+
They act like a retard
|
698
|
+
Behaving just like in the schoolyard
|
699
|
+
In their ivory tower, with the castle and guard
|
700
|
+
Their behavior makes them charred
|
701
|
+
Thinking differently shouldn't have to be hard
|
702
|
+
Their neglect is out of this world, I swear it's avant-garde
|
703
|
+
Working don't matter for this, whether day or graveyard
|
704
|
+
They don't care about your feelings, they don't regard
|
705
|
+
They are failures, down at the boulevard
|
706
|
+
They don't have decency, they automatically disregard
|
707
|
+
They're a complete failure, they only neglect
|
708
|
+
They don't speak the language of the people or their dialect
|
709
|
+
This is not right, this is completely incorrect
|
710
|
+
The only focus on “responses”, they just want to deflect
|
711
|
+
The lies are put forth, the lies they erect
|
712
|
+
CHORUS
|
713
|
+
They're such failures, themselves they outdid
|
714
|
+
Cutting out the conversation, putting on the lid
|
715
|
+
Don't have to do with ego or id
|
716
|
+
Running away from conversation just like a kid
|
717
|
+
Their neglect is out of this world, I swear it's avant-garde
|
718
|
+
They are failures, down at the boulevard
|
719
|
+
They don't care about your feelings, they don't regard
|
720
|
+
Having a little curiousity, cannot be hard
|
721
|
+
They are failures, down at the boulevard
|
722
|
+
They don't care about your feelings, they don't regard
|
723
|
+
They don't have decency, they automatically disregard
|
724
|
+
Having an open mind, should not be so hard
|
725
|
+
They don't care about anyone, don't need no bodyguard
|
726
|
+
Their neglect is out of this world, I swear it's avant-garde
|
727
|
+
They're a complete failure, they only neglect
|
728
|
+
This is plain, anyone can detect
|
729
|
+
They don't care about pain or the past, they don't want to recollect
|
730
|
+
This needs to be called out, one should be direct
|
731
|
+
They want man lower, lower just as if an insect
|
732
|
+
VERSE
|
733
|
+
They don't have decency, they automatically disregard
|
734
|
+
They don't care about your feelings, they don't regard
|
735
|
+
Having a little curiousity, cannot be hard
|
736
|
+
Their neglect is out of this world, I swear it's avant-garde
|
737
|
+
They want the status quo, it's all they crave
|
738
|
+
The speeches of the past, they only wish to engrave
|
739
|
+
They act as bad as possible, they don't know how to behave
|
740
|
+
Their sucked in their circle, they never wave
|
741
|
+
Away from the truth, on the outskirt
|
742
|
+
With pre-thought of ideas, they automatically assert
|
743
|
+
Any progress is fleeting with them, they revert
|
744
|
+
Disingenuous to the extreme, the society they subvert
|
745
|
+
The society is the ones who hurt
|
746
|
+
---
|
747
|
+
### 27. Email
|
748
|
+
|
749
|
+
This currently doesn't work for gmail since 2022 due to policy changes.
|
750
|
+
A simple and practical tool to email people using Himalaya
|
751
|
+
Himalaya needs to be installed first
|
752
|
+
You would need to configure the script by changing its source code.
|
753
|
+
Modes
|
754
|
+
email [no arguments]
|
755
|
+
Email [yourself]
|
756
|
+
email [addr]
|
757
|
+
Email one email address
|
758
|
+
email [Subject] [addr] [option more addrs]
|
759
|
+
Example
|
760
|
+
email 'Gregory, I love your software!' gregorycohenvideos@gmail.com
|
761
|
+
my_friend@outlook.com person@example.com
|
762
|
+
### 28. Floor
|
763
|
+
|
764
|
+
Gets the floor of numbers e.g. 21.3 -> 21
|
765
|
+
### 29. Rgsub
|
766
|
+
|
767
|
+
Recursively replaces text.
|
768
|
+
Verbosely tells you everything that happens.
|
769
|
+
Non-regex.
|
770
|
+
Example
|
771
|
+
rgsub my_email@site.com my_second_email@site.com
|
772
|
+
Would replace an email recursively in a directory.
|
773
|
+
It tries to skip non-text files.
|
774
|
+
### 30. Lines
|
775
|
+
|
776
|
+
Lines gets the number of files in the current folder that you are in.
|
777
|
+
It can also act like “wc -l” if you pipe data into it.
|
778
|
+
### 31. Clock
|
779
|
+
|
780
|
+
clock is useful
|
781
|
+
clock is a command line alarm clock
|
782
|
+
It wakes you up at 8:14, or at a time specified
|
783
|
+
Usage
|
784
|
+
clock
|
785
|
+
Runs clock
|
786
|
+
clock 15 30
|
787
|
+
Sets an alarm clock for 3:30pm
|
788
|
+
clock 9 0
|
789
|
+
Sets an alarm clock for 9 in the morning
|
790
|
+
It uses flite to wake you up
|
791
|
+
It speaks with a bunch of voices
|
792
|
+
To stop it
|
793
|
+
Run this command
|
794
|
+
clock stop
|
795
|
+
### 32. Emoji
|
796
|
+
|
797
|
+
Emoji converts words to emojis from the standard input
|
798
|
+
It can also speak the output
|
799
|
+
It can also copy the output to your clipboard
|
800
|
+
It is very useful
|
801
|
+
### 33. Close
|
802
|
+
|
803
|
+
“Close” is a simple program that closes “Emerald Browser,” a new web
|
804
|
+
browser based on the same engine as Chrome. Currently, Emerald Browser
|
805
|
+
only works on Linux and Mac (Or Windows with Windows Subsystem for
|
806
|
+
Linux or a Virtual Machine, but getting it to work might be tricky).
|
807
|
+
“close” closes the Web Browser, which is normally full-screen.
|
808
|
+
More accurately, it kills the browser, and all other copies of Emerald
|
809
|
+
Browser.
|
810
|
+
Since they are normally full screen, presumably the user would only
|
811
|
+
have one instance of the browser open.
|
812
|
+
The browser can have multiple panes (kind of like tabs) open, depending
|
813
|
+
on how the browser is compiled.
|
814
|
+
The browser can also be transparent, depending on how it is compiled.
|
815
|
+
“Close” is supposed to be used in tandem with “open,” which is a
|
816
|
+
command line tool to open the browser.
|
817
|
+
open [query] ----> [query] gets searched in google, and then opened
|
818
|
+
When you are done, you can do
|
819
|
+
close
|
820
|
+
Which closes the browser. It is a simple command.
|
821
|
+
Currently, Emerald Browser is incomplete. A program exists in this
|
822
|
+
software project that allows you to open up multiple browser tabs (one
|
823
|
+
or more tabs) simply by speaking.
|
824
|
+
Voice recognition would google the multiple sites that you say in your
|
825
|
+
query (separated by “and”)
|
826
|
+
“facebook and youtube and google”
|
827
|
+
It's hard to get more direct than that!
|
828
|
+
Emerald browser has a built in the top. The terminal is the navigation
|
829
|
+
bar.
|
830
|
+
Some more work needs to be put into the browser.
|
831
|
+
Currently, new tabs can't be opened, which might be a dealbreaker for
|
832
|
+
some people.
|
833
|
+
Currently, content, like YouTube videos, can't be made fullscreen.
|
834
|
+
If anyone wants to contribute, feel free to!
|
835
|
+
### 34. Copy
|
836
|
+
|
837
|
+
copy copies the standard input
|
838
|
+
Example
|
839
|
+
ls | copy
|
840
|
+
### 35. Gsub
|
841
|
+
|
842
|
+
Gsub is very powerful.
|
843
|
+
Usage
|
844
|
+
gsub [regular expression] [replacement text]
|
845
|
+
Example
|
846
|
+
cat text | gsub man dog
|
847
|
+
cat text | gsub 'man|boy|cat|dog' food
|
848
|
+
ls | gsub Desktop cat
|
849
|
+
### 36. News
|
850
|
+
|
851
|
+
Gets the news from bbc
|
852
|
+
Usage
|
853
|
+
news
|
854
|
+
news speak
|
855
|
+
uses google_speak to SPEAK the news, one story at a time.
|
856
|
+
### 37. Dump
|
857
|
+
|
858
|
+
Dump surrounds its input with quotes
|
859
|
+
ls | dump
|
860
|
+
=> “....”
|
861
|
+
Use undump to get the reverse
|
862
|
+
See also
|
863
|
+
undump
|
864
|
+
### 38. Args
|
865
|
+
|
866
|
+
args is like a better xargs
|
867
|
+
args works properly with spaces in the name of commands
|
868
|
+
It takes exactly one argument
|
869
|
+
Example
|
870
|
+
ls | args “mv -t ../f”
|
871
|
+
### 39. Quot
|
872
|
+
|
873
|
+
Turns quotes in text into good text and makes text presentable.
|
874
|
+
Example
|
875
|
+
$ echo 'Joe said, "One two three".' | quot
|
876
|
+
Joe said, “One two three.”
|
877
|
+
Example 2
|
878
|
+
quot < essay
|
879
|
+
Example 3
|
880
|
+
(Quote the file and output it)
|
881
|
+
quot text_file
|
882
|
+
### 40. Open
|
883
|
+
|
884
|
+
“open” is a very efficient program that searches a query from google,
|
885
|
+
and then opens it in Emerald Browser.
|
886
|
+
If you ever want something to “just open”, you can use it.
|
887
|
+
Example
|
888
|
+
open “cats”
|
889
|
+
An earlier version of open worked like this
|
890
|
+
open [site1] [site2] [site3] N
|
891
|
+
site1, site2, and site3 would all be opened, and the top N queries were
|
892
|
+
all shown in different panes
|
893
|
+
An even earlier version of this program used Chrome to open the sites.
|
894
|
+
The current version can open one or more sites.
|
895
|
+
Example
|
896
|
+
open “cats” “dogs” “frogs”
|
897
|
+
All of those queries would open in Emerald Browser.
|
898
|
+
Just make sure it is compiled in multipane mode if you want to open
|
899
|
+
multiple new sites at the same time.
|
900
|
+
See also
|
901
|
+
emerald-browser
|
902
|
+
close
|
903
|
+
### 41. Swap
|
904
|
+
|
905
|
+
Swaps two files
|
906
|
+
Example
|
907
|
+
swap text1 text2
|
908
|
+
### 42. Exp
|
909
|
+
|
910
|
+
exp is an exponentiation tool
|
911
|
+
(echo 5; echo 3) | exp
|
912
|
+
=> 125
|
913
|
+
(echo 2; echo 10) | exp
|
914
|
+
=> 1024
|
915
|
+
### 43. Div
|
916
|
+
|
917
|
+
Divides numbers
|
918
|
+
Example
|
919
|
+
(echo 5000; echo 100) | div
|
920
|
+
=> 50
|
921
|
+
### 44. Mul
|
922
|
+
|
923
|
+
Multiply numbers
|
924
|
+
echo 1 > file
|
925
|
+
echo 2 >> file
|
926
|
+
echo 3 >> file
|
927
|
+
echo 4 >> file
|
928
|
+
echo 5 >> file
|
929
|
+
cat file | mul
|
930
|
+
=> 120
|
931
|
+
### 45. Nth
|
932
|
+
|
933
|
+
Nth gets the nth line from the input
|
934
|
+
### 46. Abs
|
935
|
+
|
936
|
+
Abs gets the absolute value of an integer
|
937
|
+
The absolute value of a number is the value of that number without its
|
938
|
+
sign
|
939
|
+
echo -300 | abs
|
940
|
+
=> 300
|
941
|
+
echo 200 | abs
|
942
|
+
=> 200
|
943
|
+
(echo -2; echo -10) | sub | abs
|
944
|
+
=> 12
|
945
|
+
The last one would do -2 - -10, the result would be -12, and then the
|
946
|
+
absolute value would be computed, and so the result would be 12.
|
947
|
+
### 47. Add
|
948
|
+
|
949
|
+
See the sub example
|
950
|
+
add adds integers from the standard input
|
951
|
+
(echo 1; echo 2; echo 3) | add
|
952
|
+
The result would be 6
|
953
|
+
### 48. Sub
|
954
|
+
|
955
|
+
Sub is a simple command line program that subtracts integers.
|
956
|
+
For some reason, no simple program did this.
|
957
|
+
Which is weird
|
958
|
+
Example
|
959
|
+
sub
|
960
|
+
(Input)
|
961
|
+
10
|
962
|
+
3
|
963
|
+
1
|
964
|
+
Result =>
|
965
|
+
6
|
966
|
+
Example
|
967
|
+
(echo 5; echo 2) | sub
|
968
|
+
Result =>
|
969
|
+
3
|
970
|
+
### 49. G+
|
971
|
+
|
972
|
+
A compiler for C += 2. If you want to use C++ with Python syntax, you
|
973
|
+
can use this.
|
974
|
+
Usage is like g++
|
975
|
+
Example
|
976
|
+
g+ a.cpp -o out
|
977
|
+
See also README file & emerald-browser and its source
|
978
|
+
### 50. T
|
979
|
+
|
980
|
+
“t” is incredibly useful.
|
981
|
+
It can be used many, many times every day by computer power users.
|
982
|
+
It is kind of like “sed”, or perl, python or ruby.
|
983
|
+
It's the ULTIMATE shell “glue” tool.
|
984
|
+
t reads every line from the standard input, and for every line, it
|
985
|
+
evaluates a ruby expression
|
986
|
+
t a + 2
|
987
|
+
would add 2 to every line
|
988
|
+
Number automatically get converted to numbers in Ruby.
|
989
|
+
So one doesn't have to worry about that.
|
990
|
+
The “value” of the line of STDIN is any letter of the alphabet.
|
991
|
+
So choose any letter to do operations on and it will work.
|
992
|
+
You can also do
|
993
|
+
t a + 2 if a % 2 == 0
|
994
|
+
And you get a Python list comprehension sort of thing from the command
|
995
|
+
line
|
996
|
+
It is a lot simpler and easier than using awk, Ruby, Perl or Python
|
997
|
+
You could also have loops
|
998
|
+
echo “One line” | t a while true
|
999
|
+
The second line, again is a Ruby expression.
|
1000
|
+
You can have really complex expressions on the second line.
|
1001
|
+
You can even import modules.
|
1002
|
+
cat /usr/share/dict/words | t 'a + “ is a good word.”'
|
1003
|
+
That processes every word in the dictionary, and says that every word
|
1004
|
+
“is a good word.”
|
1005
|
+
There are other programs in this software project like “t”.
|
1006
|
+
But if you do command line text filtering, t might be the best tool
|
1007
|
+
that you will find.
|
1008
|
+
See also
|
1009
|
+
gsub
|
1010
|
+
gsub_in_place
|
1011
|
+
|
1012
|
+
Navigation
|
1013
|
+
|
1014
|
+
[15] Top
|
1015
|
+
[16] Ultimate Chat Application
|
1016
|
+
[17] Discourse Generator
|
1017
|
+
[18] Replace Not In Place
|
1018
|
+
[19] Replace In Place
|
1019
|
+
[20] Emerald Browser
|
1020
|
+
[21] Gsub In Place
|
1021
|
+
[22] Find Housing
|
1022
|
+
[23] Google Speak
|
1023
|
+
[24] Make Server
|
1024
|
+
[25] Selectlines
|
1025
|
+
[26] Communicate
|
1026
|
+
[27] Executable
|
1027
|
+
[28] Processes
|
1028
|
+
[29] Emeraldc
|
1029
|
+
[30] Last Nth
|
1030
|
+
[31] Speakcat
|
1031
|
+
[32] Uca Cli
|
1032
|
+
[33] Big Num
|
1033
|
+
[34] Squeeze
|
1034
|
+
[35] Foreach
|
1035
|
+
[36] Dictate
|
1036
|
+
[37] Prepend
|
1037
|
+
[38] Chat Rb
|
1038
|
+
[39] Undump
|
1039
|
+
[40] Append
|
1040
|
+
[41] Rhyme
|
1041
|
+
[42] Email
|
1042
|
+
[43] Floor
|
1043
|
+
[44] Rgsub
|
1044
|
+
[45] Lines
|
1045
|
+
[46] Clock
|
1046
|
+
[47] Emoji
|
1047
|
+
[48] Close
|
1048
|
+
[49] Copy
|
1049
|
+
[50] Gsub
|
1050
|
+
[51] News
|
1051
|
+
[52] Dump
|
1052
|
+
[53] Args
|
1053
|
+
[54] Quot
|
1054
|
+
[55] Open
|
1055
|
+
[56] Swap
|
1056
|
+
[57] Exp
|
1057
|
+
[58] Div
|
1058
|
+
[59] Mul
|
1059
|
+
[60] Nth
|
1060
|
+
[61] Abs
|
1061
|
+
[62] Add
|
1062
|
+
[63] Sub
|
1063
|
+
[64] G+
|
1064
|
+
[65] T
|
1065
|
+
|
1066
|
+
References
|
1067
|
+
|
1068
|
+
1. https://www.youtube.com/embed/Fx9x8cArK30
|
1069
|
+
2. mailto:gregorycohen@gmail.com
|
1070
|
+
3. https://pypi.org/project/democracy
|
1071
|
+
4. https://www.rubygems.org/gems/computers
|
1072
|
+
5. https://www.rubygems.org/gems/democracy
|
1073
|
+
6. https://www.rubygems.org/gems/linux
|
1074
|
+
7. https://www.rubygems.org/gems/string
|
1075
|
+
8. https://www.rubygems.org/gems/unix
|
1076
|
+
9. http://www.github.com/gregoryc/democracy
|
1077
|
+
10. http://www.rubygems.org/gems/democracy
|
1078
|
+
11. https://pypi.org/project/democracy
|
1079
|
+
12. https://cboard.cprogramming.com/c-programming/181160-hi-i-have-created-some-work-i-think-will-really-valuable-community.html?s=589b5504cd0e3c2dc90e9abd8b66906f
|
1080
|
+
13. https://www.youtube.com/@LawrenceStevensMusic
|
1081
|
+
14. https://www.github.com/gregoryc/democracy
|
1082
|
+
15. javascript:window.scrollTo(0,0);
|
1083
|
+
16. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry1
|
1084
|
+
17. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry2
|
1085
|
+
18. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry3
|
1086
|
+
19. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry4
|
1087
|
+
20. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry5
|
1088
|
+
21. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry6
|
1089
|
+
22. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry7
|
1090
|
+
23. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry8
|
1091
|
+
24. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry9
|
1092
|
+
25. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry10
|
1093
|
+
26. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry11
|
1094
|
+
27. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry12
|
1095
|
+
28. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry13
|
1096
|
+
29. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry14
|
1097
|
+
30. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry15
|
1098
|
+
31. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry16
|
1099
|
+
32. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry17
|
1100
|
+
33. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry18
|
1101
|
+
34. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry19
|
1102
|
+
35. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry20
|
1103
|
+
36. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry21
|
1104
|
+
37. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry22
|
1105
|
+
38. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry23
|
1106
|
+
39. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry24
|
1107
|
+
40. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry25
|
1108
|
+
41. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry26
|
1109
|
+
42. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry27
|
1110
|
+
43. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry28
|
1111
|
+
44. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry29
|
1112
|
+
45. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry30
|
1113
|
+
46. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry31
|
1114
|
+
47. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry32
|
1115
|
+
48. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry33
|
1116
|
+
49. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry34
|
1117
|
+
50. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry35
|
1118
|
+
51. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry36
|
1119
|
+
52. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry37
|
1120
|
+
53. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry38
|
1121
|
+
54. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry39
|
1122
|
+
55. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry40
|
1123
|
+
56. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry41
|
1124
|
+
57. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry42
|
1125
|
+
58. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry43
|
1126
|
+
59. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry44
|
1127
|
+
60. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry45
|
1128
|
+
61. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry46
|
1129
|
+
62. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry47
|
1130
|
+
63. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry48
|
1131
|
+
64. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry49
|
1132
|
+
65. file:///tmp/lynxXXXXbj4d0L/L210097-8486TMP.html#entry50
|