Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on lemmy.world
asklemmy·Ask LemmybyNickwithaC

What's a fun piece of free software I should learn to use this week?

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

View original on lemmy.world
282

152 replies

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

7

FOSS, learning curve, and niche field? I got you. VLSI layout software or SDR (software defined radio) software.

VLSI layout is kind of software allows you to design electronics hardware at the silicone/transistor level. IOW you have to draw the layers of materials that form transistors (cross poly silicon and p/n-diffused silicon to form) and connect them to metal layers. Learn how NAND and NOR gates are actually formed. Make a 1 bit data storage (flip flop), half adder, full adder. Go as far as you want.

Example software:

SDR. Less intense, but also niche and gives you lots of related things to learn/branch in to.

Can be used to receive and decode radio/satellite transmissions. Normally people would buy hardware and use software locally, but some people make their receivers accessible on the internet (websdr) which can give you a first intro to it. After you capture data you can run it through other software to decode (depending on what it is). For example, you can capture raw weather image data from satellites and decode it to get the images that the satellite is transmitting as it's capturing the data.

A list of some SDRs you can access over the internet (doesn't require hardware purchase to use): http://websdr.org/

It probably won't be immediately obvious how to use either SDR or VLSI software but you asked for niche and learning curve, so enjoy. ;)

EDIT: Fixed some typos and grammar.

1
lemmy.world

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)

7
justmereply
lemmy.dbzer0.com

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?

3
JojoWakakireply
lemmy.world

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.

1

from what you wrote, i would guess bash is first checking through aliases. anyway that's something to better read up before trying on a non-test system

1

There's always software reverse engineering. As bad as it may sound to some people, the US NSA has a github repositroy for a tool known as Ghidra, under Apache 2.0 license, so you can look at the source code and determine whether or not it's spyware. If it's actually NSA quality, you know it should be good enough for reverse engineering old software that won't land you in trouble if found out by the original devs. Last update was 2 months ago.

I tried a little bit but have yet to go very far at all with it since I am an idiot who thinks he's smarter than he really is.

Though, taking a page from your book, I am interested in looking up rekordbox now.

3

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

6
LordCromreply
lemmy.world

Have you gotten ardour to accept input from guitarx's USB interface? I hate falling g back to windows stuff for audio recording.

1
Fmstratreply
lemmy.world

Or the Openscad workbench in FreeCAD if you like both. FOSS is grande.

2

Or MatterControl if you are looking for more of an artistic side rather than the technical specifications.

2

Real cad software (like Freecad or OpenSCAD if you want FOSS) would be more useful for 3d printing, unless you only plan to print useless plastic figurines

0
wibblereply
reddthat.com

Vi/vim counterpoint. Learning to quit vim will get them very far in life

7

Now that is the gift that keeps on giving! I also like the implication that one can "learn" emacs.

4

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

11

some suggestions for your consideration in order of empowerment and learning curve first,

  • AWK
  • ffmpeg (~ & imagemagick ?)
  • bash, zsh, or fish
  • kew (it's just a really simple nice tui music player, no fuss). (... "Am I the only fun one in Digit's list here?" -- kew)

n_n

Some other things that sprang to mind, (generally tending to more gui things, some distro/packagemenent things)... audacity/tenacity, fontforge, gimp, gentoo and portage, bedrocklinux and brl, peertube self hosting, forgefed self hosting, suckless.org's tools, CRUX or KISS/Carbs, just playing around in stellarium, playing around in pioneer space sim, learning how to evade humanity's detection as an ai in the game called singularity, ;3

Oh... Here's an idea for you... Learn a text editor.

Think it's not fun?

Depends on which text editor you pick, and how much the fun suits you. ... Emacs has so many things (including games, like tetris and doctor). Even neovim has some extra things (~ opencode runs on neovim... tho it's not the same, lol). Or maybe you want something simpler, like nano, mcedit, or fin (I wrote fin, don't use it, it's scruffy... and only able to do that from learning some of the things mentioned, and more).

Yay for learning. Yay for asking for what other fun things to learn. Good post. Good question. ... Sorry my answers were not better. Heh. Caught off guard, answered just what first sprang to mind. n_n Doubtless many other more fun things exist.

13

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.

5

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

2

There are a lot of newer node-based 2D editors (covering both vector and raster) like Graphite and PixiEditor. I haven't tried these... still wondering if any could easily do stuff like SDF textures or simpler mesh creation (2D workflow, part/face vertex color, maybe 3D via extrude/revolve).

There's also Wick Editor for a potential spiritual successor to Flash.

2

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.

5
Thalesreply
sh.itjust.works

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.

3

Krita is a fantastic name for a KDE drawing app if you speak Swedish. Krita means crayon, and traditionally KDE apps were prefixed with a "k", also Rita means to draw.

5

“Krita is a professional FREE and open source painting program. It is made by artists that want to see affordable art tools for everyone.”

34

Reminds, there's mypaint too.

Yeah. Krita, mypaint, I neglect, living 99% of the time in gimp.

3

Thanks for sharing this! I've had Krita on my tablet for a while now and have been meaning to learn it.

2

How did you go about the excel learning? I find it to be too busy an area to get to parts I want to learn about, mostly pivots and formulas like you

2

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.

19

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.

49
gruereply
lemmy.world

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.

11

Stage lighting controls are extremely fun to learn. DMX, ArtNet, etc. QLC+ is free and open source, there are TON of other ones as well (like controlling big stage lights with a Wii controller so they move like you).

There are simulators, but the prettiest I've seen so far is https://github.com/AcChosen/VR-Stage-Lighting. Despite its name, you don't need vr for it but if you do, you can watch your lightshow as if it was real!

3
lemmy.world

OpenSCAD. 3D modeling as code.

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

47

Is it perfect? Nope.

Is it useful? Yep.

Is it fun to play with? Most definitely!

7

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.

2
testfactorreply
lemmy.world

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.

8

I really like openscad! It maps well to how I think through modeling a part. I was just using it yesterday

3
lemmy.world

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.

11
Lemmertreply
reddthat.com

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

5
lemmy.world

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.

2
Lemmertreply
reddthat.com

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

2

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.

1

Docker was initially only rootful. So I'm assuming for compatibility's sake they kept the default that way?

1

Voicemeeter potato. Enjoy learning how all your audio devices work, and how to add noice effects.

2
lemmy.world

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.

31

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.

3
pmkreply
piefed.ca

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.

2
lemmy.world

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.

1
pmkreply

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.

1
lemmy.world

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.

19

I want to use Godot to make a King's Field-like game, but the time needed for that is something I just don't have right now! Maybe one day! T-T

3

I made a roguelike for a game jam a few months ago, it taught me a lot!

I'd been making mostly text-based/UI-based stuff before, so it was my first "real-time" and "3D" game.

Also, I concur: Godot is awesome to work with :)

1
  • 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
26
gigastasioreply
sh.itjust.works

Do you know if MuseScore is able to import old files from Finale? That’s what used to use and not Finale is defunct and I’m not able to get at any of my old scores. Don’t see a FAQ on their page.

3

I've found it it works best exporting to musicxml from finale. Musesccore and most other notation software supports musicxml, and it works recently well as s go-between.

1
lemmy.world

I know you can import .midi files, it might work by exporting as a MIDI (if possible) and trying it that way?

2
gigastasioreply
sh.itjust.works

Well the problem is that I can no longer install Finale on my system and from what I’ve read, you’d need to use Finale to convert .musx files to Xtml for import. I might have to find another way or bug a friend of mine who might still have Finale to do it for me.

2

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.

15
fedia.io

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.

20
sh.itjust.works

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.

2

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.

2

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.

2

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.

12
lemmy.world

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

14

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.

8
Kaldoreply
fedia.io

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

3

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

2

Use graphviz dot files to draw a graph

Draw some graphs from data files downloaded from public university data sets in GNU Octave

Write a review of the process and tools with embedded images and code in LaTeX

1

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.

9

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). ::: spoiler 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()

:::

9
lemmy.ml

Emacs! Emacs Makes All Computing Simple.

10
Xenoreply
lemmy.dbzer0.com

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

16
lemmy.world

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

2

Sorry to interject with a different opinion but I think it would only be confusing for OP to take that advice about starting out with evil-mode, especially if they've never even used Vim before. Evil mode is fine for someone who has become used to Vim and wants to continue using its keybindings, but not for other emacs beginners.

IMO new users should learn emacs with its default keybindings, the way it was designed, to avoid confusion and get the most out of it and understand how it actually works. Then change any keybindings you don't like to whatever you prefer. Then later if you want, experiment with things like modal editing by trying out Evil mode or meow or Xah flykeys, etc.

1

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.

9

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.

7

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

7

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

6
feddit.it

Slackware- Wait you said fun, nvm

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

6
feddit.uk

Install one of the distributions where you have to do most of the installation steps manually, such as Gentoo or Slackware or Arch. Or Linux from Scratch of you want hardcore mode.

4

Make sick beats with milkytracker.

I honestly have that still on my to-learn list myself. But it does seem to be a solid choice for FOSS trackers.

3

i've been hitting up kaggle.com, freecodecamp and exercism.org for Python courses.

Selfhosting is a nice rabbit hole

3

I saw Krita was already suggested. Also give Inkscape a go. It's meant for vector graphics instead of raster. (like SVG vs jpeg).

2

Since you already recorded something with OBS, you could try your hand at video editing with something like kdenlive

2

I thought so too. KDEnlive a solid base that is used by many FOSS youtubers akin to Veronica Explains. It's capable of things up to rotoscoping/chromakey deletion, it also closely resembles how most video editors work, except maybe for trendy node-based tinkering in effects - that would be covered in full by Blender/Godot further down the line. Example project: make a short explanatory vid about one of the tools already learned.

1

Prompting claude for python scipts you feed into FreeCAD to build 3d models, dimensional drawings and for everyhung you coild ever imagine.

0