commandline

1512 readers
31 users here now

founded 1 year ago
MODERATORS
26
27
 
 

Announcing bgammon.org (online multiplayer backgammon)

I have developed an entirely free and open source multiplayer backgammon service.

You can try it out by visiting https://bgammon.org or by connecting via SSH:

ssh bgammon.org -p 5000

I would very much appreciate help with testing and feedback from anyone who knows how to play backgammon, or is interested in learning. The rules of backgammon are available here:

https://bkgm.com/rules.html

The password prompt is currently non-functional, and private lobbies are not yet available. Otherwise, the service is ready to test out, particularly the accuracy of the backgammon simulation. Because there are no accounts yet, everyone is logged in as a guest.

A terminal-based client is available, and a graphical client is planned. The terminal-based client is available over the web at the link above. This is accomplished by using GoTTY.

Move pieces by dragging them or by clicking a source space and then a destination space. You may make multiple moves by dragging a checker directly to its final destination.

The source code is available here: server & client.

Feel free to contact me directly at trevor@rocket9labs.com with test results and feedback.

28
1
submitted 1 year ago* (last edited 1 year ago) by christos@lemmy.world to c/commandline@programming.dev
 
 

cross-posted from: https://lemmy.world/post/4793705

https://gitlab.com/christosangel/wordy

Wordy is a word spelling puzzle.

You have 6 guesses to find out the secret 5-letter word.

If a letter appears green, that means that this letter exists in the secret word, and is in the right position.

If a letter appears yellow, that means that this letter exists in the secret word, but is in NOT the right position.

If a letter appears red, that means that this letter does NOT appear in the secret word AT ALL.

There is another project that might interest you:

https://gitlab.com/christosangel/wordle-solver

UPDATES: Play menu became simpler, show LETTERS functionality was introduced, some improvements in show STATS and show WORD LIST. Also, word list file is now configurable.

29
 
 

Spelion is a word spelling puzzle.

https://gitlab.com/christosangel/spelion

Using just the given 7 letters, you are called to form as many words as possible.

Rules

  • The word that you form must include the center letter.
  • You don't have to use all the other letters.
  • Minimum length of the word that you create is four letters.
  • Any given letters can be used more than one time in a word.
  • The word list is contained in /usr/share/dict/words, minus words with upper-case letters, words with apostrophe and words containing letters with accent marks.

Name

The name SPELION was just a made up word with letters that could form the root spel(l), while at the same time these letters could appear in a (recursive) Spelion puzzle. The name stuck when I found out that by pure chance Spelion was also an anagram of the greek letter epsilon.

30
 
 

Wouldn't it be nice to have, say, a Mastodon TUI that could show images in-line? A lot of terminals are capable of that.

Here is an interesting demo showing 3d rendering in the terminal: https://github.com/MasFlam/notcurses-rend3d

31
 
 

If you haven't heard of it before, nutshell is an alternative to bash/zsh: https://github.com/nushell/nushell

32
 
 

Hello Lemmy,

Bluetuith is a TUI based bluetooth manager for Linux, that aims to be an alternative to most bluetooth managers, and can perform bluetooth based operations like:

  • Connection to and general management of bluetooth devices, with device information like battery percentage, RSSI etc. displayed, if the information is available. More detailed information about a device can be viewed by selecting the 'Info' option in the menu or by clicking the 'i' key.

  • Bluetooth adapter management, with toggleable power, discoverability, pairablilty and scanning modes.

  • Transfer and receive files via the OBEX protocol, with an interactive file picker to choose and select multiple files.

  • Handle both PANU and DUN based networking for each bluetooth device

  • Control media playback on the currently connected device, with a media player popup that displays playback information and controls.

This release contains the following new features:

  • Adapter status display, which will dynamically show whether the adapter is in any of the powered/discoverable/pairable/scanning states

  • A HJSON based configuration format, with customizable keybindings and optional config file generation

  • Popup resize and mouse-handling improvements. Each popup can now be closed by pressing the 'X' button

I hope you enjoy this release, and any feedback is appreciated.

33
 
 
34
 
 

btw linux only, no windows support planned at all, maybe works in macos, not tested im not rich

also uses the invidious api instead of the official one cuz easy

oh sry its youtube-tui https://siriusmart.github.io/youtube-tui/ the image overwrote the url

35
36
 
 

Hello Lemmy,

InvidTUI is a cross platform Invidious client, which can:

  • Browse, play and download YouTube audio and video
  • Create, save and open m3u8 playlists
  • Interactively switch between instances
  • Change video and album art resolutions
  • View and manage user feed, playlists and subscriptions

Among many other features.

In addition to the above, it also has a menu system, so that users need not remember all the keybindings, and instead select the required option from the menu to perform the desired operation.

This release contains the following new features:

  • A HJSON based configuration format, where you can define custom keybindings as well
  • Faster JSON parsing, thanks to jsoniter
  • Create new folders and rename items within the filebrowser
  • Automatically or manually configure the download directory from within the application
  • Change thumbnail quality

I hope you enjoy this release, and any feedback is appreciated.

37
38
 
 

I've developed my first Rust program with some help of ChatGPT. The result just got its first release.

You can configure filesystems to host backup image files of devices in a json config file. You can specify the amount of backups for each device, preserving a static size and count.

Running dd_backup run will initiate the backup process, creating backups for all connected filesystems and devices which are configured.

Has some safety features, like checking fsck -n before writing or calls sync before unmount. Never be afraid of confusing if= and of= anymore when running dd ๐Ÿ™ˆ.

dd_backup is designed to run on Linux systems, and you can also utilize it on a booted Linux live system to back up your Windows devices or others.

See the readme for more information.

39
 
 

One of my favorite command line tips: you can add 'comments' full of keywords to shell commands, which makes searching your command history easier.

> obscure-cmd --with-weird-flags -Qdt # searchable comment keywords

Presumably you're using something like fzf for history search, but this is still useful without it.

This is especially useful for cli tools with obscure names/flags, or when you can't remember where a particular log file is.


Some examples from my history:

tail awesomewm logs:

tail -f ~/.cache/awesome/logs -n 2000 # tail follow log awesomewm

fix linux clock drift:

sudo ntpd -qg && sudo hwclock --systohc # fix linux clock time drift

copy ngrok public url to clipboard:

curl -s http://localhost:4040/api/tunnels | jq ".tunnels[0].public_url" | tr -d '"' | tr -d '\n' | xclip -selection clipboard -i # fetch ngrok url uri, copy to clipboard

sign ssh and gpg, then refresh the emacs keychain env:

keychain --agents gpg,ssh --eval id_rsa <some-gpg-id> && emacsclient -e '(keychain-refresh-environment)' # sign ssh,gpg password, refresh emacs env

Another gpg one:

git config commit.gpgsign false # disable gpg signing for this repo

Pacman/pamac commands, like listing orphaned packages:

pacman -Qdt # list orphans
pamac list -o # list orphans

xprop - super useful for debugging window management, for some reason i can never remember what it's called:

xprop # mouse click window x11 linux describe info client helper whateveritscalled

Some helpers from my clawe project:

bb --config ~/russmatney/clawe/bb.edn -x clawe.sxhkd.bindings/reset-bindings # reset sxhkd bindings
bb --config ~/russmatney/clawe/bb.edn -x clawe.restart/reload # reload clawe

Aliases come to mind as well - in some cases that might be a better fit. I like this because it's so low-lift.

40
41
 
 

I need help with wget and I hope to find it here. My goal ist to mirror a site (the soon to be replaced website at work) and I tried to do so with wget. I am totally able to mirror the pages and filter out the unwanted file types.

My problem is this: on several pages (e.g. /internal/forms) there are linked files like this /files/12345/form1.docx. So wget doesn't save the file in the folder internal/forms but creates a new folder files/12345.

I understand why this happens but I really need the file in internal/forms and I can't find a solution - is there any way to achieve that? Thank you so much for your help!

42
 
 

Despite the pithy title, this is a unique and educational perspective about creative things you can do with bash.

43
 
 

cross-posted from: https://lemmy.world/post/1027203

cross-posted from: https://lemmy.world/post/961924

A script in bash in combination with a script in C can help you solve a sudoku puzzle in a png file.

https://gitlab.com/christosangel/sudoku-solver-ocr

You can see the script in action in this video.

The main dependency is tesseract OCR, responsible for the oprical character recognition.

Another important dependency is imagemagick, responsible for the necessary image manipulation.

The file selection of the png image is done with zenity.

Feel free to give your feedback.

44
 
 

cross-posted from: https://lemmy.world/post/530920

Magic-tape is an image supporting fuzzy finder command line interface YouTube client.

https://gitlab.com/christosangel/magic-tape

Image rendering can be done with the use of ueberzugpp, ueberzug, kitty terminal or chafa.

With magic-tape, through the main menu, the user can:

  • Browse videos from subscriptions.

  • Browse through trending video feed.

  • make a video search, using keywords or phrases.

  • Watch a previously watched video (watch history).

  • Browse videos from a subcsribed channel.

  • Watch a liked video.

  • Repeat the previous selection.

  • Repeat a previous search (search history).

  • Watch/download video/audio content, in various formats.

Through the miscellaneous menu the user can

  • Set up Preferences (configuration).

  • Like / Unlike a video.

  • Synchronize the above actions with their YouTube account.

  • Import subscriptions from YouTube.

  • Subscribe to/ Unsubscribe from a channel.

  • Clear their watch/search history, liked videos, thumbnail cache.

spoiler


45
 
 

Hello Lemmy,

InvidTUI is a cross-platform Invidious client, which can:

  • Play/download audio and video
  • Search and view videos, playlists and channels, with comments and history support
  • Manage your track queue, and view track information with image
  • Save queue into a playlist M3U8 file, or open/edit existing playlist files
  • Authenticate with the selected instance, display user feeds, create/edit playlists and manage subscriptions.

To facilitate the user experience, it also has a menu bar, to display menu options and their keybindings.

Any feedback is appreciated.

46
47
48
 
 
49
 
 

Any extra tips or tricks are welcome!

Yesterday I learned that set -x enables trace for a bash, sh, or zsh script and prints the trace to the terminal.