freespeech 0.0.3 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+

|
|
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
|
+

|
|
140
|
+

|
|
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
|