=== ANCHOR POEM ===
═══════════════════════════════════════════════════════════────────────────────────
what if you wanted to build a project from source
but god saidCMake Error at CMakeLists.txt:
By not providing a "foo.cmake" in CMAKE_MODULE_PATH this project has asked
CMake to find a package configuration file provided by "bar", but CMake did
not find one.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════════════════════════════════════════════───────────────────────┘
=== SIMILARITY RANKED ===
--- #1 fediverse/4474 ---
════════════════════════════════════════════════════════════───────────────────────
@user-1268
if you know how to program in C this is a good resource for building
networking applications:
https://beej.us/guide/bgnet/
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═════════════════════════════════════════════════════──────────────────────┘
--- #2 fediverse/6015 ---
══════════════════════════════════════════════════════════════════════════─────────
┌──────────────────────┐
│ CW: AI-mentioned │
└──────────────────────┘
In 2025, if you want to create a piece of software your options are to either:
devote your life to it, or use AI to build a semi-working prototype that you
can use to pitch your idea to a bunch of people who have devoted their lives
to learning how to use your idea as documentation while they build it from
scratch, throwing out most of the code but keeping all the checklists and
progress-trackers you built along the way, perhaps even utilizing some of your
tooling that you used while constructing the scaffolding of this monstrous
application that you won't be using most of the source-code for.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════════════════════════────────┘
--- #3 fediverse/1940 ---
═════════════════════════════════════════════════════──────────────────────────────
@user-579
Yeah if there isn't a package in the package manager XBPS then I usually just
install it from source. Which is ALSO something you can automate with a quick
and easy script! Just put all the notes from the README on Github or whatever
into a file named "update" and put that one level above the project directory!
For any installed program my file hierarchy usually looks like:
program-name
- run (script)
- update (script)
- files (directory to clone into)
- configs (point the program here)
I find that this kind of organization makes it MUCH easier to keep my packages
configured and installed as I'd like. Using a package manager is hard because
they're all specific per distro, but using this distro-agnostic approach
always seems to work better 9/10 times I find.
And if another program needs a library that you manually installed, just
symlink where it's looking to point to where you're installed! Or vice versa I
guess.
I use DWM so I don't have a desktop like KDE or anything like that
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════════─────────────────────────────┘
--- #4 fediverse/5282 ---
═════════════════════════════════════════════════════════════════════──────────────
I wonder why someone hasn't yet written a "meta-package-manager" which
installed from many different sources and correctly configured each
installation to be able to efficiently find exactly where the requisite
libraries are installed, even if they're installed for a different system.
Then, when running, every time it encountered an error, it moved one more
dependency over to the native package manager until eventually everything is
in order.
... or something like that, truth be told I'm a junior
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════════════════════════─────────────┘
--- #5 fediverse/1246 ---
═══════════════════════════════════════════════────────────────────────────────────
@user-883
hehe if I don't understand how it works it's difficult for me to use things.
My Linux friends get so exasperated with me because I'm like "cool script
gimme like 2 days to figure it out" and they're like "bro just use these
flags" and I'm like "no"
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════════════════════════════════───────────────────────────────────┘
--- #6 fediverse/6437 ---
══════════════════════════════════════════════════════════════════════════════─────
if I was writing a programming language, I'd name it C just to fuck with people
(great, now others can decide how it's known)
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════════════════════════════────┘
--- #7 messages/526 ---
═════════════════════════════════════════════════════════──────────────────────────
what if we got together and adopted a new open source project every month and
just collectively worked around the clock to learn and work through the
important problems facing it
or even like, cleared out the backlog of stupid pointless boring tasks that
would allow the developers to work on something better
call it the wandering parade of development
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════════════─────────────────────────┘
--- #8 fediverse/6438 ---
══════════════════════════════════════════════════════════════════════════════─────
why would you gatekeep content by keeping us from easily using LLMs some
people aren't technical and still need to write computer programs because
that's how you enlighten a people is empower them with new tools
"I've never heard of that programming language, but luckily I can fit all of
it's documentation in my context window."
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════════════════════════════────┘
--- #9 fediverse/3805 ---
═════════════════════════════════════════════════════════──────────────────────────
neat
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════════════─────────────────────────┘
--- #10 fediverse/1941 ---
═════════════════════════════════════════════════════──────────────────────────────
@user-579
I've never actually used xbps-src, I usually just compile it using the same
tooling that the people who made the program use. If your project doesn't have
a make file then it's probably not ready for distribution yet. That's like,
the first thing I write! Though I don't use make, I just use BASH and chain
together compiler commands and whatnot
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════════─────────────────────────────┘
--- #11 notes/environment-variables ---
═══════────────────────────────────────────────────────────────────────────────────
To edit environment variables:
~/.bashrc is for variables only accessible by the user.
/etc/profile is for variables accessible by all users.
/etc/environment is for variables accessible by anyone.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘══════───┴╧───────────────────────────────────────────────────────────────────────────┘
--- #12 messages/129 ---
═════════════════════════════════════════════──────────────────────────────────────
So you're telling me the speed difference between Python and C is due not to
the logic that the programmer uses, but rather the optimization capabilities
of the compiler?
(An interpreter includes a compiler, it just runs it in a loop rather than a
single pass)
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════─────────────────────────────────────┘
--- #13 fediverse/2879 ---
══════════════════════════════════════════════════════─────────────────────────────
┌────────────────────────┐
│ CW: re: tech info-dump │
└────────────────────────┘
@user-1370
I love this a lot! I want to put function pointers in a "matrix architecture
array" and make them point to different functions at different points in the
program. I bet you could even point them at each other, so like if M and Y
then point at N, A, Y or something.
this is really cool I like stuff like this tomorrow I'll take pictures of
something similar I'm working on! I abandoned it tho hehe anyway remind me if
I forget!!
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════────────────────────────────┘
--- #14 fediverse/1229 ---
═══════════════════════════════════════════════────────────────────────────────────
@user-883
graphics isn't too bad in C if you use Raylib. Here's my template project:
If you ever want to do something with a GUI or a game or something then I
definitely recommend that library. It's soooooo nice as a C programmer
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════════════════════════════════───────────────────────────────────┘
--- #15 fediverse/701 ---
═════════════════════════════════════════════──────────────────────────────────────
┌──────────────────────┐
│ CW: computer-code │
└──────────────────────┘
totally useless unless you're, I dunno, building a bytecode interpreter or
something
https://craftinginterpreters.com/contents.html
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════─────────────────────────────────────┘
--- #16 fediverse/2922 ---
══════════════════════════════════════════════════════─────────────────────────────
@user-192
now I want to re-implement strings as structs in C! I don't know why I never
thought of them that way.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════────────────────────────────┘
--- #17 fediverse/1034 ---
═══════════════════════════════════════════════────────────────────────────────────
@user-192
be careful, recursion can cause stack overflows.
better to run function pointers from a loop. That way you can operate as long
as necessary. Just make sure you don't get in an infinite loop...
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════════════════════════════════───────────────────────────────────┘
--- #18 fediverse/1871 ---
═════════════════════════════════════════════════════──────────────────────────────
I think all software should have config files
or accept as many command line arguments as necessary to achieve all the
functionality of a config file without requiring a standardized setup
or accept a config file as a command line argument, to allow for multiple
different implementations
or whatever you can throw together in your spare time because software is
either open source or it hates you.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════════─────────────────────────────┘
--- #19 messages/264 ---
════════════════════════════════════════════════───────────────────────────────────
Don't write self documenting code! Force people to read the documentation so
they know how to use it
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═════════════════════════════════════════──────────────────────────────────┘
--- #20 fediverse/1977 ---
═════════════════════════════════════════════════════──────────────────────────────
functions should be forced to describe the context of why they were being
called. I think it would help debug a lot if we supplied a reasoning for each
and every request [function call] that we made. We might even be able to parse
them into semantic pyramids which we could sorta use to estimate [tree-like
scanning] how and why the program did do wrong.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════════─────────────────────────────┘
|