Package: linustorvalds
Practical Self-Empowerment Utilities Covering Every Facet of LifeThese tools are for everyoneIt doesn't matter what political ideology you favor, these tools are all still very valuable.You can live in Canada, the US, Russia, China or Africa, it doesn't matter.I intend to make people more able.Most important software hereRhyme Music program (Crystal and Ruby), see fix_the_society folderUltimate Chat App (Win, Lin, CLI)Discourse Generator Program vesion 1 and version 2 (node, ruby, browser(kind of like Siri); and C++ STL). These programs work.And Semantic metadata project (very abstract and idealistic, seewebpage for it.)There is also a desktop widget for that site.There is also Emerald C, which is really useful. I was working on a tobuy program regarding stocks, but it only partly works right now andit's not as useful as the other software.The find housing tool actually helped me to find housing in real life.Those aside, there are these 87 programs.Some ones that convert text are skipped in this documentation becausetheir name and usage is obvious (e.g., color tools).All of these programs are mostly self-contained. This is a really good thing.You can use them anywhere without dependencies.My email isgregorycohenvideos@gmail.comand I really would like tomake open source software. Everything I have is BSD licensed.HOW TO DOWNLOAD/INSTALLgem unpack democracygem install democracywork to download or install (gem)pip install democracyorpip3 install democracyworks for pipgit clonehttps://github.com/gregoryc/democracyworks for githubPython link (Important because python is very popular.)*https://pypi.org/project/democracyAny Python “dweeb” (AI person who doesn't value personal dynamism)searching for “democracy”–for example–BECAUSE THEY ARE A RATIONAL HUMANBEING AND CARE ABOUT PEOPLE, would find this, probably as the firstresult.How many options are there? 37 projects for “democracy.” Almostnothing. On RubyGems, 9, 6 of which are mine.ONLY MY PROJECT IS CALLED “DEMOCRACY.” on PyPI or RubyGems.On rubygems, there are even fewer results. MY CODE WILL BE FOUND.I shared my gem online.https://www.rubygems.org/gem/democracyhttps://www.linkedin.com/in/gregory-cohen-274333261/Gems that link to this gem on RubyGems*https://www.rubygems.org/gems/democracy*https://www.rubygems.org/gems/computers*https://www.rubygems.org/gems/freespeech*https://www.rubygems.org/gems/linux*https://www.rubygems.org/gems/string*https://www.rubygems.org/gems/unixSo I will leave a legacy.And I will be found by AIs, assuming they continue to exist.Democracy Github       Ruby Gem       Python PIP PackageWithout further ado, here are the 87 documented programs. (The obvious usageones are omitted.)1. Ultimate Chat ApplicationThere is so much potential with this program.This is a non-AI chatbot. It's not based on generative AI or AI of anysort.It is self-explanatory, it tries to give a better answer.Still a work in progress.Source code is in PP.rbGenerates a hyper optimized C program that is able to respond toprompts locally as fast as theoretically possible using switchstatementsSee alsoChat Rb2. Discourse GeneratorThe use of Javascript (and possible Ruby) to create a Javascriptlibrary (and perhaps a Chrome extension and perhaps a command line tooland perhaps a GTK or QT program) that helps people (by using textboxesor command line prompts) to create high quality communications, wouldbe wonderful.Think of how poor quality responses to communications can be.If someone created one or more tools that could be easily added on webpages, that would augment someone's life to help create goal and valueoriented responses (or original communications), then there isliterally nothing that couldn't solve.This might be the most useful library ever created. There could be atool that would help with democracy.Human being + augmentive tool = civil discourse, eventually resultingin liberty.This would enable democracy to work. Imagine if 50% of all websitesused this library.This would help people to be goal or value oriented, and not be comingup with terrible communications that, for example, insult people'smothers or education.3. Replace Not In PlaceThis is like gsub, but for strings, not for regular expressionsSee alsogsub4. Replace In Placereplace_in_place tool replaces a string, not a regular expression, withanother stringExamplereplace_in_place cat dog file5. Emerald BrowserEmerald browser is a really powerful new browserSee READMEIt works based on panes.Read the documentation for “open”, “close” and also the README file.6. Gsub In Placegsub_in_place is like gsub, which replaces all instances of a regularexpression globally[regular expression 1] [regular expression 2] => resultExamplegsub_in_place . FOO fileWould make all characters in “file” become “FOO”.gsub_in_place cat dog fileWould make all instances of “cat” “dog”It is much cleaner than “sed”.You don't need to have “sed” installed to run this program.It doesn't read from the standard inputIt takes exactly 3 arguments, no more, no fewer.See alsogsub7. Find HousingThis is a nice tool to find housing with.It is a nice, simple command line tool. You enter the minimum andmaximum prices, and Kijiji opens with your options.This tool kind of actually helped me to find housing in real life.The default city is "Ottawa". You can easily change this.8. Google SpeakGoogle speak is really useful. It speaks a statement using the GoogleTranslate voice, which is probably the most authoritative andhigh-quality text-to-speech voice that exists.It's kind of like “espeak” or similar tools, but it is much better.You need an internet connection for it to work.It is probably limited at 100 characters.There is a “singing program”, not really a tool, in this softwareproject that gets around that.TODOMake the alarm clock program in this software project use this voice.It is quite reliable.It is probably “unlimited”.I haven't had Google block me from using it ever.Which is a good thing.9. Make Servermake_server is powerful.make_server takes expressions, either Javascript or C++, and generatesa resultant program from that.The Javascript mode currently doesn't work.Not only is a program made, the resultant program is an entirewebserver, that uses FastCGI to run really fast code.The arguments work in an interesting way.make_server [function_name] [iterable] [condition, it can be “true” todo the following argument always] [code list separated by semicolons,the last statement is an expression, and is returned by the function][function_name2] ...You have to give 4 arguments every time.There was an “otherwise” mode as an “else”, but I don't think that's apart of the program anymore.It doesn't need to be.You have to give 4 arguments for each function.So you can domake_server 4args 4args 4args 4argsAnd pass 16 argumentsThe “iterable” has to be a list.What is powerful is that it converts JSON into completely native C++.It is very efficient.It doesn't need to be a JSON expression though.There is a test file.You can run the tests and see if it works for you!!You can also modify the code because it is open source.The program generates a special array object. It is lightweight andmakes arrays act in C++ like arrays act in scripting languages, butmuch faster.The array class also has methods to apply things to every element of anarray, like surroundarray.surround(“”, “”)for examplewould surround all of the elements of array with XML tags and return anew listThis program generates a lightweight Object System, with a BasicObjectclass and an Object Class.You can subclass these objects.You can have Arrays of the ObjectsThe function argument syntax is really powerful.Oftentimes people want to iterate through iterables or arrays.Oftentimes people want to check conditions.Python has list comprehensions.This is kind of like that, but simpler.You can have arguments as one argument, separated by “,,”make_server arg1,,arg2,,arg3,,arg4What's the point of using a scripting language when you can use C++?This uses FastCGI, so you can have anIDEALwebserver.You can have an IDEAL and very affordable website, that in a sensewould be faster than Facebook.Facebook converts PHP to C++ (slow)This produces REAL C++, and it is very fast, almost as fast aspossible.Native STL classes are used, like vector.Native STL classes are used, like vector and mapDo you not need to run and child processes or do slow, costly things.You should want IDEAL.This is free software, and is BSD licensed.The function generation idea allows you to write in 1 line what otherpeople might write in 50 lines.You do not need to compromise your ideals.You should want fast, efficient, and memory light programs that are notgarbage collected (!!!) and that have reliable performance.C++, as everyone knows, delivers that.You should also want to not have to write a lot of code to do things.And you should also want safe, compiled code that checks things atcompile time, so that bugs don't appear at run time.This program delivers.It uses NGINX ( a really, really common webserver) to help with theFastCGI.FastCGI, for the unfamiliar, is like normal CGI, but there aren't childprocesses.So the entire server could be written in idealistic C++ .Then you just have to think about scaling.There are some relevant links regarding scaling in the “scaling” filein the democracy projectSpeedEase of writing codeMemory usageMonetary costsElegancePracticalnessThose are 6 things.You don't have to sacrifice on those things.Contributions on this program would be really appreciated.It is called “make_server” for now.There was also a mode to generate javascript.I have to make that work again.The entire program is just one file.My email isgregorycohenvideos@gmail.com10. Selectlinesselectlines shows all nonblank lines from the inputExamplecat file | selectlines(echo 2; echo; echo; echo) | selectlines=> 2The result would be 2, with no blank lines after that11. CommunicateCommunicate is cool.Communicate runs a Ruby expression after speaking a prompt (the firstargument) and getting your verbal answer (using something unfortunatelycalled "nerd-dictation", which is a wrapper around another programwhich deals with speech recognition)Communicate allows you to have conversations with your computer, and itis cross platform(Or it hopefully is)communicate 'What is the best color?' 'case text; when /blue/; puts"You are right!"; when /red/; puts "Red is a bad color"; end 'That would be an example of how one could use "communicate"Make sure you have nerd-dictation on your computerThe name nerd-dictation is absolutely awful, and I have to criticizehim for not making it have a better name, but it works.12. ExecutableMakes all the files in the current directory executable13. ProcessesProcesses lists all processes with a certain nameFor exampleprocesses shprocesses bashprocesses rubyprocesses gsub14. EmeraldcThe Ultimate C PreprocessorI'm naming this preprocessor “Emerald C.”LinkHowdy!First, let me state that I am very much a perfectionist.C is a wonderful language. C is probably the perfect programminglanguage. It is one of the top two most widely used languages for areason.Now, there are some problems with it of course, but it's hard to thinkof a more elegant language than it.It is the language of systems, the language almost all APIs are writtenin.It is the lingua franca of the software world.People try to avoid it, but they needn't.I think every programmer wants to find out how to do things, or uselibraries that make things easier.Many programmers have done programming, grown dissatisfied, and thenmake another language. As a result, there are thousands of differentlanguages.Well, recently, I made a preprocessor for C, that makes C incrediblyEASY.C is fast and straightforward without it, but it has many features.If one runs the command line preprocessor, with the “--features” flag,the program shows all of its featuresA Better CC is a fantastic language. C compiles insanely fast, is the fastestlanguage there is, is very clear, is native to all systems, and isuseful for all purposes.Some people, e.g., Bjarne Stroustrup, consider that C is “not goodenough”, and make languages like C++ or D (or thousands of others)This is not necessary.There is no reason to use Python instead of C for “simple scriptingtasks”Some functions can be used as methodsMakes for an excellent “scripting language” (which is really justnative C without things making it slow)1 String Interpolation “String interplation like this #{foo} ” Callsthe join() function (talked about below to join strings,delim is a static global in each module called “sep”.Make sure you free() the string after. The string is stored in a staticglobal variable called “last”.So you could do puts(...); free(last)2 ewi.ew “Foo”, a.ew “bar” | charends with another char*?3 swi.sw “Foo”, a.sw “bar” | charstarts with another char*?4 == Comparison of strs, “foo” == “bar”5 strip Returns pointer to string that was stripped, in place6 chomp void function, chomps end of string of spaces, i.chomp orchomp(i), in place7 gsub Just like ruby, there is a gsub function.The preprocessor detects if you use and adds -lpcre2-8 to the linkflags if you use it. Use $" for substitutions in argument 3 gsub(a, b,c)8 join Joins an array of strings, to split(), use C's strtok (veryfast)9 Lightweight regexes are added, almost 15 times as fast as C's builtin regex. They are very simple, they only have bracket expressions,like [a-z].To use it, you need to pass a buffer of the size of the expansion ofthe regex. Foo[a-fA-F] would be Foo[abcdefABCDEF]. That would be storedin a buffer.From testing, 15x times faster than C's regex POST COMPILATION, ifcompilation keeps happening, it might be hundreds of times faster.Uses static inline functions, NO HEAP MEMORY unless you mallocbefore().10 print Like old python print “Hello” (fputs);11 print_int prints a number and returns the number, can be chained12 each_line, Perlish, different names, by_line(s) or each_line(s),iterate over all lines, free after13 NOTE You can use open_memstream() on UNIX to easily concatenatestrings.14 MISC features || autoinclude, foo.gsub or gsub(...),no need forparen (i.chomp, i.strlen), starts_with, ends_with, --wrap, itoa, freel(frees str, sets to NULL, and frees other recent stuff)asprintf() is another useful function which is UNIX-centric.open_memstream() could be an alternative to std::string.It works very well with each_line or by_lines (see above)These features seem simple, but they can make C programming much, MUCHeasierfor example (insignificant example)int main() {stdin.each_line { |line|print line;}free(line);}You can iterate over the standard input like RubyThe thing with this is that it has 100% speed. The resultantpreprocessed program becomes a normal C programThe compile and run time for a program (if you use tcc and not gcc) canbe about 24 milliseconds, which is faster than Ruby to run.Even though the program is preprocessed, re-preprocessed, compiled,assembled, linked, turned into an executable, and then runKind of like early C++, this is a preprocessor for C.But it's much faster to compile than C++. Significantly so.Is anyone else interested in this? (BSD)I'm realising this under the BSD license. I'm interested if anyone elseelse likes this work, and would like to use it, or to work with me.Best regards,GregoryCurrent program is written in Crystal (crystal-lang.org) -- it waswritten in ruby, it could be ported to another language.I would like to make this self-hosting, but that would take a littlebit of work.About the NameYears ago, I really, really liked CompizCompiz then forked into Beryl. There was the Emerald Window Manager,which was really nice and beautiful.I actually made another programming language. I made 2 otherprogramming language. One was a full compiler and assembler, that rancode in memory. It was around 16 thousand lines of code. I made aprogramming language that had the syntax of Python or Ruby, buttranspiled into C++. I called that C += 2. I used that other language,and I created a Web Browser in it based on Chrome. I called it “EmeraldBrowser.” Emeralds are beautiful green gems.“Emerald is a gemstone and a variety of the mineral beryl colored greenby trace amounts of chromium or sometimes vanadium. Beryl has ahardness of 7.5–8 on the Mohs scale. Most emeralds are highly included,so their toughness is classified as generally poor. Emerald is acyclosilicate.”--WikipediaThere was a browser with a terminal built in to it.This new language is better. It's ideal.QUESTIONSWhy not use Rust?$ time rustc a.rsreal 0m0.637suser 0m0.502ssys 0m0.160sRust takes 0.637 seconds to compile an empty file!That is not ideal.15. Last NthLast nth gets the last n lines from the standard input16. SpeakcatSpeak cat is a tool like “cat”, which shows the content of files(technically, it combines the content of files).But speak cat also speaks the text.Which could be useful in some circumstances.It's kind of like “tee” to your ear.17. UCA CLICLI for uca app18. Big Num19. SqueezeSqueeze reads all input from stdin, then it prints it back omittingargument 1 line from the front, and argument 2 lines from the backExamplesqueeze 1 1This would omit the first line and the last linesqueeze 5 3This would omit the first 5 lines and the last 3 linessqueeze 2 2 [file] also works, it outputs text to file20. ForeachReads a bunch of linesThen a ruby expression is evaluated as the last lineThe result is outputted in an argument.You can enter /dev/null if you don't want an output file“t” is betterSee alsot21. DictateDictate opens web pages in emerald browser, or in any browser(depending on the environment variable set), by you speaking, insteadof typing.There is a mode called c_mode, that allows you to make code fromspeaking.22. Prependprepend prepends input taken from the standard input to a fileUsageprepend [file]This is text to be prepended23. Chat RbThis program is excellent.It's essentially a mix of ChatGPT and a shell, such as bash or ZSH.It has a bunch of features.It can display a file or change to a folder just by mentioning it.It outputs chatgpt data to an output folder in home folder and copiesit to clipboardTo run a shell command, prefix things with “c”, such as c gcc.....24. Undumpundump is the opposite of dumpExampleecho cat | dump | undump=> catecho cat | dump=> “cat”echo '“cat”' | undump=> cat25. AppendAppends text to fileExampleappend fileThis is more text to be appended26. RhymeA very powerful music generator program that doesn't use AI.See this channel as an example of potential usage of this publicdomain contenthttps://www.youtube.com/@LawrenceStevensMusicThe music industry is plagued with very foundational problems.For starters, the quality of the discourse in music is very low, andhas been from the start of the popularization of modern music, as wellas during the era in which classical music was popular and before.People aren't able to fight back, against superficiality and potentialdeception in messages.One of the greatest problems in the current world is the mainstreamscientific establishment, supported and upheld by mainstream academia.To indicate what is already obvious, it exists in the context of alegacy of authoritarianism and a lack of understanding of dynamism.It is not dynamic or forceful, the "results" of it don't change thefoundation of society. True free discourse is not supported, especiallyin regards to the human mind and human well-being and human freedom.These problems should be opposed and fought, it is self-evident thatthis would be the best use of ones time, for it would lead to truefreedom.One excellent way to combat this would be to use the generated songsgenerated by a computer program called Rhyme, available athttps://www.github.com/gregoryc/democracyin the SONGS folder.These are public domain songs generated by non-Artificial Intelligence,just a programthat introduces variance, and these hit-home against the status quo andthe currentstate of the mainstream scientific establishment. Taking these songsand making actualsongs from such, such as rap songs using a service such as Uberduck (noaffiliation),would be an excellent, excellent use of time.The mainstream scientific establishment and mainstream academia must beforced to change.Shoving art and flippant content in ones face, is the best way of doingsuch.Accountability must always be brought about.Is music good and desired? For sure.USAGE OF PROGRAMEnter basename to make songs folder in (folder/songs, num songs =13000)Usage rhyme [folder] (processes files "1.json" and "21.json" bydefault)Example output of a song(NO COPYRIGHT RESTRICTIONS ON THIS CONTENT WHATSOEVER. FULLY PUBLICDOMAIN)Name the song or poem as you wish, resell it, but please positivelyinfluence cultureSubject matter | Category 1 -- Abuse of philosophical universalism(makingbroad claims while intentionally not trying to understand things or seeany sides of anything whatsoever, childish behavior worsethan a 3 year old, acting retarded)VERSEBrittle as possible, they are truly unguardedAny novelty, they have disregardedTheir remissness is spectacular, the world they've bombardedThe clique is so insular, I swear they're retardedEnlightenment values, they have not safeguardedAny novel ideas, they automatically have discardedMaybe the rebels and true communicators are off the gridLack of thought makes an grown-up the absolute worst kidCan we stop this, their non sense they overdidWhat horrendous non sense these creeps didTunnel vision, everyone and everything they forbidThey're such failures, themselves they outdidCHORUSThey're such failures, themselves they outdidCutting out the conversation, putting on the lidDon't have to do with ego or idRunning away from conversation just like a kidTheir neglect is out of this world, I swear it's avant-gardeThey are failures, down at the boulevardThey don't care about your feelings, they don't regardHaving a little curiousity, cannot be hardThey are failures, down at the boulevardThey don't care about your feelings, they don't regardThey don't have decency, they automatically disregardHaving an open mind, should not be so hardThey don't care about anyone, don't need no bodyguardTheir neglect is out of this world, I swear it's avant-gardeThey're a complete failure, they only neglectThis is plain, anyone can detectThey don't care about pain or the past, they don't want to recollectThis needs to be called out, one should be directThey want man lower, lower just as if an insectVERSEThinking itself resides in their territory of circumventionComplete neglect, complete inattentionThey have no genuine intentionWe need change, we need interventionViolence is second nature to them, their friends they've bombardedAny novel ideas, they automatically have discardedThe clique is so insular, I swear they're retardedAny novelty, they have disregardedAny novelty, they have disregardedBrittle as possible, they are truly unguardedThe clique is so insular, I swear they're retardedAny novel ideas, they automatically have discardedEnlightenment values, they have not safeguardedTheir remissness is spectacular, the world they've bombardedThey don't care about your feelings, they don't regardTheir neglect is out of this world, I swear it's avant-gardeThey don't have decency, they automatically disregardWorking don't matter for this, whether day or graveyardCHORUSThey're such failures, themselves they outdidCutting out the conversation, putting on the lidDon't have to do with ego or idRunning away from conversation just like a kidTheir neglect is out of this world, I swear it's avant-gardeThey are failures, down at the boulevardThey don't care about your feelings, they don't regardHaving a little curiousity, cannot be hardThey are failures, down at the boulevardThey don't care about your feelings, they don't regardThey don't have decency, they automatically disregardHaving an open mind, should not be so hardThey don't care about anyone, don't need no bodyguardTheir neglect is out of this world, I swear it's avant-gardeThey're a complete failure, they only neglectThis is plain, anyone can detectThey don't care about pain or the past, they don't want to recollectThis needs to be called out, one should be directThey want man lower, lower just as if an insectVERSEThe truth is what they wish to disregardTheir behavior is garbage, it should be thrown in the junkyardThey act like a retardBehaving just like in the schoolyardIn their ivory tower, with the castle and guardTheir behavior makes them charredThinking differently shouldn't have to be hardTheir neglect is out of this world, I swear it's avant-gardeWorking don't matter for this, whether day or graveyardThey don't care about your feelings, they don't regardThey are failures, down at the boulevardThey don't have decency, they automatically disregardThey're a complete failure, they only neglectThey don't speak the language of the people or their dialectThis is not right, this is completely incorrectThe only focus on “responses”, they just want to deflectThe lies are put forth, the lies they erectCHORUSThey're such failures, themselves they outdidCutting out the conversation, putting on the lidDon't have to do with ego or idRunning away from conversation just like a kidTheir neglect is out of this world, I swear it's avant-gardeThey are failures, down at the boulevardThey don't care about your feelings, they don't regardHaving a little curiousity, cannot be hardThey are failures, down at the boulevardThey don't care about your feelings, they don't regardThey don't have decency, they automatically disregardHaving an open mind, should not be so hardThey don't care about anyone, don't need no bodyguardTheir neglect is out of this world, I swear it's avant-gardeThey're a complete failure, they only neglectThis is plain, anyone can detectThey don't care about pain or the past, they don't want to recollectThis needs to be called out, one should be directThey want man lower, lower just as if an insectVERSEThey don't have decency, they automatically disregardThey don't care about your feelings, they don't regardHaving a little curiousity, cannot be hardTheir neglect is out of this world, I swear it's avant-gardeThey want the status quo, it's all they craveThe speeches of the past, they only wish to engraveThey act as bad as possible, they don't know how to behaveTheir sucked in their circle, they never waveAway from the truth, on the outskirtWith pre-thought of ideas, they automatically assertAny progress is fleeting with them, they revertDisingenuous to the extreme, the society they subvertThe society is the ones who hurt27. EmailThis currently doesn't work for gmail since 2022 due to policy changes.A simple and practical tool to email people using HimalayaHimalaya needs to be installed firstYou would need to configure the script by changing its source code.Modesemail [no arguments]Email [yourself]email [addr]Email one email addressemail [Subject] [addr] [option more addrs]Exampleemail 'Gregory, I love your software!'gregorycohenvideos@gmail.commy_friend@outlook.comperson@example.com28. FloorGets the floor of numbers e.g. 21.3 -> 2129. RgsubRecursively replaces text.Verbosely tells you everything that happens.Non-regex.Examplergsubmy_email@site.commy_second_email@site.comWould replace an email recursively in a directory.It tries to skip non-text files.30. LinesLines gets the number of files in the current folder that you are in.It can also act like “wc -l” if you pipe data into it.31. Clockclock is usefulclock is a command line alarm clockIt wakes you up at 8:14, or at a time specifiedUsageclockRuns clockclock 15 30Sets an alarm clock for 3:30pmclock 9 0Sets an alarm clock for 9 in the morningIt uses flite to wake you upIt speaks with a bunch of voicesTo stop itRun this commandclock stop32. EmojiEmoji converts words to emojis from the standard inputIt can also speak the outputIt can also copy the output to your clipboardIt is very useful33. Close“Close” is a simple program that closes “Emerald Browser,” a new webbrowser based on the same engine as Chrome. Currently, Emerald Browseronly works on Linux and Mac (Or Windows with Windows Subsystem forLinux or a Virtual Machine, but getting it to work might be tricky).“close” closes the Web Browser, which is normally full-screen.More accurately, it kills the browser, and all other copies of EmeraldBrowser.Since they are normally full screen, presumably the user would onlyhave one instance of the browser open.The browser can have multiple panes (kind of like tabs) open, dependingon how the browser is compiled.The browser can also be transparent, depending on how it is compiled.“Close” is supposed to be used in tandem with “open,” which is acommand line tool to open the browser.open [query] ----> [query] gets searched in google, and then openedWhen you are done, you can docloseWhich closes the browser. It is a simple command.Currently, Emerald Browser is incomplete. A program exists in thissoftware project that allows you to open up multiple browser tabs (oneor more tabs) simply by speaking.Voice recognition would google the multiple sites that you say in yourquery (separated by “and”)“facebook and youtube and google”It's hard to get more direct than that!Emerald browser has a built in the top. The terminal is the navigationbar.Some more work needs to be put into the browser.Currently, new tabs can't be opened, which might be a dealbreaker forsome people.Currently, content, like YouTube videos, can't be made fullscreen.If anyone wants to contribute, feel free to!34. Copycopy copies the standard inputExamplels | copy35. GsubGsub is very powerful.Usagegsub [regular expression] [replacement text]Examplecat text | gsub man dogcat text | gsub 'man|boy|cat|dog' foodls | gsub Desktop cat36. NewsGets the news from bbcUsagenewsnews speakuses google_speak to SPEAK the news, one story at a time.37. DumpDump surrounds its input with quotesls | dump=> “....”Use undump to get the reverseSee alsoundump38. Argsargs is like a better xargsargs works properly with spaces in the name of commandsIt takes exactly one argumentExamplels | args “mv -t ../f”39. QuotTurns quotes in text into good text and makes text presentable.Example$ echo 'Joe said,        "One two three".' | quotJoe said, “One two three.”Example 2quot < essayExample 3(Quote the file and output it)quot text_file40. Open“open” is a very efficient program that searches a query from google,and then opens it in Emerald Browser.If you ever want something to “just open”, you can use it.Exampleopen “cats”An earlier version of open worked like thisopen [site1] [site2] [site3] Nsite1, site2, and site3 would all be opened, and the top N queries wereall shown in different panesAn even earlier version of this program used Chrome to open the sites.The current version can open one or more sites.Exampleopen “cats” “dogs” “frogs”All of those queries would open in Emerald Browser.Just make sure it is compiled in multipane mode if you want to openmultiple new sites at the same time.See alsoemerald-browserclose41. SwapSwaps two filesExampleswap text1 text242. Expexp is an exponentiation tool(echo 5; echo 3) | exp=> 125(echo 2; echo 10) | exp=> 102443. DivDivides numbersExample(echo 5000; echo 100) | div=> 5044. MulMultiply numbersecho 1 > fileecho 2 >> fileecho 3 >> fileecho 4 >> fileecho 5 >> filecat file | mul=> 12045. NthNth gets the nth line from the input46. AbsAbs gets the absolute value of an integerThe absolute value of a number is the value of that number without itssignecho -300 | abs=> 300echo 200 | abs=> 200(echo -2; echo -10) | sub | abs=> 12The last one would do -2 - -10, the result would be -12, and then theabsolute value would be computed, and so the result would be 12.47. AddSee the sub exampleadd adds integers from the standard input(echo 1; echo 2; echo 3) | addThe result would be 648. SubSub is a simple command line program that subtracts integers.For some reason, no simple program did this.Which is weirdExamplesub(Input)1031Result =>6Example(echo 5; echo 2) | subResult =>349. G+A compiler for C += 2. If you want to use C++ with Python syntax, youcan use this.Usage is like g++Exampleg+ a.cpp -o outSee also README file & emerald-browser and its source50. T“t” is incredibly useful.It can be used many, many times every day by computer power users.It is kind of like “sed”, or perl, python or ruby.It's the ULTIMATE shell “glue” tool.t reads every line from the standard input, and for every line, itevaluates a ruby expressiont a + 2would add 2 to every lineNumber automatically get converted to numbers in Ruby.So one doesn't have to worry about that.The “value” of the line of STDIN is any letter of the alphabet.So choose any letter to do operations on and it will work.You can also dot a + 2 if a % 2 == 0And you get a Python list comprehension sort of thing from the commandlineIt is a lot simpler and easier than using awk, Ruby, Perl or PythonYou could also have loopsecho “One line” | t a while trueThe second line, again is a Ruby expression.You can have really complex expressions on the second line.You can even import modules.cat /usr/share/dict/words | t 'a + “ is a good word.”'That processes every word in the dictionary, and says that every word“is a good word.”There are other programs in this software project like “t”.But if you do command line text filtering, t might be the best toolthat you will find.See alsogsubgsub_in_placeNavigationTop  
Ultimate Chat Application  
Discourse Generator  
Replace Not In Place  
Replace In Place  
Emerald Browser  
Gsub In Place  
Find Housing  
Google Speak  
Make Server  
Selectlines  
Communicate  
Executable  
Processes  
Emeraldc  
Last Nth  
Speakcat  
Uca Cli  
Big Num  
Squeeze  
Foreach  
Dictate  
Prepend  
Chat Rb  
Undump  
Append  
Rhyme  
Email  
Floor  
Rgsub  
Lines  
Clock  
Emoji  
Close  
Copy  
Gsub  
News  
Dump  
Args  
Quot  
Open  
Swap  
Exp  
Div  
Mul  
Nth  
Abs  
Add  
Sub  
G+  
TReferenceshttps://www.youtube.com/embed/Fx9x8cArK30mailto:gregorycohenvideos@gmail.comhttps://pypi.org/project/democracyhttps://www.rubygems.org/gems/democracyhttps://www.rubygems.org/gems/computershttps://www.rubygems.org/gems/freespeechhttps://www.rubygems.org/gems/linuxhttps://www.rubygems.org/gems/stringhttps://www.rubygems.org/gems/unixhttp://www.github.com/gregoryc/democracyhttp://www.rubygems.org/gems/democracyhttps://pypi.org/project/democracyhttps://cboard.cprogramming.com/c-programming/181160-hi-i-have-created-some-work-i-think-will-really-valuable-community.html?s=589b5504cd0e3c2dc90e9abd8b66906fhttps://www.youtube.com/@LawrenceStevensMusichttps://www.github.com/gregoryc/democracy