🔧 AI Nachrichten Debian is Voting on Whether to Allow AI-Assisted Contributions(23.08.2026 um 09:34 Uhr)
🔧 AI Nachrichten The Linux Kernel Is Approaching 2,000 CVEs Per Release(29.08.2026 um 20:00 Uhr)
⚠️ Malware / Trojaner / VirenCitrix Adds a Linux-Powered Escape Hatch For Compromised Windows PCs(30.08.2026 um 17:34 Uhr)
🔧 AI Nachrichten Debian is Voting on Whether to Allow AI-Assisted Contributions(23.08.2026 um 09:34 Uhr)
🔧 AI Nachrichten The Linux Kernel Is Approaching 2,000 CVEs Per Release(29.08.2026 um 20:00 Uhr)
⚠️ Malware / Trojaner / VirenCitrix Adds a Linux-Powered Escape Hatch For Compromised Windows PCs(30.08.2026 um 17:34 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 4 Min Lesezeit
0

I Built My First CLI Tool - GoVibes

↗ Quelle (dev.to)
🗣️ Stimme:

, an open-source GUI program for simulating mechanical keyboard sound, is a program I've been using for the last 3-4 years. But since I switched to Linux, it stopped working(Wayland security issue). The program is essentially a keylogger that plays a keyboard sound on each key press. Moreover, Mechvibes is built with Electron.js, so it's memory intensive(150 MB). The CLI I built only has a memory footprint of around 6 MB.



That said, I'm quite new to Go, as well as the Linux (and CLI tool) world. Since I switched from Windows to Linux, I find myself trying to accomplish a lot of things with the terminal. That also led me to try out NeoVim, which blew my mind and changed the way I look at terminals.




Do you know GoVibes is 100% developed using NeoVim?🤷‍♂️




While Go is known for its simplicity like C, coming from the Javascript/Frontend world, I struggled with it. I think mainly for two reasons: firstly, I don't truly know programming(I only know framework(React) and for the last 2 years, I've been writing memorized boilerplate code.); secondly, Go is my second language and web/js development have made me inflexible at picking new languages. So learning Go was like a paradigm shift for me, which exposed a lot of my insufficiencies and skill issues. And that's clearly apparent if you check out the . I tried it and because of the Wayland security issue, it failed on my Fedora Linux. Also, I had to kill the CLI program if I wanted to change the keyboard sound flavour. Coming from the frontend world, I'm biased toward pretty UIs, and I wanted the same experience in my CLI tool. So, to precisely highlight those issues, I build GoVibes.



The core of the program is simple. There's a continuous loop that's running in a separate channel, and it listens for the incoming keyboard input event. Based on the input event, the program plays a section from the audio file. What part to play, is defined in a separate config.json file. Now there can be multiple input devices in your system. So, the program also lists all the available input devices and you can choose what channel it should listen to. What I found interesting was, as I'm new to Linux, treating devices as files like objects. And, so all I had to do to mount a device was to open it as a directory.




CODE
file, err := os.Open("/dev/input/event2")






Most of the development time went into making GoVibes interactive and look pretty. Perhaps, that effort could have been better spent on making it cross-platform and functional, but again, I'm its sole user, so it doesn't matter. Anyway, I found ) which makes it super easy to build a pretty, user-friendly TUI.



hxh reference - Bungee Gum possesses the properties of both rubber and gum.



Overall, it was a good learning experience.




  • For the first time, I built something other than a CRUD.

  • This time around, I actually learned some Go(file handling, go routine, channels, context, WaitGroups),

  • Got a confidence boost exploring new things. Figuring out bubble tea felt foreign and overwhelming, but once it clicked, I envisioned my portrait in the Hall of Great Programmers.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Bits und so #1021 (Passwort für Laufwerk)
1 Quelle
Bits und so #1022 (Wie Weißbier)
1 Quelle
KI-Agenten entdecken deutsches Wiki als Kommunikationskanal
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten I Built My First CLI Tool - GoVibes

Thematisch verwandte Begriffe: Built, First, Tool, GoVibes · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...