-
6 votes
-
Writing a Bash builtin in C to parse INI configs
7 votes -
kalua: an OpenWrt extension for building large mesh-networks
7 votes -
bashdb: a gdb-like debugger for Bash
10 votes -
How to write idempotent Bash scripts
7 votes -
Post Apocalyptic Computing: Or, the hundred year computer
15 votes -
Pure Bash bible: a collection of pure Bash alternatives to external processes
13 votes -
ShellCheck: a static analysis tool for shell scripts
25 votes -
Shellharden: a tool to semi-automate the rewriting of scripts to ShellCheck conformance
7 votes -
x86 assembler in Bash
15 votes -
FireHOL: an iptables stateful packet filtering firewall for humans
4 votes -
The future is Niri
53 votes -
EasyBashGUI: a library of Bash functions to simplify adding GUIs to scripts
17 votes -
Amber: a high-level programming language that compiles to Bash
11 votes -
shite: the little hot-reloadin' static site generator from shell (assumes Bash 4.4+)
22 votes -
pass: the standard u̴n̴i̴x̴ Bash password manager
17 votes -
xz/liblzma: Bash-stage obfuscation explained
9 votes -
Bashible: an Ansible-like deployment and automation tool written in Bash
7 votes -
Steam Tinker Launch: a GUI Bash script for configuring custom launch options and companion programs for Steam games
9 votes -
pseudo3d: a raycaster in Bash
12 votes -
The history of S.u.S.E.
7 votes -
Bash Line Editor: a line editor written in pure Bash with syntax highlighting, auto suggestions, vim modes, etc
11 votes -
Yoda: a compiler that translates Forth code into Bash functions
12 votes -
HTTP.sh: a web framework written entirely in Bash
20 votes -
ctypes.sh: a Bash plugin that provides a foreign function interface directly in your shell
10 votes -
Ba-Bash-ka: a native Clojure interpreter for scripting, designed to leverage Clojure in place of Bash
10 votes -
A Slack clone in 5 lines of Bash
20 votes -
My thoughts on writing a Minecraft server from scratch (in Bash)
25 votes -
Some surprising code execution sources in Bash
11 votes -
Today I learned that Bash has hashmaps
23 votes -
nb: a command-line and local web note-taking, bookmarking, archiving, and knowledge base application, written in 119,172 lines of Bash
16 votes -
OpenGL bindings for Bash
21 votes -
Bashly: A command-line application (written in Ruby) that declaratively generates feature-rich Bash scripts
20 votes -
Bash++: Bash with classes
13 votes -
Linus Torvalds weighs in on the Rust for Linux controversy
51 votes -
Seeking suggestions for Windows virtual desktop (for Photoshop schoolwork)
Hi Tildes community, I'm seeking your suggestions for spinning up Windows virtual desktop. Allow me to set the context... My offspring is in second semester of their first year of university, and...
Hi Tildes community,
I'm seeking your suggestions for spinning up Windows virtual desktop.
Allow me to set the context...
My offspring is in second semester of their first year of university, and needs to use Adobe Photoshop for one of their classes this semester. They don't use a regular laptop, and have been doing quite well at uni. with their beefy Ipad. While they have used photoshop so far on their ipad, there are some growing pains. Of course, they have access to super beefy desktop Apple Macs at their school's computer lab, but its a pain to get usage of them for a few reasons. At home, all my machines are linux except for my partner's which is an old clunker Windows laptop - which i am in progress of migrating themn away from that Windows machine towards linux laptop...Hence, I don't really have a solid, modern enough machine for my offspring to load Photoshop onto.Then, I thought, hey, maybe i can spin up some Windows virtual desktop somewhere for my offspring to use photoshop on...Its only needed for about 10 or 12 weeks remaining this semester...and they only need to use it once per week for each week's assignments. I feel like as long as the virtual windows machine is beefy enough to suppoort photoshop workloads, it can get them through the semester...and then in summer i can decide if I need to buy them an actual laptop (like an Apple laptop, etc.).
So, may i ask of you dear Tildes community members...Does my approach make sense (of trying to use a windows virt. desktop)? And, if so, are there any recommendations for which provider to use, and how to spin these up? Like, should i try something via AWS or Google Cloud or Azure? Or, should i not even consider this virtual windows approach? I'm open to hearing any/a ll recommendations. If you have links to share for me to research, or if you actually wrote your own blog post on similar topic for example, i'd love to hear it! Thanks in advance!!
Edit: 2025-02-24 UPDATE: Wanted to update folks on where i am on this...After reviewing these comments, researching some more both online and offline, etc...I arrived at the decision of biting the bullet and just buying my kid an Apple Macbook laptop. I want to thank you all for all your greet feedback and suggestions! Thanks so much Tildes community!!!
15 votes -
Resigning as Asahi Linux project lead
38 votes -
Fish 4.0: The Fish of Theseus
24 votes -
Crashing a server by charging a vape battery
While I consider this resolved at time of posting, this is one of my weirder, more unexpected tech issues I've run into and I thought y'all might enjoy it. I'd been having issues with my (Ubuntu)...
While I consider this resolved at time of posting, this is one of my weirder, more unexpected tech issues I've run into and I thought y'all might enjoy it.
I'd been having issues with my (Ubuntu) server where its services were unavailable, I couldn't SSH in, and USB devices plugged in after the issues started weren't connecting (mouse LED would light up, couldn't toggle keyboard locks or interface computer with the devices). These issues were becoming a near daily occurrence.
So after the most recent incident I decided to watch it boot. After grub, it would just hang at a black screen. So I opted for the recovery mode and after waiting some minutes for services to time out, I was given a terminal and used that to check my devices, sensors, etc and all were reading fine.
Frustrated, I started reviewing what else could have possibly changed with my setup, and I found that change in my hand. I use my server's front USBs as a low current charger and had recently got a new vape battery that was charging at that moment.
I unplugged the battery, rebooted, everything was fine. Plugged the battery in, everything locked up again immediately.
I had been using a spare cable, it had data wired. Swapping for the included power only cable, and no issues.
While I'm curious as to what exactly is happening and why, I'm satisfied enough concluding it is a cheap vape (I mean, I'm having to charge the sucker near daily after all) that is transmitting junk over data and the OS doesn't handle it appropriately. I'll pull logs or do another couple tests if other folks are curious as well though.
Oh, and the battery is a Bear Rootz Sol. Come to think of it, my other worst battery at holding a charge was also a Bear Rootz.
7 votes -
Fedora moves towards Forgejo
18 votes -
Auto-mute mode in ALSA might be the reason you can't use your speakers with headphones plugged in
Problem: I recently switched back to a desktop as my main computer, and was surprised to learn I couldn't use my speakers if my headphones were plugged in. I don't use a desktop environment (just...
Problem:
I recently switched back to a desktop as my main computer, and was surprised to learn I couldn't use my speakers if my headphones were plugged in.
I don't use a desktop environment (just Sway), so I rely on pavucontrol as a GUI to control my audio.
I could use my headphones just fine while my speakers were plugged in, but when I switched to my speakers in pavucontrol's interface, they would not output audio. My headphones would stop playing (as expected), and pavucontrol's little "dancing bar" would indicate that the speaker's port was processing an audio signal (as expected), but no sound was actually being produced.
Solution:
The culprit ended up being something called "Auto-Mute" in ALSA. To disable auto-mute mode, you can either:
- Run the command
amixer sset "Auto-Mute" unmute
in a terminal - Run the command
alsamixer
in a terminal
2.1 PressF6
and select your sound card
2.2 Ensure you're viewing playback settings by pressingF3
2.3 Move the item selection over until you've selected auto-mute mode
2.4 Press the down arrow key to switch it to "Disabled"
That fixed my issue.
For me, auto-mute mode stayed disabled after a reboot. You might need to run the command
alsactl store
to make the configuration persistent though. The Arch Linux Wiki article on ALSA has a "tips and tricks" section that goes into more detail:https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#Tips_and_tricks
17 votes - Run the command
-
Desktop icons are surprisingly hard!
30 votes -
Linux Mint desktop environment recommendations?
I am planning on switching to Linux Mint as my first Linux daily driver. I know someone who's used Cinnamon (the default) and it works fine, but I was wondering if the other options officially...
I am planning on switching to Linux Mint as my first Linux daily driver. I know someone who's used Cinnamon (the default) and it works fine, but I was wondering if the other options officially provided (Xfce and MATE) are any better? I have a little bit of (pretty trivial) GNOME experience on Ubuntu, but I don't really understand the pros and cons of different DEs. I've used KDE on the Steam Deck, and I hear that's a popular one, but can I get that on Mint?
12 votes -
Several Russian developers lose kernel maintainership status
40 votes -
Slowly booting full Linux on the intel 4004 for fun, art, and absolutely no profit
10 votes -
Best way to voice call and screenshare with audio on Linux?
One thing I really enjoy is being able to share my screen with family and friends to watch movies together or share gameplay. On Windows, you can do this trivially with Discord. On Mac, you can do...
One thing I really enjoy is being able to share my screen with family and friends to watch movies together or share gameplay. On Windows, you can do this trivially with Discord. On Mac, you can do this on Discord if you install some software they recommend. On Linux, I believe it's impossible with Discord unless you use a third party front end, which I'd rather not do. Zoom has screenshare with sound, but I don't know what the Linux support is like, and it's capped at 40 minutes unless you pay.
Are there other messaging services that have voice call and audio screenshare support on Linux, no unofficial front end necessary, that's also available on Windows and Mac? It's ok if it requires some setup. Ideally it would be a group chat as opposed to streamed publicly on a site like Twitch.
11 votes -
Encrypted Root with LUKS and Opal
6 votes -
Frog Protocols announced to try and speed up Wayland protocol development
16 votes -
Slowly booting full Linux on the intel 4004 for fun, art, and absolutely no profit
18 votes -
Share your personal dotfile treats and Unix tool recommendations
I am currently preparing for a new job and cleaning up my dotfile repository. During the process, I had the idea that it would be nice to create a list of amazing tools, aliases, functions, and...
I am currently preparing for a new job and cleaning up my dotfile repository. During the process, I had the idea that it would be nice to create a list of amazing tools, aliases, functions, and recommendations together.
I will start.
First, here is a list of nice tools to
apt-get install
orbrew install
that I can wholeheartedly recommend:nvim
is just an amazing text editor.fzf
is a very good fuzzy finder util. For example, you can quickly find files with it.eza
is a goodls
replacement (and the successor ofexa
).bat
is a great replacement forcat
with nice integrations and many options.stow
is great for managing your dotfiles. Thanks to @TangibleLight for telling me about it some while ago. I really love it.tmux
is a terminal multiplexer, i.e. you can have many sessions in one single terminal window. It's easy to use and super helpful. (When on a mac, I prefer iTerm tabs, though.)nvm
is practically a must if you are working with Node.glow
is an excellent markdown reader.tldr
is a niceman
replacement. (You must runtldr -u
after installing it to update available texts.)z
, an amazing tool for switching directories quickly.
Also, I can recommend Oh My ZSH! which I have been using for years.
Here is a small list of aliases I enjoy (I have 100+ aliases and I tried to pick some others may enjoy as well):
# Serve current dir alias serve="npx serve ." # What's my IP? alias ip="curl --silent --compressed --max-time 5 --url 'https://ipinfo.io/ip' && echo ''" # This should be the default alias mkdir="mkdir -p" # Nice git helpers alias amend="git add . && git commit --amend --no-edit" alias nuke="git clean -df && git reset --hard" # Make which more powerful which='(alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot' # This saves so many keystrokes, honestly alias -- +x="chmod +x" # Turns your path into a nice list and prints it alias path='echo -e ${PATH//:/\\n}' # Map over arguments and run a command # Usage: map <command> # Example: ls | map cat alias map="xargs -n1"
And, finally, here are some fun functions:
# Get cheat sheets for almost anything! # https://github.com/chubin/cheat.sh cheat() { WITH_PLUS=$(echo $@ | sed 's/ /+/g') CAT_TOOL=$(command -v batcat || command -v bat || command -v cat) curl "cheat.sh/$WITH_PLUS" | $CAT_TOOL } # Send everything to /dev/null nullify() { "$@" >/dev/null 2>&1 } # Create a new dir and enter it mk() { mkdir -p "$@" && cd "$_" } # Create a data URL from a file # Source: https://github.com/mathiasbynens/dotfiles/blob/master/.functions data-url() { local mimeType=$(file -b --mime-type "$1"); if [[ $mimeType == text/* ]]; then mimeType="${mimeType};charset=utf-8"; fi echo "data:${mimeType};base64,$(openssl base64 -in "$1" | tr -d '\n')"; }
74 votes