I'd say GIMP for photo editing would be a good one to learn. It's come in handy in a pinch both at home and at work when I've needed something done up real quick.
Ask Lemmy
A Fediverse community for open-ended, thought provoking questions
Rules: (interactive)
1) Be nice and; have fun
Doxxing, trolling, sealioning, racism, toxicity and dog-whistling are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them
2) All posts must end with a '?'
This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?
3) No spam
Please do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.
4) NSFW is okay, within reason
Just remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com.
NSFW comments should be restricted to posts tagged [NSFW].
5) This is not a support community.
It is not a place for 'how do I?', type questions.
If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.
6) No US Politics.
Please don't post about current US Politics. If you need to do this, try !politicaldiscussion@lemmy.world or !uspolitics@lemmy.world
7) No Hit-and-Run questions.
Please don't delete your post for no apparent reason. If you plan on deleting a question later, say so in the post, or if you feel that you have a good reason to remove it, message a mod beforehand. It's not fair to the ones who took their time to answer, and it's not in the spirit of the community.
Reminder: The terms of service apply here too.
Partnered Communities:
Logo design credit goes to: tubbadu
Ansible
FreeCAD
I came here to recommend frecad too!
Second this. Not because I have experience in it, but because I'm learning it this week so I could have a friend 3D print a part for my car, as I'm deleting some original equipment and now need something that doesn't exist as a spare part.
Yes def freecad its really fun to fuck aound in
It is tradition (and fun) to start your Blender journey with the Donut Tutorial.
Meshtastic (Software and hardware).
Learn Krita. David Revoy, artist of Pepper and Carrot, has a ton of great tutorials on using it.
“Krita is a professional FREE and open source painting program. It is made by artists that want to see affordable art tools for everyone.”
Docker and Docker Compose. Once you know that, you'll be able to self host almost any FOSS.
Take it one step farther and learn podman and quadlets. It's like learning docker/compose, but it's also rootless if you do it from userspace.
Docker can also be run rootless, though not by default.
True, but I personally don't see the point in adding a bunch of new packages to a system to make it work the way another system does when the migration process is minimal.
Using podman compose, I've migrated multiple docker compose to rootless with basically no required refactoring until I made it a quadlet so it would always just run.
I know you said software, but I would like to suggest a musical instrument. They still require learning a new language and typically provide a huge level of self satisfaction. A cheap keyboard or guitar can provide literally thousands of hours of study.
Take up the synth, but using software on a computer instead of a keyboard. Learn how to write MIDI. 😌
Or get a keyboard (or digital piano), but hook it up to your computer via MIDI and then compose music with it.
It's a lot nicer using a real keyboard than trying to input notes with a mouse.
libreoffice if your using excel.
CRRCSim (RC plane simulator)
Learn how to slope-soar a glider.
Best with the photo mountain scenery added in.
In many distro repositories too.
Godot. Start with an idle game, move onto more. Just don't make a horror game, way too many of those and a lot of them are bad.
OpenSCAD. 3D modeling as code.
I've gotten a lot out of it, and their tutorial is excellent.
Oh yes... https://www.youtube.com/watch?v=uk3A41U0iO4 (keep watching. Is relevant.) [... and oddly relevant to my earlier suggestion list that also included emacs]
I really like openscad! It maps well to how I think through modeling a part. I was just using it yesterday
Bash. If you use Linux.
OpenFOAM. If you ever want to figure out the aerodynamic qualities of a cow. This may take more than a weekend.
sunvox
Kubernetes (ala k3s) you can make any collection of computers a cluster and play with automation of apps and services
KiCAD play with circuit board design with FOSS.
FPGA programing! Tons of use case for when you need near line speed but can't afford the time and money it takes to build a full ASIC.
Latex is worth knowing, its most commonly used for academic papers, but it opens up a whole world of scripting automated documents. But, to make it really interesting, throw in tikz and/or pgfplots for some interesting power tools. Tikz does A LOT, and is really powerful. But can definitely be overwhelming.
If all you want is to make documents and you don't have the constraints of academic publishing, I would rather recommend Typst. It's way more modern and less painful.
My suggestion already submitted was Blender, but any of these ideas require a purpose. I don't think you truly learn an application or language (even human languages!) if you don't have something you're trying to do with it. Even music (it's a language), you can learn how to play something, how to put together notes and sounds, but you really start figuring out how to do things when you have a need to accomplish.
I would say 90% of my coding and application knowledge comes from decades of having a need or inspiration to do something, and having to find the right tool and learn how to use it to make my idea become something (even if it doesn't get finished). When that purpose or desire disappears (for whatever reason) I stop wanting or caring about learning more about the tool I was using to do it with.
Your initial request seems to point to a different style of learning, wanting to do it for the journey itself. That's cool, I just wonder if you had a reason for doing it, would it make the effort more fun and worthwhile.
- MuseScore 4 is a (the!) free music notation software. It is genuinely fantastic. It's also a lot of fun, if you know some notation basics and want to play around.
- Darktable is a Raw photo editor in the vein of Lightroom. Except where lightroom is sleek, polished, user friendly and Adobe (🤮), Darktable is FOSS, and clearly so both in the design and functionality: it could easily make a UX designer cry, but if you're willing to give it a try, there does not exist a more potent raw editor on this earth. Lightroom is a toy in comparison. (Now whether you need that is another question... But I've been using it for more than 10 years, and am still finding new, incredibly useful sub-menus, drop-down contexts on hidden sliders,...)
- rmpc is a really cool TUI music player
Obsidian (Free but not OSS) and PKM. Might help you improve how you build your knowledge, or might just trap you in an endless hunt for the perfect system.
NixOS if you’re looking for an endboss kinda thing.
One thing I want to learn which seems important to me career wise is HEC-RAS, a hydrological River Analysis Software. I think it's free?
From this you can build your own predictions of when flooding (or drought!) will occur in your local area
As a professional water engineer it seems unfathomable to me that someone would learn HEC for fun, but it's really cool that you want to! Yes, it is free and maintained by the US Army.
Get your finances in order with Firefly III and Waterfly III (Android app, available in F-Droid)
I like numbers and was really tempted to go all in into this rabbit hole but this ends up being a lot of work and stress if you try to maintain it manually. It'd be ideal to be able to automate imports from your banking apps but those don't really exist, or depend on some possibly sketchy 3rd party services that I dont trust with my finances
GIMP
AI image editing can only go so far.
Python, and you kind of want to take the long way around.
Get it up and running in its own virtual environment. On Linux and Windows this'll just be a directory its in, and once you've activated that install via a terminal command everything stays self contained. It has a package manager called "pip" that will handle package and dependency management. Use pip to install spyder, pandas, matplotlib, numpy, scipy, and openpyxl. If you install anaconda this is what it's doing under the hood, but there are licensing hiccups with using their package repos.
Anyway, however you get up and going, numpy is fast numerical storage, scipy is a lot of scientific algorithms, pandas is a data analysis library that rides on top of numpy, and openpyxl is an interface to excel files from python. Pandas will get you one line CSV file reads and writes and more complex manipulation of Excel spreadsheets. Openpyxl gets you cell by cell manipulation of a spreadsheet. Spyder is a development environment.
It can do much, much more.
I asked an LLM for a small python example with pandas and matplotlib. Load it into spyder and run it and see what happens (tip, go into the settings/preferences, IPython Console, Plotting, and change the Graphics Backend to "Qt" to get the plots in their own window).
Python Example
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def generate_damped_signal():
# 1. Setup Parameters
fs = 50 # 50Hz Sampling frequency
t_max = 6.0 # Run for 6 seconds to clearly visualize it hitting 0 at 5s
freq = 2.0 # Oscillation frequency in Hz
# 2. Generate Independent Time Axis
# 50 samples per second from 0 to t_max
time = np.arange(0, t_max, 1/fs)
# 3. Generate Dependent Damped Signal Axis
# Using an exponential decay constant of 1.0 ensures that at t=5 seconds,
# e^(-5) drops down to ~0.006, effectively decaying the signal to zero.
amplitude = np.exp(-time) * np.cos(2 * np.pi * freq * time)
# 4. Create Pandas DataFrame
df = pd.DataFrame({
'Time_Seconds': time,
'Signal_Amplitude': amplitude
})
# 5. Export DataFrame to CSV File
csv_filename = "damped_signal.csv"
df.to_csv(csv_filename, index=False)
print(f"Successfully generated DataFrame and saved to '{csv_filename}'")
# 6. Plot the Data Using Matplotlib
plt.figure(figsize=(10, 5))
plt.plot(df['Time_Seconds'], df['Signal_Amplitude'], label='Damped Signal', color='cyan', linewidth=2)
# Visual Anchors for the 5-second decay mark
plt.axvline(x=5.0, color='red', linestyle='--', alpha=0.7, label='5-Second Decay Target')
plt.axhline(y=0.0, color='gray', linestyle='-', alpha=0.5)
# Labeling and Grid Configuration
plt.title('Damped Signal Decay Over Time (50Hz Sampling Rate)')
plt.xlabel('Time (Independent Axis - Seconds)')
plt.ylabel('Signal (Dependent Axis - Amplitude)')
plt.grid(True, linestyle=':', alpha=0.6)
plt.legend()
# Display the Plot Window
plt.show()
if __name__ == "__main__":
generate_damped_signal()
Emacs! Emacs Makes All Computing Simple.
Greatly recommend this approach:
-
install Evil right away for humanly motion keys
-
perhaps install Org-mode if you're still shopping around for the perfect notes app
-
spend a few months crafting your own configuration
-
backup your whole configuration, install Doom Emacs instead, port extra stuff from your conf on top of Doom
-
finally enjoy proper quality of life in Emacs
I second this, learn emacs and you will never bother learning any other software (because you'll be too busy learning emacs for the rest of your life).
Learn the basics of accounting by trying to use GnuCash (or KMyMoney) for your personal finances.
Or learn a proper text editor, such as vim.
Try Proxmox Virtual Environment with community post-install scripts. It's a little virtual data center that you install on a dedicated small PC. You can run all kinds of services like a Linux VM, Pi-Hole, Copyparty, Romm, and stuff. It'll make !selfhosted@lemmy.world very happy.
PosteRazor, is super easy to learn.
It can make wall posters, by printing the A4 segment sheets, and then gluing them together.
KiCad takes around 5 minutes to learn and is some of the best software for designing schematics and PCBs.
Falstad is great for when you need simulations of schematics and don't want the headache of trying to use KiCad's built in simulation tools.
Both are FOSS.