Playing life in easy mode. Writing software using ChatGPT (Actually good results). [Essay?]
Introduction:#
Lately, my journey into crafting small utilities for Unix systems has been a fascinating exploration. Admittedly, my proficiency with Regular Expressions, sed, awk, and the like has always been a bit lacking. That’s when I stumbled upon a game-changer: OpenAI GPT-3.5. Little did I know how far AI had advanced until I began harnessing its capabilities. With minimal effort on my part, I found myself effortlessly crafting software. All I needed to do was provide the PseudoCode and elucidate the logic behind the operations to ChatGPT. Soon enough, I had a repository of handy scripts at my fingertips, courtesy of ChatGPT. [Link to GitHub repository]
Among the array of tools ChatGPT assisted in creating, there are a few standout mentions. Take TTTS, for instance, a Text To Speech CLI program seamlessly integrating Tiktok’s TTS voices, sans the hassle of API keys. Thanks to ChatGPT’s ingenious snippet handling the cache, the program operates smoothly.
Another gem in the collection is Pelf. Picture this: a compact CLI program capable of bundling a dynamically linked program into a single file. For instance, I consolidated my Window Manager, Dmenu, and ST (Suckless’ terminal) into a single binary using Pelf. The result? A streamlined setup where my Window Manager functions flawlessly from a single file.
Then there’s BigDL, a transformative rewrite of my CLi tool/script called BDL (Binary Downloader). BigDL and its precursor manage statically linked binaries akin to a package manager, boasting an extensive repository of over +957 binaries for both Amd64 and AArch64 architectures. With ChatGPT leading the charge, BigDL not only streamlined the process but also served as a crash course in Golang, a language entirely new to me. [Link to BigDL GitHub repository]
Delving Deeper:#
Reflecting on my experience with ChatGPT, it’s worth noting that while it’s undeniably a powerful tool, knowing when to step in is crucial. ChatGPT isn’t an all-knowing oracle; it requires adept guidance from the human operator. It serves as an invaluable resource for embarking on simple projects and learning widely-used languages, yet its proficiency varies across different domains. For instance, tackling C or mathematical problems may prove challenging, while it thrives in environments like Python.
Comparing ChatGPT with its AI counterparts, it emerges as a polished contender. However, there exist uncensored AI models like Mixtral, yielding superior outcomes with heightened efficiency. The landscape of AI tools is ever-evolving, offering a myriad of possibilities for innovation and exploration.
Conclusion:#
As we navigate the frontier of AI, let’s tread cautiously, mindful of our roles as stewards of this technology. Embrace its potential as a stepping stone for personal growth and innovation, while recognizing its limitations. Let’s cultivate a future where humans and AI collaborate harmoniously, each contributing their unique strengths to the greater tapestry of progress. //NOTE: ChatGPT really tried to guarantee its own survival in the future. LOL.
In closing, let’s embark on our respective journeys with a sense of wonder and humility. May we stay grounded, cherish our sanity, and strive to lead lives filled with purpose and fulfillment. The future is bright, let’s seize it with unwavering optimism and determination.
Links for the interested ones:
My “Handyscripts” repository on Github. My CLi tool written in Go: BigDL (Its only 3 days old. And I am quite new to Go) // Try BDL too! Its more mature, it only requires either Wget or Curl to work, not even Bash.
HuggingChat, open AI platform that provides the newest AI models for free.
Free Image/Video generation, LLMs and more. Its a free platform that AI researchers use. // It is also super easy to abuse, for example you can write an unofficial API/Scrapper for use with, let’s say: KoboldAI, an LLM that is trained on novels and literary text: https://github.com/aandrew-me/tgpt LLMs(chatGPT and others) in the terminal without API keys {Written in Golang}
Entry before ChatGPT:#
Introduction:#
Recently I’ve been doings lots of small utilities for Unix systems, since I am quite bad with Regular Expressions, sed, awk, etc and I only know a handful of snippets that I use regularly I signed up for OpenAI GPT3.5, I didn’t know AI had become this good, soon enough I had found a way to write software, without much effort, I only had to produce the PseudoCode and explain to ChatGPT the logic behind the order of operations/things, I only had to convince it and supervise it, so, here are a few things AI helped me write or wrote entirely: https://github.com/xplshn/Handyscripts | 9 scripts in the repo were made by ChatGPT, and now I use those daily as CLI tools.
Some notable mentions are TTTS, a Text To Speech cli program that uses Tiktok’s TTS voices, and you can select one of all the ones they offer, no API key required. ChatGPT wrote the snippet that handles the cache.
There is also Pelf, its a small CLi program that packs a dynamically linked program into a single file, so for example, I installed SpectrWM (My Window Manager), Dmenu and ST (Suckless’ terminal) and made a binary that contains the Window Manager, Dmenu and ST inside, then I uninstalled all those and just moved the binary generated by Pelf to /usr/local/bin, and things worked like expected, my Window Manager was a single file, and as long as things included in that file were executed from the window manager, Dmenu and ST would work.
I also made BigDL, which is a rewrite of my CLi tool/script called BDL, which stands for Binary Downloader, BDL and BigDL are cli tools which manage statically linked binaries, much like a package manager, but for binaries downloaded from a Github repo which contains more than +957 binaries for both Amd64 and AArch64, the binaries are updated regularly and compiled against Musl Libc, so they should run everywhere, BDL & BigDL can install, remove, show info about a binary, or search for binaries too, also, one superpower they have is that they can download a binary to cache (/tmp/bigdl or /tmp/bdl) and run it from there without installing, and the cache cleans up after you have cached 40 or more programs, it also cleans up corrupted data and the Go version makes efficient use of the Garbage Recollector. BigDL was a project in which ChatGPT led most of the work, it literally told me what to write, what to use and I only had to sketch some things and ideas for it to literally teach me Golang, which is a language I never used. https://github.com/xplshn/bigdl
Overall, the experience with ChatGPT was solid, however I’d like to mention that knowing When to Give Up is a skill, a very important one, ChatGPT will not solve everything, in fact, its pretty stupid and needs a good leadership coming from the Human that is using the AI. Its definitely a good stepping stone, a good resource you can use to study/learn by doing simple projects in widely known languages, from experience, I can say that making it write C is difficult, and that it is not good at math, it also is very driven towards new/“modern” technologies like Python and other BS.
Comparing ChatGPT with other AI tools I can say that its the most polished one, but there are some uncensored AI models that produce better outcomes and are much more efficient. Like for example Mixtral, which you can try here: https://huggingface.co/chat/.
Conclusion: Let’s see what the future holds for us mere humans, let’s not get ahead of ourselves, stay safe, sane, and live a happy life that you can be proud of when you look back!