Programming thread

  • 🐕 I am attempting to get the site runnning as fast as possible. If you are experiencing slow page load times, please report it.
Sorry for the double post but I want to vent about something coding related.

Some times I watch coding stuff on youtube and I'm sick to death of these fucking soydev influencers that make videos talking about coding but they never actually say anything of substance or film themselves actually writing code. I'm also fed up with constantly seeing videos recommended to me saying that AI is SO TOTALLY GONNA TAKE EVERYONES JOB and we should just give up. And again, the people posting these videos don't actually seem to code. They just talk about vaguely coding related things. I am convinced there is an entire industry of influencers pretending to be coders to make money from their youtube videos and a bunch of people not just on youtube but everywhere seem intent on convincing people that learning to code is futile and you should give up on your goals.

Its fucking retarded and I'm sick of the fact that I've been working my ass off actually trying to get good at programming while a bunch of cucked faggots can make a bunch of money pretending to be a programmer on youtube and never actually say anything of substance or they pump out videos trying to discourage new developers from pursuing their goals. These people are niggers, all of them.
It is mainly meant for zoomers who know nothing about computers and want to do big things right after they finish watching the video. They are always sure to stir it up with editing for adhd autists.
 
  • Thunk-Provoking
Reactions: Bababooey Warlock
Has anyone here read the Minix book?

Years ago I had a copy of the 3rd edition and I'm pissed off at myself because I misplaced it somewhere. All the available copies are selling for like $60, $80 or more. I think I bought it for like $40 years ago.

There's a PDF copy here (I have it backed up somewhere, if this link dies), but I hate reading PDFs on my phone. This is usually comfy bedtime reading for me. Either that or the farms.

I always like to buy the occasional hard copy of a programming book, if not for actual reading, but even just to support the author.

But yeah, I've been flipping through it (and the minix wiki), and it's a really enjoyable read. I mean, none of it will be particularly surprising or enlightening to someone who's done enough coding directly with POSIX APIs; you can probably imagine how most of those calls are implemented.

But it's nice to read through and see it explained in accessible english. And also using a very elegant microkernel design.

It especially sates my curiosity about how platform independent concepts like processes mesh with code that's fundamentally extremely platform specific. Like memory management ultimately must involve lots of intimate fuckery with inline assembly code, tweaking low level hardware (like the MMU) in weird CPU execution modes. Stuff that most of us (probably) don't touch in our day-to-day work.

How does that code end up looking? How much of it can be written in C versus assembly? Are these concepts easy to abstract across, say x86 and ARM, or is it a giant clusterfuck?

It tickles my interest in those things.

Great read, highly recommended.
"Trannies use this therefore I will not" is the worst reason to skip on rust and I genuinely think that this thought pattern is a troon psyop to stop heckin chuds using extremely good, well designed tech. There are many better reasons to avoid rust, such as the immense corporate backing; hard to hire devs for rust positions; incomplete async (async traits got merged in recently iirc.)
It's not a good reason to skip on a language or technology, in and of itself.

Though with troons cramming their CoCs in places they aren't wanted, they have a chance to kill the mood for a new language early on, if responsible adults don't step in. Especially if they get their claws in essential core infrastructure like the package system. (This is why one of the most brilliant innovations Go gave us was just having package imports be straight git repo urls. More languages need to rip off that idea.)

There's one troon sniffing around my personal choice of autistic functional language, Ocaml, and god, I really hope it doesn't go past that one troon.
 
(This is why one of the most brilliant innovations Go gave us was just having package imports be straight git repo urls. More languages need to rip off that idea.)
Or you could go even simpler and not involve the build system with downloading package shit at all. You could simply make your compiler so that it needs to be pointed at a local directory with the required files to link to your package. Then the library development files could come from anywhere, like system package managers, random git repos, HTTP downloads, even torrents. Such a shame that no systems programming language has ever implemented this brilliant idea.

Oh wait, my local C and C++ compilers seem to include a -I switch. Wonder what that's for.
 
"Trannies use this therefore I will not"
It's not a good reason to skip on a language or technology, in and of itself.
More like trannies made this

It is likely infested with their insanity at every level

(This is why one of the most brilliant innovations Go gave us was just having package imports be straight git repo urls. More languages need to rip off that idea.)
Thats fine for Go but I'll pass thanks
 
Or you could go even simpler and not involve the build system with downloading package shit at all. You could simply make your compiler so that it needs to be pointed at a local directory with the required files to link to your package. Then the library development files could come from anywhere, like system package managers, random git repos, HTTP downloads, even torrents. Such a shame that no systems programming language has ever implemented this brilliant idea.

Oh wait, my local C and C++ compilers seem to include a -I switch. Wonder what that's for.
Yeah, all compilers do that. And doing it manually is an unmaintainable pain in the ass. That's why things like autoconf, pkgconf, make and indeed the system package managers you mention were invented. They solve a real problem. And those solutions can always be improved upon.
Oh definitely, rolling your own registry is super convenient when the language packaging tools support git for the registry. I'm doing that with a work project that involves a couple of cli tools and a mutual shared library. I don't need to run some janky web app just so devs and build scripts can run "whatever build tool install .".

Still, doing new package releases involves fucking around with our private package registry repo, doing a push, then several other cli commands on all the clients to fetch the changes and update.

The Go tools eliminate the package registry wholesale. It's a big leap forward.
 
Yeah, all compilers do that. And doing it manually is an unmaintainable pain in the ass. That's why things like autoconf, pkgconf, make and indeed the system package managers you mention were invented. They solve a real problem. And those solutions can always be improved upon.
Yes, using retarded shit will get retarded really fast. But remember that those tools you mentioned aren't a part of the compilers. I don't like it when a compiler command does a bunch of other shit than compiling. It feels hideously inelegant. I just think that there's nothing quite as cancerous as a build tool that downloads shit, and I also want to be able to use 1 system package manager instead of 300 different shitty language package repositories.

I just like having a bunch of generalist tools that do exactly 1 thing each. Not specialist tools that each do 50 things with varying levels of competence. Is that too much to ask?
 
Fair enough. I started moving away from electron js because it makes more since just to make my projects like a normal website.

Electron just makes the project more bloated and I don't see the point.

Its a cheap way to push out a desktop native version of your app. Native desktop development is dead. No company can afford to hire a specialized team to develop and maintain a desktop native program. With electron, you already have the JS expertise in house, and you instantly have a majority of your codebase built out in JS. Your app probably also uses a lot of modules that don't exist for native development and are impossible to recreate.
I'll give you a real world example. I worked for a company once that needed a quick desktop program to run some binaries in order for our mobile app to work on the customer's device. We couldn't run it on the browser, so the cheapest easiest way was to build an electron app that drove the process on the customer's computer.
 
Its a cheap way to push out a desktop native version of your app. Native desktop development is dead. No company can afford to hire a specialized team to develop and maintain a desktop native program. With electron, you already have the JS expertise in house, and you instantly have a majority of your codebase built out in JS. Your app probably also uses a lot of modules that don't exist for native development and are impossible to recreate.
I'll give you a real world example. I worked for a company once that needed a quick desktop program to run some binaries in order for our mobile app to work on the customer's device. We couldn't run it on the browser, so the cheapest easiest way was to build an electron app that drove the process on the customer's computer.
Yeah, the biggest reason I learned how to use electron is because I wanted a couple of my projects to run as native applications.

I have an idea for a project that I want to build that is gonna be hosted as a website but If it ends up being successful I think I'll use electron to turn my project into a phone app.

Btw, is there any applications I can use to plan out a project? I've already made a few projects before, but I was thinking I'll end up producing higher quality work if I plan it all out and come up with a todo list.
 
I don't like it when a compiler command does a bunch of other shit than compiling.
To be fair, systems like cargo and go build are build system wrappers that invoke an underlying traditional compiler (rustc and go tool compile, respectively). In my opinion, this sort of abstraction is perfectly fine as long as it's reasonably optional for anyone stubborn enough.
 
I have an idea for a project that I want to build that is gonna be hosted as a website but If it ends up being successful I think I'll use electron to turn my project into a phone app.

Btw, is there any applications I can use to plan out a project? I've already made a few projects before, but I was thinking I'll end up producing higher quality work if I plan it all out and come up with a todo list.
You want react native if you're looking to build for mobile.

GitHub has a few easy to use boards and spreadsheets you can use for a roadmap.
 
Yes, using retarded shit will get retarded really fast. But remember that those tools you mentioned aren't a part of the compilers. I don't like it when a compiler command does a bunch of other shit than compiling. It feels hideously inelegant. I just think that there's nothing quite as cancerous as a build tool that downloads shit, and I also want to be able to use 1 system package manager instead of 300 different shitty language package repositories.

I just like having a bunch of generalist tools that do exactly 1 thing each. Not specialist tools that each do 50 things with varying levels of competence. Is that too much to ask?
That's fair. Compilers, assemblers, all those things should be available as individual units, if even just for debugging or rigging up something in a very specialist situation. Even if I'm using a high level wrapper or interface to something, I really do need to be able to peel away the layers and see exactly what's going on underneath.

Too much automagical nonsense and I just won't understand what's happening. I hate ORMs for this reason.

A few years back, I worked this one job where I legit went for like four months having basically zero understanding of the work I was doing. I was working with pajeets who were maintaining some ancient python web app. Well, "maintaining", but also actively adding new features. The web framework it was using was a few major versions out of date, and they never bothered updating or rewriting it. It was always just continually adding new shit, or maybe occasionally fixing bugs. The only understanding I had of the project was how to start up the docker-compose file it came with, reproduce bugs, and push out braindead fixes. I would've liked to do a rewrite, but they wouldn't spend the money to take the time to get the team up-to-date with the new software. Don't work for an ISP. They've got the shittiest work environment.

And yeah, just as an end user, it's always nicer to just have one version of a library and have it installed through the system package manager. That's really how it should be.

But in practice though, for modern professional software development, the situation is just so insane and scrambled that you're constantly having to maintain not just multiple installed versions of each library, but also multiple installed compiler implementations.

All these language-specific package managers exist to make it easier to deal with this shit situation. In an ideal situation, they wouldn't be necessary.

Like I miss the industry before I first had a coworker cheerfully say "oh, just install nvm, that'll make it easy to install different node versions on a system", like that's a fucking OK and totally normal thing to expect to have to do.
 
Last edited:
This doesn't even deserve a captains log introduction because this is dead serious.

I am making something for a client and I have to meet with them in person in a week so we can discuss how the specifics on how they want their website set up so I can wrap things up and then we can host it online. They asked for a fully functional store so people can buy shit directly off their website. I also have to clean up the code I have so far, I'm implementing bootstrap into the site. Touching up on shit so I have something presentable.

I've been learning to code for less than a year and really most of my knowledge is front end shit. I simply can't build a fucking fully functional web store from scratch in a week. As things stand now that is simply above my skill level. I will be able to do that some day, I am always doing something new and learning, busting my god damn fucking ass to get better but this thing in particular seems like it is beyond me at the moment. I told my client that I am going to find an affordable third party service for them to embed a functional storefront onto their site. Does anybody have any pointers for that? I imagine its a bit more complicated than embedding videos or maps onto a site. Is there some kind of way to set up an embedded shopify or amazon storefront directly into a webpage with custom styling? Or should I just get niggerlicious with it and redirect to a website of their choosing to sell their products?

Or maybe, they can sell their products on fuckin whatever amazon etsy, doesn't matter. And I simply make up a nice looking catalog of their products and if you click on the product you get redirected to the amazonebayetsyshopifywhateverthefuck page for their product.

Edit: I am pretty much done with the frontend stuff btw, just touching up my niggerlicious css, implementing bootstrap, and I gotta set up their products page. I haven't hosted a website yet, but I got a guy that's gonna walk me through my first time doing that.
Most of it is static webpages, but the storefront is beyond my fucking skill level at the moment.
 
Last edited:
Honestly if your catalog is just a bunch of Amazon links it might just work. Depending on who you're working for, they'll probably be very happy that they can have a site that their customers can go to and find a place where they can buy a product, even if it's a bunch of links to Amazon and not a custom storefront. If they complain you can make some shit up about security and how you're a one-man contractor and you can't handle all that or whatever.

Do perform research about embedding a proper storefront. A list of links can't do things like shopping carts or other nice features.
 
Last edited:
That's fair. Compilers, assemblers, all those things should be available as individual units, if even just for debugging or rigging up something in a very specialist situation. Even if I'm using a high level wrapper or interface to something, I really do need to be able to peel away the layers and see exactly what's going on underneath.

Too much automagical nonsense and I just won't understand what's happening. I hate ORMs for this reason.
I just love getting to know a new tool by using each bit manually. You look at shit like rust docs and it tells you to just use cargo and doesn't explain how to include shit with rustc, then include folders in the build system, and finally move on to explaining how the crate repositories work. I fucking hate abstractions unless I have a general idea of the underlying logic. They seem to not want you knowing how it actually works, you just need to consoom development tool goy.
 
You look at shit like rust docs and it tells you to just use cargo and doesn't explain how to include shit with rustc, then include folders in the build system
With rustc
With cargo
This was really easy to find btw, and both can be found if you use the --help flag on the tools themselves. It tells you exactly how to do it. Where are they stopping you from not knowing how it works? Did the jews imbue the documentation with a hex to stop you from reading it, or was it the trannies?
 
  • Dumb
Reactions: geckogoy
With rustc
With cargo
This was really easy to find btw, and both can be found if you use the --help flag on the tools themselves. It tells you exactly how to do it. Where are they stopping you from not knowing how it works? Did the jews imbue the documentation with a hex to stop you from reading it, or was it the trannies?
That's great! Unfortunately, I can't download any libraries because everything is on a different package manager than my system package manager, which I don't like. I guess I will have to patiently wait for my system package manager to include Rust libraries before I can properly program in Rust.

I don't like how this is done because I only have one choice. With Python I can choose to install from my system package manager or I can use pip, depending on how I want things to be set up. With Rust, I can't. I am essentially forced to use Cargo.

All I want is the ability to use one program (my package manager) to do one thing (install software and its dependencies).
 
Last edited:
I just love getting to know a new tool by using each bit manually. You look at shit like rust docs and it tells you to just use cargo and doesn't explain how to include shit with rustc, then include folders in the build system, and finally move on to explaining how the crate repositories work. I fucking hate abstractions unless I have a general idea of the underlying logic. They seem to not want you knowing how it actually works, you just need to consoom development tool goy.
My favorite programming language book is Real World Ocaml for reasons like this.

Like, not even to shill Ocaml itself (it's a good language though), but even if it wasn't, as far as programming books go, Real World Ocaml is one of my favorite ones, and the reason is, is that it has a whole section going over the tooling and the implementation of the language.

So yeah, you get all the features of the language in the first second, then some common libraries and tasks in the middle section, but the final section goes over the actual implementation of the language.

It goes over how the type checker works. And the garbage collector works (and how to tune settings for the garbage collector). And how various language elements (high level things like variants) actually get implemented in memory. And all the various tools and how they fit together.

It's not just a black box.

A lot of programming languages that introduce high level, cerebral concepts like functional programming or pure object oriented programming (like Smalltalk) or whatever can get kinda culty at times. Some of their advocates act like they're going to reinvent the way you think about programming and you'll never, ever have to deal with dirty low level nonsense like bit sizes and CPU caches and stuff like that. That's for the grunts implementing the compiler to deal with, but you working on the important, high level stuff won't have to sully your hands.

I do think functional programming is good. And it will change the way you think about things. But you're still doing work on a computer. A real computer, not an abstract, perfect, mathematical model. And sometimes you might need to come back down to earth and deal with the implications of that.
 
I do think functional programming is good. And it will change the way you think about things. But you're still doing work on a computer. A real computer, not an abstract, perfect, mathematical model. And sometimes you might need to come back down to earth and deal with the implications of that.
I appreciate and respect the approach Ocaml is taking to trying to establish their language. I think it has the best chance of being adopted out of any of the ML languages.

Someday if I ever stop doing C stuff I'll do some Ocaml stuff to either find a language that is good, or simply learn more about functional patterns.
 
  • Like
Reactions: Marvin
Back