I need to quench my thirst for knowledge and learn something new just for the sake of it.

I've already learned:

  • Equations and pivot tables in Excel

  • Vector graphics in Inkscape

  • Music mixing in rekordbox

  • Personal VPN on a raspberry pi 4 with OpenVPN

  • LAMP stack web hosting

  • Streaming & video capture with OBS

  • Manual & automatic backups with FreeFileSync

Things I'm open to:

  • FOSS (even beta) or free-as-in-beer software

  • A high or low learning curve

  • Tools for niche fields that I'd otherwise have no reason to learn

top 99 comments

sorted by: hot top controversial new old
[–] 73 points 3 months ago (6 children)

Learn Krita. David Revoy, artist of Pepper and Carrot, has a ton of great tutorials on using it.

  • source
  • hideshow 6 child comments
  • [–] 4 points 3 months ago (1 child)

    Came here to say the same thing.

    Krita is a fantastic image editor.

    The ability to script it with Python is a huge plus. I’ve created posters by having it read files from a directory and place images precisely spaced, etc.

  • source
  • parent
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 111 points 3 months ago (3 children)
  • [–] 71 points 3 months ago (1 child)

    It is tradition (and fun) to start your Blender journey with the Donut Tutorial.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 6 points 3 months ago

    Nice I haven't done that one! Haven't even touched blender in years, but I've gone through like 3 of his donut tutorials over the past decade or so. They're really fun and show off how impressive the program is.

  • source
  • parent
  • [–] 2 points 3 months ago

    Adding to that, since I work at a computer I was never motovated to stay at tbe same place to learn blender so I changed to Nomad Sculpt at the tablet and I love it, I can do it from my couch (or toilet lol). It is a different aproach tho

  • source
  • parent
  • [–] 51 points 3 months ago (5 children)

    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.

  • source
  • hideshow 5 child comments
  • [–] 12 points 3 months ago* (3 children)

    Take up the synth, but using software on a computer instead of a keyboard. Learn how to write MIDI. 😌

  • source
  • parent
  • hideshow 3 child comments
  • [–] 10 points 3 months ago (1 child)

    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.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 46 points 3 months ago (7 children)

    OpenSCAD. 3D modeling as code.

    I've gotten a lot out of it, and their tutorial is excellent.

  • source
  • hideshow 7 child comments
  • [–] 2 points 3 months ago (3 children)

    How does this compare to FreeCAD or CAD in general?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 8 points 3 months ago (1 child)

    It's very unique in the CAD space. It's almost more akin to a hardware definition language like VHDL than it is a traditional CAD solution.

    You don't ever do any direct manipulation of your model through visual tools. There is a visualizer so that you can see your model, but all changes are done via plaintext editing of the model's definition file.

    This has a lot of advantages, not the least of which is being able to version control your 3D models.

    It has some disadvantages as well, in that some transforms that are easy in a traditional CAD software are a little more manual in OpenSCAD. I've definitely had to dust off my highschool trigonometry once or twice to get something the way I wanted it.

    Specifically with regards to FreeCAD. I found FreeCAD to be a little inaccessible. It's unintuitive at best, and I found it unpleasant to work with, as it was exceptionally fiddly. OpenSCAD feels far more intuitive to me, but I also have a software engineering background. I think OpenSCAD may be trickier for someone without that, but it's hard to say.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 3 months ago

    It's quite different. I'm a programmer and find it substantially better suited to my mental model than FreeCAD. Don't get me wrong, I respect FreeCAD -- even envy it a bit and all the features -- but I need to imagine my shapes and describe how they fit together. I spend so much of my free time thinking of equations that product shapes (yay game dev) that it comes pretty naturally.

    If you don't program or prefer a more visual, arguably professional, workflow, you probably won't like OpenSCAD.

  • source
  • parent
  • load more comments (1 reply)
    [–] 30 points 3 months ago (5 children)

    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.

  • source
  • hideshow 5 child comments
  • [–] 2 points 3 months ago (2 children)

    LaTeX is useful but the layers of abstraction makes it difficult to troubleshoot. I recommend the TeXbook and typesetting something with plain luatex, it's actually a joy to use. Maybe borrow some macros from OpTeX if needed, but those are philosophically aligned with Knuths TeX.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 3 months ago (1 child)

    That is very true. If you just want to learn it, starting even at something like basic tex may make more sense. The latex ecosystem is where it starts getting interesting though, since there's been so much created and written for it. BUT that does mean you're stuck in a weird abstraction area. For when I'm just making documents (and not stuck to a specific journal format), I'm really enjoying org-mode and then piping its output to a tex PDF. I think markdown would work too, but org-mode inherits all the emacs modes, so you can get some pretty complicated in-document scripting done.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 3 months ago

    Plain TeX is simultaneously straightforward and impossibly complex. Want to change the left margin, just set hoffset to something, but if you want double sided output where the left margin changes depending on verso or recto page, then you need to redefine the output routine. Which admittedly is quite simple in TeX compared to the monster output routine in LaTeX, but still. To me, TeX is to LaTeX what C is to python.

  • source
  • parent
  • [–] 24 points 3 months ago (4 children)
  • [–] 5 points 3 months ago

    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.

  • source
  • parent
  • [–] 21 points 3 months ago (7 children)

    Docker and Docker Compose. Once you know that, you'll be able to self host almost any FOSS.

  • source
  • hideshow 7 child comments
  • [–] 11 points 3 months ago (6 children)

    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.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 4 points 3 months ago (5 children)

    Docker can also be run rootless, though not by default.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 2 points 3 months ago (4 children)

    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.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 3 months ago (1 child)

    Yeah I also switched all my docker containers to podman as well. I wasn't making any point for using either above the other

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 3 months ago

    I wasn't making any point for using either above the other

    I know, but I AM making a point to use podman over docker because it's rootless by default and requires less work/admin overhead to implement and maintain.

    It's all well and good that docker can run rootless with a good amount of tweaking and configuration, but the juice isn't worth the squeeze IMO. I pulled the pin on that once I realized podman was the much better option.

  • source
  • parent
  • [–] 21 points 3 months ago (3 children)

    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.

  • source
  • hideshow 3 child comments
  • [–] 2 points 3 months ago (2 children)

    Thats why i struggle so much learning any type of programming. What's the point. Any software I'd want is super complex, and there's a billion simple tiny ones that have already been made.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 3 months ago

    I definitely look to see if the wheel is already invented, but I guess I started early enough when there wasn't a lot out there and had to make it work on my own. I totally enjoy having to hack together things and google answers (god, that's gotten a lot harder than it used it be), so that's also part of why I jump to DIY unless I find something that's perfect and already made.

    A recent one where I stopped myself was automating backups. I was going to try to throw together something, but then ran across restic and Backrest and wow, it's so much better than what I could have done.

  • source
  • parent
  • [–] 2 points 3 months ago*

    I think there's probably still room creatively, especially as a hobby.

    I sort of see it as the opposite with software though, that popular options are bloated data-wise (and cost) and simple usage-wise, other options are small-ish data-wise but less user-friendly. It seems like the middleground (low data+easy-to-use) is less likely to exist, particularly for techniques that aren't as shiny/new. In some cases, it really does seem like certain workflows don't exist. (or perhaps for some things that we've seen before, implementations were always in-house rather than something that existed in a usable editor)

    Which isn't to say stuff like that will be easy, maybe doable with limitation and if libraries can take you half-way there.

  • source
  • parent
  • [–] 19 points 3 months ago (3 children)

    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.

  • source
  • hideshow 3 child comments
  • [–] 18 points 3 months ago (1 child)
  • [–] 17 points 3 months ago

    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.

  • source
  • [–] 17 points 3 months ago
    [–] 16 points 3 months ago (1 child)
  • [–] 15 points 3 months ago* (2 children)

    Ardour, it's a FOSS Digital Audio Workstation

    https://ardour.org/

  • source
  • hideshow 2 child comments
  • [–] 14 points 3 months ago* (last edited 3 months ago)

    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.

  • source
  • [–] 13 points 3 months ago (2 children)

    Get your finances in order with Firefly III and Waterfly III (Android app, available in F-Droid)

  • source
  • hideshow 2 child comments
  • [–] 3 points 3 months ago (1 child)

    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

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 3 months ago

    I use a paid service (which might itself depend on one of those 3rd party bank syncing companies, idk), but it's wild to me that banks haven't figured this out yet and cut out the middleman. They can't want their customers to be exposed to more risk than necessary

  • source
  • parent
  • [+] 13 points 3 months ago (2 children)
  • [–] 13 points 3 months ago

    libreoffice if your using excel.

  • source
  • [–] 13 points 3 months ago

    Blender and buy a 3D printer afterwards

  • source
  • [–] 12 points 3 months ago

    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.

  • source
  • [–] 11 points 3 months ago
    [+] 11 points 3 months ago (5 children)
  • [–] 11 points 3 months ago

    You can do really neat thinga in QGIS -- like make your own professional quality maps, make map animated gifs, etc

  • source
  • [–] 10 points 3 months ago

    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.

  • source
  • [–] 8 points 3 months ago

    SQL - understanding how to interact with databases will be an incredibly useful skill for whatever rabbit hole you next want to fall down.

  • source
  • [–] 8 points 3 months ago

    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()
    

  • source
  • [–] 8 points 3 months ago*

    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.

  • source
  • [–] 8 points 3 months ago

    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.

  • source
  • [–] 8 points 3 months ago* (3 children)

    ssh and scp (secure connection and file transfer)

    grep (the standard command-line search tool)

    sed (Stream EDitor, good for find-replaces once you learn how to use it)

    awk (can operate on text files or command output that's organized in columns)

    sc (terminal-based spreadsheet)

    trash (safer replacement for rm that moves things to your desktop's trash directory instead of deleting immediately)

  • source
  • hideshow 3 child comments
  • [–] 3 points 3 months ago (2 children)

    trash is a nice idea, but i guess it's hard to overcome the muscle memory, i might need to rename rm for it ;)

    btw: does somebody else pronounces awk as awkward?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 3 months ago (1 child)

    I was thinking that too, I wonder if rm can be aliased to trash. I mean it probably can as I do have alias rm='rm -i'. Wondering if it breaks anything.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 8 points 3 months ago

    You could get JOSM and become an OpenStreetMap editor. https://josm.openstreetmap.de/

    Also install gentoo.

  • source
  • [–] 14 points 3 months ago

    Learn the basics of a couple of FOSS audio-software staples.

    LMMS - tracker

    Audacity - Audio recorder

  • source
  • [–] 7 points 3 months ago

    wow rekordbox looks nice! I've used Mixxx up til now.

    One killer feature might make me switch: I see rekordbox allows mixing of spotify or apple music songs: do they also support navidrome? That would blow me away!

    about the topic: what about home assistant? That should prove an adequate rabbit hole for you :)

  • source
  • [–] 7 points 3 months ago

    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.

  • source
  • [–] 6 points 3 months ago

    CRRCSim (RC plane simulator)

    Learn how to slope-soar a glider.

    Best with the photo mountain scenery added in.

    In many distro repositories too.

    https://github.com/gcmcnutt/CRRCsim

  • source
  • [–] 6 points 3 months ago* (2 children)

    Slackware- Wait you said fun, nvm

    Aseprite (you gotta compile it yourself if you wanna it free tho)

  • source
  • hideshow 2 child comments
  • [–] 6 points 3 months ago

    Lilypond. Its music software. Learning it will keep you occupied for at least a week.

  • source
  • [–] 6 points 3 months ago

    One week of keybr.com to improve touch typing skills, which should serve you across all your IT endeavours... Unless you choose to learn gimp and drawing stuff :P

  • source
  • [–] 6 points 3 months ago

    GIMP

    AI image editing can only go so far.

  • source
  • [–] 6 points 3 months ago* (last edited 3 months ago)

    I learned a decent bit about how biometric authentication works (or at least this specific implementation) by installing, setting up, and tweaking settings for Biopass. I also learned about how when you do first login using this method, it can fail to unlock keyrings because the password authentication has been bypassed so no password has been provided to unlock the keyring. It includes anti-spoofing local AI models, and the dev plans to have the option for the user to download and use any model for anti-spoofing/recognition. Interesting stuff.

    https://github.com/TickLabVN/biopass

  • source
  • [–] 5 points 3 months ago

    I recommend learning dc if you don't already know it, and either Octave or Python.

    https://en.wikipedia.org/wiki/Dc_%28computer_program%29

  • source
  • load more comments
    view more: next ›