#programmers-off-topic
1 messages · Page 56 of 1
When it comes to software, I try to stick to tools that do one thing and do it well, so that I can understand the complexity of the whole system.
You run a whole rackmount setup, whereas I am grug, I run this all off a single NAS.
I've tried out quite a few self hosted projects
(Though I might, at some point, build a dedicated server, because I don't like the hosting device also being the backup device)
I feel like I'm doing something wrong here with the linux (Bazzite) installation
😔 haha yeah who would host several discord bots
oh?
The installer won't detect my external SSD
By which I mean, I did what DH suggested and put a normal SSD in a usb c case thingy
Did u mount it
The laptop detects the ssd, but idk what's happening
Did the BIOS see it?
It did, yeah
lsblk
It's not the discord bot that's of any concern to me, it's Discord itself. Nothing wrong with self-hosting Discord bots to run on some public Discord server that you're involved with, I just don't want my private notifications being published to Discord's servers, or depending on their infrastructure for my own home infra.
Or was it lsdsk i forgor, one of these
ntfy looks good. You probably already have this, but this is my go to whenever researching self-hosted solutions:
https://github.com/awesome-selfhosted/awesome-selfhosted?tab=readme-ov-file#communication---custom-communication-systems
lsblk will show available block devices, yeah
Most distros have automount tho
That's what I'm finding odd
for the installer, it should automount and be ready to go
For removable drives
Was the drive already formatted?
We just installed bazzite onto a - no, i didn't format it yet
It still should see it
Just took it out of the box and stuck it in there
Where do I do this?
Let me look at the bazzite installer UI
Yes, it's a good list. I don't use most of what's on it, have not yet progressed to the point where I feel it's worth it to save e.g. $3/month to self-host an IMAP server, but who knows, maybe someday...
oh right, it's like Fedora
You're in that "System -> Install disc" or whatever menu I assume
Is this just a secondary drive for games, or do you want to boot off of it?
That's as far as I got
The latter
I still have windows on this thing
Wanted to keep it intact while I tested Bazzite on the external disc
I hope it's a VM, otherwise that's a really tiny hard drive.
What hardware are you installing Bazzite on? I've been thinking about putting it on my Rog Ally
And yeah, since it is a VM, the installer is only going to see the virtual disks, not the real disks.
I currently have Atlas on it which is just a modded Windows 11
That's a screenshot from the installation instructions, my bad
Ahhh
My Asus Vivobook Pro 15
I'm putting the desktop edition with KDE on it, no steam gaming mode
Does "Add a Disk" prompt anything useful
Nothing pops up in those menus
let me run bazzite in a VM of my own to see how this works
Alright
How many people does it take to screw in Linux
I'm used to arch downloads, this is a hefty lad
alright, starting up, lets see here
Yeah, I would expect it to be under "Local Standard Disks"
I wouldnt think so
You could try rebooting and instead go to the "Test it out" option, we might be able to diagnose it better there
actually Test it out looks like it took me to the same place
I'll boot into the BIOS again hang on
Well, there's the dingus
It recognises two drives in the bios
two drives or two partitions
one of those is your USB stick too
I think it just sees the one
Ah motherfucker, I forgot about the USB stick
Okay
Lemme format the ssd with windows and report back
If I can, that is
What does Linux prefer
NTFS or something else
Ext4
Linux has support for NTFS, but I wouldn't trust it. Ext4 is the ole reliable
ntfs is what windows understands
Yup
I've done stupid shit before like having my home on a different partition
And mounting that on both windows and Linux and that was a bad idea
the hipster's answer is btrfs or zfs
I love zfs but I wouldnt put it as my boot partition
there's much more hipster than btrfs
I should take the laptop to a repair shop and check if my laptop has a second SSD slot - Selph don't confuse me I beg😭😭
I just like pronouncing "butter fs" out loud
reiserfs - the author only killed someone that one time™️
What model is it? We probably could google it
(The reason for the usb c housing thing - I can't open the bloody laptop up myself)
it happens...
oh rip
Asus Vivobook Pro 15, model m6500qc
I hate how I just read this as "Reis Erfs"
Oh hey, it recognizes something is plugged in here I think?
Hmmm
Have you tried swapping the order of these two
I have not, because the second one is the USB stick with the bazzite installer on it
I confirmed this to be the case, btw
Windows doesn't recognise the ssd dingus either so I'm gonna check if the ssd is properly installed in the casing
... Could it have been upside down?
I'd installed it in the thing facing this way
Yeah, it would've been very crunchy to install it wrong
Yeah I looked further and confirmed that it's fine
But yeah
Opened up disk management on windows
What on earth am I looking at
You know, I usually know my way around a computer just fine, but this is stressing me the fuck out lol
the windows disk management tool is forsaken by God
What do I select in that horrid initialise disk box
Do I just leave it as is and click ok?
It terrifies me, I shall refer you to someone else lol
What
Tbh I usually do disk management from the boot drive
https://www.act-connectivity.com/en-us/usb-c-m-2-nvme-pci-ssd-enclosure-toolfree-ac1615
This is what the SSD is connected to the laptop with
USB-C | 10Gbps | NVMe | PCIe | tool-free| screwless | aluminium | UASP Tool-free aluminium enclosure for a NVMe/PCIe SSD up to 80mm with M key or B+M key USB 3.2 Gen2 SuperSpeed USB 10Gbps and UASP support for a higher data transfer Including a USB-C to USB-C connection cable with USB-A adapter Lightweight pocket-sized aluminium design for bette...
This is what it shows up as in my device manager and in the bios
this is not being recognised as a valid storage device
yep, trying to initialise the disk will not work
thats odd
yeah, I have no idea what I'm doing wrong
jmicron isn’t a hard drive company is it
micron is
well, they make flash memory
oh jmicron creates sata bridge controllers
yeah, what the device manager is picking up is the bridge controller inside the ssd enclosure
This business seems harder than installing arch
considering how straight forward archinstall is that is genuinely true
also sorry I have no idea what’s happening with your drive
Have you init it, I would try mbr?
Given that both Windows and Linux are having serious trouble with it, my guess would be either that the disk is coastered, or has corrupt firmware. Or, it could be an issue with the I/O controller, can test that by trying it in a different port.
It's an external enclosure
And?
init with gpt instead of mbr, returned a fatal device error
And the controller is recognised in the device manager, the disk is being identified as the controller instead of as an SSD, and this seems to be a common problem
I'm normally capable of troubleshooting on my own but hardware bullshit is beyond my understanding
I'm probably gonna take the ssd to a shop and see if they can install it in the laptop directly or at least test it, and if that doesn't work I'm going to go straight to coolblue and get my money back
The lady at CoolBlue said if it doesn't work I should just return it lol
😌
NVMe enclosure sounds like a sketchy concept to me, tbh. It would have to recognize the controller and the disk, because the enclosure has to have its own controller, because it's PCIe and therefore can't use the internal controller (there's no such thing as PCIe over USB, to my knowledge). So USB is giving an interface to a new I/O controller which subsequently gives access to the disk.
If it recognizes the controller but not the disk, then that seems to confirm the "disk" is bad, or not compatible with the controller.
I'll go test it tomorrow or on Monday
Probably on monday, because then I'll take my dutch-speaking friend with me to the shop
I should probably place my Framework order now, even though I haven't hit my threshold of Nexus money. 🤔
You haven't gotten that Better Game Menu payout yet
Did get 135k points today tho
that sounds like a lot
My rewards are down, but that's mostly because I took down my most popular mod
My peak was 306K one month, but that was a total anomaly. I can't imagine what the more ubiquitous frameworks are getting regularly.
that sounds like such an insane amount
is it explainable to someone who has never used nexus in his life
136k = $136
how do you get these points
It's based on your share of unique downloads per month, I believe
Compared to the overall ecosystem
they technically hide the algorithm but I think unique downloads are a big part
right
Aedenthorn was a prominent modder who had hundreds of mods across dozens of games on NexusMods, I would bet they were getting millions of DP per month
306K unique downloads of a mod in a single month would be pretty nuts
as another data point, if i get a thousand or so unique downloads in a month it was a really good month for me lol
funny how I have no idea who they are, presumably just cause they don’t go into off topic
Probably still are, they're still active making stuff for other games
wait really, I thought they abandoned modding as a whole
Didn't realize they only abandoned SDV
They shut down their entire Discord server which supported their mods across all games
Think they still make stuff for other games, yeah
662 mods holy
So yeah, they're probably getting a large share of DP
their profile says 11.1M unique downloads but idk if that’s for this month or total
I tend to cash out every 1M DP or so, however long that takes, and then buy things off of my wishlist
I look at how many mods aedenthorn wrote and just get exhausted
But I guess if you're not doing long term support it's w/e
how does one have that many ideas for a mod
There is no shortage of ideas, but I wouldn't be able to churn out as many mods as I have ideas for simply because of time, and tbh passion
perhaps someday I will make a mod for a game
There's hundreds of mods I could make, doesn't mean anyone else would be interested in them
Or even me for that matter. Most of the time it's just brainstorming.
I think i'm more limited by time than anything else although now I feel that this is suspiciously on-topic
This channel should become programmers-off-topic since it's programmers who discuss whatever
I think the ssd issues kind of counted
I’m being censored
good

tbh for mods I’d much more see myself pick some funky technical problem/engine work to solve than actually creating anything
I enjoy solving a technical problem a lot more than I do actually creating something
though frankly doing engine work as a mod sounds like it’d be fairly rough
and break every update
I guess at work I do build “add-ons” for a program, that’s kinda close to a mod
Cancel culture strikes again /s
I'm similar, and that's why I do more in the realm of framework authoring rather than making mods which do things on their own
I try to get more creative every now and again, but those rarely ever do well
I have the refined art skills of a chimpanzee given buckets of paint and a canvas so any mod of that nature would be out of the question
really though I also almost never use mods
other than performance and render distance mods in minecraft
oh and performance mods in starbound cause for some reason that game just did not run on my machine despite being, in theory, significantly more powerful than necessary
I mod games that have a good modding scene, but try to keep things to QOL or aesthetics
fair
My minecraft loadout is pretty large, but it's all mostly aesthetics/performance
oh dear
A few things that help when I'm building farms like carpet, tweakeroo, minihud, litematica
xaero is probably the only cheaty thing I have
just the carpet mod by itself gives a pretty good indication of the kind of player you are
I have no idea what most of these are
it’s a miracle to me that the game continues to work with stuff like this
how do these mods not end up breaking each other
I still really want to do a playthrough with the new create mod. The factory automation stuff looks super neat.
the create mod does look cool yeah
Fabric is pretty wonderful, and most of my aesthestic mods add particle effects that don't collide with each other
I’ve tried some minecraft mod packs a few times but I always reach some point very quickly where I can get pretty much anything I want by snapping my fingers and have no motivation to continue playing
I do plan to scale some of these back whenever the new Vibrant Visuals comes out for java since I think the vanilla game has most of what I use mods for anyway
With leaf litter, fireflies, and falling leaves, I don't feel like I'd use most of these anymore
Yeah, that's my big issue with Minecraft. You quickly reach a point where you have effectively infinite resources and okay now what
I enjoy building but somehow in a modpack it completely kills my interest in doing anything except a cube with stuff
the direwolf20 style base
That's why I want to play with basically just create and not other tech mods
Create machines all take up space do you need to make space to put them
Create is so good
Not just a single powered block that does a million things
It's like redstone but better
you don’t want a singular block that does pretty much everything you could ever dream of within a single game tick?
I have a 600 mod gigapack that I made for minecraft but the most recent one I played was all the mods 10
No, and I'm tired of pretending I do.
Tech mods really miss the point, generally.
The problem with the gigapack is that sometimes it hangs while processing datapacks during world load and I can't figure out why
there’s a bunch of mod packs with a “book” guiding you through some progression paths but to me they’ve felt more like busywork than fun
I like quest books when it's less "here's what you have to do" and more "here are some challenges/goals you can do if you want", or instructional quests that guide you through mods
I remember really liking some bees/apiary mod thing many years ago and I’d just spend hours trying to breed new bees while having no idea what I was doing
that was fun
Forestry! It died back in like 1.13 but recently there was a community-developed reboot for it!
ah right that’s what it was called
I have no idea if I would like it now but I did back then
Mods have changed a lot since then. Mostly for the better, I think, but there's some stuff I miss
Mostly thaumcraft and astral sorcery
Spectrum seems promising though
easily my least favorite mods are the ones that are just like “this block is a [thing]amalyzer and if you put in [vaguely chemistry words] you get [other chemistry words] which you can then use to make… and then that continues for 700 steps till you built a nuclear reactor or something
mekanism.png
Gregtech is made for people who hate themselves I think
give me a nice looking watermill not a super uber thingamalyzer running on petanewtons
netherlands.png
A what
a whatsit
An antiprotonic nucleosynthesizer <- real mekanism machine
Definition not found. Did you mean antiproton?
It uses liquid antimatter to mutate items
can antimatter be a liquid
yes
Yws
In theory yes
that’s fun
it originally comes from a liquid in most tech packs iirc
But why are we using antimatter to make nucleotides
It's magic science, I don't gotta explain shit
tbh mod packs love their random liquid that needs to be pumped into machines
People love their random liquid....never mind

I trust twin to not be nutty
...pineapple?
Okay, I'm assuming you mean pineapple juice
I'm very innocent you know
ah finally the AI has taken our role of generating the hypothesis so we can skip the tedious step of having to figure out figure out something we actually want to know
“but how many golf balls would fit into a plane”
hypothesis: the volume of the balls should be less than that of the plane
this is gonna result in pubmed being filled with AI slop, isn't it
naturally
AI does have legitimate uses within research though
protein folding being the easy most publicized example
but this…
"Hypothesis: the word strawberry has two Rs." - AI, probably
generating research proposals?
oh it learned that from me, sorry
I know, but AI generated abstracts and proposals are a bit much
yeah
My layers continue to evolve
Matt your keyboard scares me
I just realized that I use my ring finger to reach for the letter Z, but this keyboard seems to work better if I used my pinky instead
I'm finally getting used to middle finger C
Learning how to type again is weird
Definitely stole that one from you
I tried combo keys for brackets from someone's elses layout, but I wasn't feeling it so switched back
I've also gone back and forth between 4-5-6 or 1-2-3 being on the home row for the 10-key layer
As opposed to just being filled with human slop.
(I've got some doctors in the fam, and their opinion of pubmed is... well... that.)
It's idea generation, some human has to still do the experiment
Tbh I tend to trust TwiN
is there a way to mass download linked images in a discord thread 
Is this for sneeb purposes
Must be
In any case, the simplest solution is probably to write a javascript script to find images and pack them into a downloadable zip, then scroll through the message history to load them all
Loading them all would take a while
I think the only other way to do it would be to write a bot and get it invited to the server it's in
You might also make the script just write a list of links and then use curl to mass-download them
both of these sound very scary
Eeeeeh, there's useful stuff in there sometimes
i suppose the js script wouldnt be that bad if it is just some kinda tampermonkey thing on web discord?
and yes it absolutely is for sneeb purposes
Yessss sneebbbbb
There is, and it'll probably be the same with the AI-assisted stuff - some useful, a lot useless. Actually, there's some evidence that AI-assisted "peer review" and meta-analyses can pick up things that human reviewers tend to miss, because less biased and less primed for nonsense like p-values.
Which isn't to say that AI is capable of actually doing the research, and I'm not so sure about AI generating hypotheses or proofs either, but there seem to be legit uses for it.
Sadly, the AI did not successfully write me some tcl
I'm generally more fine with ai that is reviewed by a human
I legitimately find it faster to tell it to write bash for me, mostly because I suck at bash syntax
Also because the things I want in bash are usually very simple little scripts (ie, process the output of svn status, or iterate this directory and delete files matching this regex and also svn rm them, etc)
Tl;dr I often find myself writing bash scripts to make svn suck less lol
at least when you ask the thing to generate some code or a script, your compiler or shell or whatever is right there and you can see for yourself right away whether the output it gave you is full of shit. depending on what it is, you don't even need the specialized knowledge; you can just look at it with your ape eyes
Yeah. And it takes some coaching tbh
Like, in a "okay, but did you make sure to take into account that directories sometimes have spaces in them"
I still personally don't find myself more productive with it, but if someone who is themselves an expert on the subject matter is using GenAI as a productivity enhancer, then that's fine, can't really complain.
It's only when they add no value to the equation themselves, and think that "AI" is going to do all the work, that it becomes a serious problem.
I haven't ever really used it before, but I think if I did, it would only be for extremely straightforward boilerplate.
Though even then, there's usually ways to abstract the boilerplate anyhow
Tbh it mostly is only good for bash. I tried to get it to do some tcl for me but since it didn't understand the ecosystem nothing it gave me was right
I missed the modded minecraft talk, how tragic. 😔
I've been thinknig about playing again but playing by myself doesn't tend to last as long these days
My favorite modpack was probably Agrarian Skies 1, it did feel like it fell into that "quests that instruct or challenge you" rather than "quests that are a checklist" sort of thing like mentioned earlier.
Learned a lot about various mods I hadn't heard of or at least used before, like Blood Magic or Gendustry (the latter was basically ways to get better Forestry bees without being quite as subject to the whims of RNG - poor bees, I melted so many into DNA).
I think I had gotten near the end of it, if not outright completed it (besides maybe some more extreme 'extra' quests).
Tried Agrarian Skies 2 at one point, didn't get as far in it, didn't feel quite the same if I remember right. Could've just been me though.
I tried going back to AS1 at one point within the past couple years, but lacking some of QoL vanilla features was making me suffer (like no sprint button, just double tap forward sprinting).
I don't seem to be as good with generic kitchen sink packs (ie. ones without good quests). I also just really like skyblock as a concept (perhaps for the same reason I like floating islands as a setting in general).
That's a point of concern, actually - if AI makes it even easier to churn out huge amounts of repetitive code, then tech debt's going to become a bigger issue than ever. In theory these codebots are supposed to help with refactoring as well, but only with the mechanical transformations; still need a human to figure out what and how to refactor.
I enjoy the minimalism of skyblock, where just about every block in the world is one you placed
Well, there's some things that will probably always be the same, like java beans. Then again, a good IDE will have tools to generate that stuff anyways, so. Not sure about the value of that.
Skyblock has been one of my favorite things, if only because it's so laser focused on automation.
It definitely cuts away the aesthetic/creative side of things, to a large extent.
I used to like it, but a lot of the cool skyblock mods have vanished in newer versions
I actually feel like having a blank slate gives me a lot of room to be exclusive
I suppose that depends on individual creativity. I work best with a canvas of some kind. So, in this case, an existing landscape.
If I'm left to build in skyblock everything turns out very geometric.
Same here. I like the progression of it all. Plus you can totally min-max the farms by controlling all the spawning mechanics.
This kind of makes me want to do another SkyFactory play-through.
I also only do skyblocks i get too distracted or overwhelmed otherwise and i never finish the pack
And i need some sort of guidance too so love quest books
Right? No need to build a perimeter the entire world is a perimeter.
Just go down to the world floor and create insanely efficient farms with no effort.
Indeed, and i'm also not great at making things pretty and i've found it doesn't bother me that much if there's no view/landscape to ruin
It's also fun to combine advanced knowledge of vanilla mechanics with modded bullshit
Like those one block mob grinders that just kill everything in front of them instantly, basically?
Combine those with a spawning platform at the world floor in a perimeter and you have something not much less efficient than a sliced portal farm, but without the annoying update suppression work.
And perimeters are... pretty easy to make with the right mods.
Then again I think I saw a mod that was literally just update suppression in a single block
(And I bet carpet has that as a feature, lol)
...what were they doing then
I have no clue
I would like an in depth explanation of this one if it's real 
In November 2023, Reiser wrote a letter to Fredrick Brennan from prison, who forwarded it with Reiser's permission to the Linux kernel mailing list (LKML), in which Reiser recounts his regrets regarding how he interacted with the Linux community.
iirc I have a pcie usb enclosure which works fine (though I didn't look too hard into how it works) so the concept is doable as long as I'm not misremembering
hope he had other regrets too
... wtf
quite the story to how you met your wife.
In 1998, while working in Saint Petersburg, Russia, Reiser arranged to meet a Russian woman he selected from a mail-order bride catalog.[17] To communicate with the woman, Reiser hired an interpreter, Nina Sharanova. Five months later, he married Nina.
this feels like a question that's designed to nerd snipe mathematicians/CS people into talking about the curse of dimensionality
if you haven't done it yet I will make a user script later
why was she willing to marry him...
(one of the basic examples of the curse of dimensionality is that the difference in volume between the unit sphere and the width-2 cube (the smallest cube that can contain it) increases as you increase the number of dimensions)
i have a question about github! i started using it to keep track of my mod files and to allow me to sync between my computer and my laptop. i made a new branch for updates im currently working on, and i’ve committed a few changes to it. do i have to publish the branch to be able to see the changes on my laptop?
basically i broadly want to know what commit vs publish does. i did their tutorial repo but i’d love to know more details
you'd have to publish the branch to github to be able to download it yes
currently it only exists on your computer I imagine
i see
so when you use git with a remote there's 2 copies of your repostory
commiting is adding the changes locally, pushing makes them available remotely
one is with nic-pc, one is with github (or whatever)
so the files are always stored locally, and github just accessed them? or does a copy exist online somewhere
github has a copy
you do git push to upload changes from nic-pc to github
when you push, you update github's copy
commit just takes your current changes and makes it part of a "commit". A push then sends your commits to the remote repository(in this case github)
i never seen this term used but i hope so?
idk publishing either
i use github desktop and it says i can commit and then publish
…i think, now i’m doubting myself lol
I guess with publish they mean having the branch exist in the remote at all
publishing is uniquely used when you have a local branch in github desktop
in all other contexts they use push
github using its own terminology 
further question: can i publish the same branch multiple times? i’d like to push my changes every night but not if it’ll create 738277383 branches
you can just push your changes to the same branch
oh excellent
and then press thepush button when committed
when you work by yourself you often don't need to use branches very much...
so for single contributor repos its just up to your own organization desires
some people branch to do feature and then merge back to main or stable when done
so instead of a new branch 1.0.1 i can publish to main, and make the change summary titled 1.0.1?
yeah that’s what the tutorial repo had me do a simple version of
as in the commit message? yes
yeah the box in the bottom left where it says commit summary and description
versions as branches are more to keep an old version around (for a variety of reason). Like if you decide something is a version release you can make a new branch with that name which you'd then leave unchanged beyond maybe some fixes
makes sense!
and a valid reason to keep an old version around does NOT include as a backup, right? since you can go through the version history of the main branch and restore any of those?
sorry for typos my phone hates me
sometimes i make a second clone on my local just so i can look a old version easier
but see bc it is git i can simply do that anytime, rather than keep version around for this purpose
beyond the basics people generally have different strategies on how they(or their team) likes to organize it
yeah that makes sense
i’ll play around then and see what works for me now that i actually know where the files are and what committing/pushing does
thank you all!
by yourself at the start you're honestly fine just pushing to main and maybe making branches if you're working on changes you're not sure about yet
that’s my secret, i’m never sure about changes i’m making B)
you can also revert or reset in your history worst comes to worst...
can i revert changes made to a specific file(s) or would it be rolling back the entire thing?
you'd generally be reverting a commit
You should be able to look at certain commit/tag/branch and download only the file you need...
(we're talking about GitHub, right?)
yep github! specifically i downloaded github desktop
but i know it’s on the web too
Not sure how it looks on the desktop app, but let me take a pic of what I mean on web...
the desktop app can't undo a specific file's changes
gotcha! but if i go into the repo online, i can download a specific file’s past version?
Yep! Like here, my mod's repo, 3 versions old!
“full list of all github commits here”— did you create that or was it generated?
u can right click and open in github from this
(for comparasion, latest version)
i’ve been using notepad++ but i could probably switch to vscode
np++ may have plugins for this type of thing, im not familiar tho
so far all i’ve done with it is tell GH desktop that NPP is my preferred text editor lol
I have a - not 100% related to GitHub but connected with it - question - could anyone tell me how to properly format "nightly" mod versions using Semantic Versioning 2.0.0 (https://semver.org/), please?
Would, for example, 1.0.0+05042025 be correct? And if so, even though these would be private versions, would SMAPI recognize this version format?
Would strongly advise against using GitHub desktop, it's just going to teach you all the wrong things about distributed source control. You can use the GitHub CLI to deal with specific things like pull requests, when you've reached the point of needing that level of control.
smapi does -version
so for example i may make several 1.5.0-beta.x versions
and once i release 1.5.0 smapi considers that to be higher
oh okay, thanks for the warning. i don’t expect to deal with PRs anytime soon. to commit and push changes, what do you recommend?
Yes, I know that, I have already done 0.9.0-beta.3 and something similar.
So it's better to keep using way too many alpha and beta versions?
VS and VSCode both have integrated Git support. If you really need it outside the IDE, you can use Git Extensions or TortoiseGit (I prefer the former). Long-term, it's best you learn how to use the Git CLI.
(the IDE is windows power shell, right?)
The problem with GitHub Desktop is that it's trying to provide a model of "some sort of GitHub cloud service thing that technically uses Git to sync" which is completely ass backwards.
No, IDE is VS or VSCode or whatever you use to build.
(Not Notepad++ obviously. That's just an editor.)
yeah lol the “cloud” aspect was very appealing to me
but i can see how it would give me the wrong impression of how stuff is stored and saved
Yes, I know, I could tell from your earlier posts that you were starting to conceptualize the whole thing as GitHub being some "cloud sync" like Google Drive, which it 100% is not. GitHub is just a remote host for Git repositories, with some fancy frontend stuff.
At any point in time you could take your Git repo and move it to GitLab or Codeberg.
so when i download a repo from someone else’s github page, is it hosted on their computer, and then sent directly to mine?
If you want to learn Git properly, then from day 1 you have to learn it in terms of commits, pulls, pushes and (eventually) merges and rebases.
No. GitHub has its own copy of the repo. But that's all it is, a copy of the repo, and you decide what gets pushed or pulled and how.
It's not a blanket "sync everything" between A and B like a Google Drive. It has its own set of branches, commits, everything.
This is why I'm saying not to use GitHub Desktop - it'll prevent you from correctly learning how to use git locally, and that's the correct way to learn; after you get familiar with local repo management then it'll be far more obvious what a "pull" or "push" actually is.
oh yeah i expected it wouldn’t be an automatic sync based on how it was teaching me to commit and push (although i didn’t know what each step did specifically). but it sounds like learning it locally is definitely the way to go lol
Commit is the same as checkin or changelist in other VCSes, literally a list of all changes you've made to any files since the previous commit. You don't want to conflate that with a push, which is when you send all those recent commits to a remote repo, or a pull, which is the opposite.
The biggest reason why you really want to understand these distinctions right away is that in order to finish a push or a pull, the local and remote have to be perfectly in sync, or you have to take additional steps (resolving conflicts) to get them in sync. And for you, since you are saying you want to use 2 different machines to edit and use GitHub to "sync" between them, you are eventually going to run into a conflict like this, i.e. where you forgot to push something from client A, then made changes on client B, and need to get them merged.
Also most people find that before long, they have reasons to want to make experimental changes locally and have the ability to revert back to an earlier state, without promoting half-finished or half-broken stuff to the remote. It matters more for teams than individuals, but even as an individual, it is just less stressful to have unlimited "savepoints" without creating a gigantic mess in the public repo that you won't be able to search later.
okay! i understand the second paragraph well, the first paragraph mostly (i don’t know what VCS and checkin/changelist are but i can guess), and i’m unsure of the implication of your third paragraph—are you cautioning me away from pushing a lot of changes since it’ll make a mess?
It's hard to make things like this entirely clear when there are gaps in the fundamentals, which isn't a criticism mind you, just a simple statement that it's not possible for me (or anyone) to cover all the basics in a few short chat messages, and it's best to start with a tutorial or two on Git. It's not about pushing "a lot" of changes, you push as many as you need, but for a wide variety of reasons you'll want to put some effort into keeping repos "clean", i.e. with a commit history where each individual commit has some coherent meaning and leaves the project in a buildable and working state, and Git lets you make as much of a mess as you want locally and then clean everything up just before making it public.
But the real point I'm trying to get across is about the mental model. Git (and other SCMs) should not be understood as "syncing code between devices". The use case, the reason it exists, is to keep a meaningful, functional, searchable history of changes for the purposes of easy maintenance and (in some cases) collaboration with other people.
tbf though, when you're starting out, 99% of the things git does can be completely ignored. If you're working on a project by yourself, then yeah, you're just making a backup you can put in
the cloud
and you can roll back to any previous version you want. In that case, you just need to understand git add git commit and git push. Once you start on projects with other people, then you can worry about branches and merging and such
Maybe, but if a one-man project grows to any significant size then you are going to regret having a disorganized and confusing commit history. It doesn't take much extra effort to learn some basic techniques like squashing.
And as for branching, well, that depends; I'd say if you're in a situation where you can expect to do heads-down work, where you simply don't commit or push until you feel like it's ready, then yeah, you can just commit everything to master. On the other hand, if you anticipate stopping work in the middle of an implementation and then continuing on a different device, you really should use a dev or feature branch.
I don't think I've ever squashed commits in my life, except maybe after a weird rebasing
One of the most common scenarios for a Git repo that's even halfway popular is needing to fix a bug discovered in the released version while there's a bunch of unfinished dev work.
There's more than one way to handle it, but all of the ways require some knowledge of branches.
That's true
If you've never done a squash or a fixup (which is basically the same thing) then either you're extraordinarily careful and deliberate about your local changes, or your repos are scary to look at.
or both!
Could also be both, yes.
imagine making mistakes
the main way I’ve used squash isn’t manually but just that PRs are automatically squashed to be 1 commit
I don’t think I’ve ever used it myself
those PRs could also then be cherry picked into release branches if necessary
I'll rarely use it locally if I decide later I have two commits that could be one, but honestly I tend to just work on one item at a time
I have a lot of local branches tho, I tend to keep things separate
me too
I myself do not understand at least 90% of what's in the Git manual and frankly, I'm not sure if any human is capable of understanding everything that's in there. But in my book:
- Git 101 is commits, remotes, pushes; don't do anything with Git before understanding those;
- Git 102 is branches, merges, resets, amends and interactive rebases; don't try to do an important project with Git before learning the very basics.
Everything else can be deferred, yeah. You don't need to know all about the git config settings, reflog, manual file management and all that junk. Can probably even get away without knowing about stashes, and rely exclusively on the IDE to handle things like file renames.
I’m very skilled at fucking up a rebase
just make patches crumble it'll solve everything twust
Really? It seems hard to irrecoverably fuck up a rebase since you can abort at any time.
oh no I’ve always recovered from it
I’m just good at reaching the point where I abort
Only situation that's hard to fix is when you rebase over stuff that's already been pushed, and even then, it's nothing that a push -f can't fix.
And if it sounds like I'm being unreasonable in my list of need-to-know material, just check out the main doc page and look at the entire list of commands... do you know what bundle and backfill are for? I don't, and I'm not sure I want to.
I think if I attempted a push -f a coworker would come in and execute me
I once used bisect
bisect sounds nice, but its more trouble than its worth, I just do it manually
Oh yeah, bisect is incredibly useful but is definitely one for the "intermediate" category, beginners don't need to know that.
99% of the time I just look at the commit description and can figure out which one it would be without anything fancy
What if it was --force-with-lease? (Bonus question: how many people here even knew that existed?)
I have no idea what that is
If you told me you made that up i would believe you
It's 100% real, though I can never remember what it does without looking it up.
We don't actually push directly, we push to one of those review staging things, and then once it gets enough approvals it goes in. I don't actually have direct access to the branches
Wouldn't rebasing be very important in a code review context? No one is going to review a slew of halfassed commits.
We use git I think very differently than most companies
I mean, you could just not commit anything until you're 7 hours in and are absolutely sure it's perfect; I remember those days and I don't think I'd want to go back.
For us, a code review is one single commit. If we need to make changes to it, we amend that exact commit
Right, that isn't unusual. Reviewers want one commit per logical change.
And when you're working locally, you're going to want to commit a bunch of times in between while you screw around.
Reading this exchange about git and internally cringing because the idea of putting a coherent thought in an svn commit 😦
It's not like github, where you can push like 27 commits for a single review
rn I can play very loose with the rules for git discipline since it’s mostly solo projects…
That's true. I tend to use git reset to undo the WIP commits, then stage it all together
I get it, and this is in fact normal at a lot of companies, especially the bigger ones. Since "pull request" is not really a Git thing, it's a GitHub thing, and not everyone uses GitHub.
Yeah, I mean you can also keep --amending over and over again, but what if you amend (or soft-reset + re-commit) and then realize you screwed something up?
azue devops also does pull requests and it’s the version I’m used to so when I had one in github once I got pretty confused
one of these days we'll probably switch to devops, but who knows
well… two ways for me to look at it. Either I don’t know what I’m missing out on or azure devops works fairly well
See, the pull-request system just shifts responsibility for cleaning up the "batch" from the committer to the owner. It's completely understandable that a lot of companies don't want that kind of workflow, and instead expect authors to do their own cleanup.
what do you mean with cleanup?
As an open-source maintainer with little expectation of external contributions, then sure, I'm fine to let authors submit a bunch of micro-commits and do the squash/rebase myself. In a company, though? No freakin' way.
why would you need to do that? That’s completely automated
you just accept the PR and it gets squashed and rebased
at least in azure devops…
In ideal conditions, maybe, assuming no merge conflicts or other issues. And there's still the matter of the commit message.
merge conflicts can be annoying though the person who opened the PR has to do that
isnt that the authors problem
In no way am I saying you can't deploy the PR model in a closed corporate environment, just that a lot of companies aren't going to bother because it's unnecessary.
it’s the norm in both companies I’ve worked at so perhaps my perspective is warped
What if an accidental, unrelated change finds its way into the middle of a long chain of commits in a messy PR?
And don't even try to say that accidental changes don't happen in your company.
you give them a disapproving look if it ends up causing issues 😌
Haha, well, my teams have generally been less flexible about that sort of thing.
though we didn’t really review commits honestly we just reviewed the diff at the end
Right, I'm saying what if the diff has something that shouldn't be there. Sure you can solve it by just making another commit to undo the change, but it's an ugly process.
it is
If the diff has something that shouldnt be there, it would get flagged in the review process, and the author would fix it, and it would all resolve in the final submission
So some companies just say "reviews should be one commit; amend it as necessary".
The PR model is fine too, it just requires a more sophisticated branching strategy.
our sophisticated branching strategy was just “1 branch per workitem”
the branch names were like [workitem-number]-SomeNameThatKindaDescribesIt
Look, there are basically two ways to do Git at scale, which could be called the "merge model" and the "rebase model".
Merge model is the canonical GitHub model; everyone works on their own feature branch, hacks away, and caps it off with a big merge commit. Rebase model is where devs are expected to rebase their work off a branch (typically a common dev branch, not master) before sending it out for review, so that every commit that is actually accepted into the common branch is free of merge commits and other artifacts.
I'm not recommending, attacking or defending either model; they have different tradeoffs that depend on situation. Merge-based is typically a speedier workflow, but rebase model tends to be used more often in huge repos with thousands or tens of thousands of contributors, because otherwise merge commits and other crap make the repository unreadable and make production incidents harder to track down, roll back and/or recover from.
You can automate squashing, but you'll still end up with merge commits; you can try to automate rebasing, but often it just doesn't work and the author has to redo their PR anyway.
So obviously most of you guys are used to working with the merge model. Aquova's sounds like possibly a rebase model or something in between.
Yeah I think we're closer to the rebase model
They treat branches like they're made of gold
I guess I’ve worked in fairly small teams
I knew every person who worked on every project I touched personally
I work out of a very large repo with at least a hundred people touching it regularly
we only had like 15 devs
in total
and there were quite a few different projects we just jumped between depending on the workitem
some only worked with a few of the project though personally I worked on all of them
since I got kicked from team to team several times to help reach deadlines
Yeah, 15 devs is smaller than most well-maintained open source projects so I would definitely expect to see the merge model there.
one thing I really don’t miss about that job was how everything had to be rushed out often before any dev could honestly be all that happy about the quality of what they wrote
I have worked on monorepos collectively maintained by more than 10,000 devs, and a fair number in between (1000-2000). Different priorities.
AKA "every coding job ever"
It varies by degree, of course, but it is always there.
I could rant about the previous’ job’s issues though many of them would be familiar to many
Only way you get to be 100% happy with the quality of your code is when you have no external deadlines or supervision, and let's face it, in that case you're probably going to just get lazy.
I feel like workplaces have lost all creativity where it comes to their massive red flags
why is it always crunch, blame culture, "we are like a family", toxic personalities etc? I want some originality please. Give me someone performing hexes at their desk in the open-plan office
I can tell you that if that’s what your family is like I wish you the best and I hope you find a new one
"we are like a family here" when my family asks me to do a ton of extra work that's unnecessary and for no additional pay I say no...
well maybe the meant mafia when they said family
unless they mean that we are like a family because they're about to promote me to a position I haven't earned because I'm basically a nepo baby now?
"Oh good, then you wouldn't mind loaning me a few bucks... 50,000 oughta do it."
honestly my current job’s red flag was none of these. The red flag was that there was only 1 guy who knew how the application worked and had been (nearly) the only dev for it for like 30 years
You knew that well in advance, though. I remember you mentioning it several times before you took it.
yeah I was aware of it
...does your family loan you 50k when you ask. and can I also be related to them
and it’s been good frankly, though the first few weeks I wondered what I got myself into
at this point I’m starting to understand the mess and see the weird shitty beauty in the cursed spaghetti
is your coworker named Tom by any chance
luckily not
Sounds like you're settling into "just another job" mode. It's part of adulthood, when you stop caring about "making a difference" and just take something with low stress that gives you a decent amount of free time.
this guy wouldn’t know what subversions are
tbh I have worked with a Tom who I feel like could probably end up doing something JDSL-equivalent
he's the one who was asked to write some unit tests and started by spending two weeks writing unit tests for the unit tests
one nice thing about this job is that they work in a field where an average project takes years so even their concept of a “nearing deadline” could be months away. That opposed to my previous job in retail software where a day late could be considered catastrophic
it’s noticeable even in parts of the company that don’t do anything with these projects directly
do you ever wonder what your life would be like if you were more willing to jump on the latest bullshit tech trend and scam some people out of money
(it’s also a company where finishing anything with mistakes is pretty much unacceptable so they cannot ever “rush” things)
All the time
like, there were times in the past ten ish years when that would have been so easy
I’m not sure I would be able to sleep at night but it would be interesting
Every day I think "but what if I just gave up my principles and became an ai shill"
exactly, I feel like the real reason most of us don't do that is exactly this
Might make it easier to find a job but I dunno if I could live with myself
but like, during the nft hype? oh my god there was so much money going around
“what if I had joined that clearly doomed crypto company I saw when I looked for rust jobs”
no like
what if you pitched a blockchain startup that would "revolutionise <roll a random word generator>" to some investors a few years back
while most of the tech scam bullshit is in the US we do have a few here in the netherlands
literally free money
Potato chips
I will revolutionize rolls wheel cheese making! with AI
you both laugh but at least one of those probably existed on kickstarter at some point
I appreciate that we both thought of food for some reason
atra I will revolutionise knitting by nft-ing it
unfortunately the company I work for rn is well over a century old and not a unicorn startup revolutionizing [industry]
Knitting already isn't fungible
it's like that one knitting.com person
Every piece is individually made with love
I shall make chainmail out of this supposed blockchain
It's obviously with love because otherwise why knit lol
...guys. guys.
I will revolutionise podcasts using AI voice generation and a blockchain, and I will nft each episode--
I feel like podcasts could really benefit
Sure!
you will be able to own a podcast episode
Just randomly have a 30 year old guy with a dulcet voice whisper questionable scientific facts in my ear
[the data inside the token is just a url to the podcast stream]
I really need to know if hack squats are better than barbell squats
"and what you can do is, you can put in the contract that every person who listens to it has to pay you 10% royalties when they sell it to the next person who wants to listen to it, and the first person isn't going to care--"
Truly. It's of grave importance ||except realistically you just take the machine currently open||
oh my god that "nft that" speech gary vee gave was one of the funniest things I saw about nfts 
non fungus tokens
non fungible knitting patterns
it's funny how the "copyright is the most important things ever, you must own all IP" changed their tune real quick when AI became a thing. it's almost like they didn't care 
the tune is whatever is beneficial for their finances
preferably in the short term
cause the long term is scary
or whatever whoever is scamming them says is most beneficial to their finances
see: gary vee
are you in the mood to go 
if not, maybe don't
so far it’s just your average dumb grindset influencer scammer
pretty much, but he's like their final boss
damn but they’re all their own boss
what a scam
I can’t say I follow or care about whatever these people are doing
it’s like people who love jonathan blow
I guess they get something out of it for some reason
good for them
Hmm, if you feed an AI every kind of cheese (not literally, AI can’t eat), could it invent new cheeses for you? 
clearly we need an AI that can taste
No, the AI is lactose intolerant.
Also, this just makes me think of this video: https://m.youtube.com/watch?v=wbfu39l0kxg
I earn up to $20k a month while working from home, making my own hours, and being my own boss... and you can, too! I earn up to $20k a month while working from home, making my own hours, and being my own boss... and you can, too! I earn up to $20k a month while working from home, making my own hours, and being my own boss... and you can, too! I ...
Correct!
it also reminds me of that video every time
Should’ve added more products with lactose to the training data when the AI was young
Maybe for CheesePT 2.0.
Also since I was on BDG’s channel I had to watch this a couple times
we've got a beautiful mind
LISTEN ON SPOTIFY: https://spotify.link/vGzmPIIBVDb
CHECK OUT TOM'S CHANNEL: @tomcardy1
(watch the bloopers on my Patreon): https://patreon.com/briandavidgilbert
music and lyrics by Tom Cardy, Brian David Gilbert, and Taras Hrubij-Piper
album art by Joy: https://instagram.com/mythical_water
filmed by Karen Han: https...
Only a couple?
I also replayed a few parts several times
But I’m also tired and need to sleep because my sleep schedule is so messed up and I actually have stuff to do this afternoon
Also had to watch the game changer season 7 trailer since the first episode is tomorrow
(Enjoy!)
What is dropout
a streaming service born out of the remnants of CollegeHumor, a once popular youtube comedy channel
This is not helping my desire to throw money at them. 
...they're doing a price increase?
1 dollar a month more than before yeah
but only if you’ve never been subscribed before
and rn you can still lock in the old price
If you’ve been subscribed before but don’t have a subscription active when the hike happens, you’ll have to take the hike if you renew. At least from what I understood
Game Changer is my favorite show on there, I should rewatch some episodes sometime
not sure honestly cause I’ve never used it
I just recall watching the price change announcement video on YT
Still cheaper than most (all?) other streaming platforms though
I love brennan and used to watch collegehumor back in the day but I’ve never really tried dropout
Me too
For the Brennan part
I was just typing how I liked how the game changer trailer seemed to show that we’ll get more classic Brennan ‘torture’ (and hopefully a rant monologue) this season
Wish I had the attention span for more Dimension 20
I do find it nice how a supposedly unprofitable “business” in collegehumor somehow turned into a well beloved and succesful company under sam reich
Yeah, from what Ive heard the parent company sold college humor to Sam for cheap and they had to get rid of all but a handful of full time employees
Need to catch up on all the smarty pants episodes
I’m sure this wouldn’t have been possible if sam reich didn’t come from a pretty wealthy family
but I won’t complain
I had a Dropout subscription for a month
I liked Game Changer and their other gameshow-style stuff, but honestly there wasn't enough to keep me subscribed for more than one month
if youre really into watching people play DnD, there's a lot of that
Isn't there a lot of people playing games on twitch
(I'm a bit sad my new schedule does not allow me to tune into my favorite twitch channel, aka Lawyer Explaining Things with PowerPoint)
there’s thousands yes
gamechanger is not a show where they play videogames however
I recently introduced some more people to pumpkin cowboy
you're doing good work
I've literally never heard of this streaming company before
Now if you don't mind
I'm gonna immediately forget it
I did their trial back when they first started dropout and wasn't into it enough to stay subscribed despite liking collegehumour
they had a great parody show about food that I liked, but I didn't like that one show Katie did and I don't watch their game shows much
also it's based on vimeo's "make your own streaming platform" platform thing and I hate their player
in general it seems like alternative platforms can’t get the player right
I used to pay for nebula but the player didn’t work very well so I’d end up watching on youtube anyway
even netflix’ player has issues often enough
crunchyroll’s one is really unreliable
oh it was the really nightmare quality kind though, it was so bad I thought for a while they somehow implemented it themselves
I’d describe crunchyroll’s one the same way honestly
it buffers/buffered regardless of how good your pc and internet are, the subtitles often were desynced…
sometimes it simply did not work
somehow their player was far worse than the ad-ridden disaster websites using off the shelf streaming backends
iirc arrow keys didn't do anything with the vimeo/dropout one, it had issues going fullscreen, and a couple other issues
Question about dual booting
Safe to do on a single, partitioned drive?
Or no
Because if safe, I'm simply going to upgrade my laptop's ssd
If not, I'm returning the ssd and shit anyway so I'll use the refund to buy a normal external SSD
generally safe if you don't share ANY partitions
afaik
I'm thinking that if my laptop supports a 2TB SSD, I'll have two 1TB partitions, one for each OS
It's perfectly fine, I did it for years
Setting it up can be a bit of a bitch tho. installing isnt bad, but getting the bootloader to see both partitions I remember being more annoying than you'd think
I'm dual booted in a similar ish way, though I've partitioned the Linux part into smaller partitions
I seeee
How so?
I think it depends on the bootloader? I used refind which saw them both automatically iirc
or possibly not automatically but was very simple?
it's been a while since I last installed arch 
I'm not sure what grub is like though, maybe it's tougher with grub?
I think I used grub over the Microsoft boot loader and it Just Worked TM
Good because I have no idea how to fix it if it breaks
I've always heard that Windows will try to take over the boot loader, so I'd look into best practices for avoiding that. Maybe install Windows first? Assuming Windows is one of the OSs you're dual-booting, that is
Yeah, it does
It will also do it every time you update windows. I had to fix it twice
This is all 4-5 years ago so I've forgotten what I did, probably boot from a boot drive and follow instructions from stack overflow ngl
I think it's no longer a problem with UEFI
you can have multiple boot loaders and set priority between them
back in the olden days Windows would overwrite grub
Windows is already installed, yeah
windows: oh look, an entire disk homf
its free real estate
I just got the payout for a bug bounty for the first time ever, this is fun
I can see why people hunt them 
a bounty hunter
I think the (only visible to you) part only applies if you don't screenshot and send it to the person, but that might be the kind of insight you can only have when you're an elite expert bug bounty hunter /j
is this the nexus ip leak thing
Congrats!!
fear
Hi, it's me, your resident brainrotted-from-KAR-sequel. Had a dumb meme idea, enjoy.
I might not be getting a Switch 2 at all. Still waiting to see how much Nintendo bumps the prices thanks to the nonsense.
yeah it's doubtful i'll get it, unless there happens to be a dumb exploit like original Switch 1 had
I'm really not fond of them making games more expensive, too
I love xkcd
I made myself an ipad widget using scriptable so I can easily see them when they come out 
I mean, same here. But for the sake of the meme, I’m getting one exclusively for Kirby Air Riders
Wired: not getting a switch 2 because tariffs and high prices. Tired: not getting a switch 2 because let's face I won't ever play anything on it anyways
Re: tired
side eyes my VR headset and to a lesser extent my steam deck
I dont understand, why wouldnt you play Kirby Air Riders
A time traveler came and told me Kirby Air Riders was peak gaming for at least the next 100 years.
I didn’t need a time traveler to tell me this, I already knew, but I figured citing a credible source might help convince you
“Which time traveler”
Uh… John Titor? Sure, let’s go with that, I’m definitely not just plucking a name I learned from Steins;Gate
You know what would be great
If pngs could embed alt text
I forgot to do alt text on that
It's a picture of a duolingo card that says "the gay community is protesting."
Very important vocabulary to learn
Not knowing anything about that language (French?), the pre translated text looks like “the homosexual community manifesto”
In other words, the gay agenda
It's more like "manifested"
Shhhh, that ruins the joke
But idk was never good at french lol
Why not?
Why french?
(Because I used to live in Switzerland(
And out of all the languages spoken there you liked french the most
No further questions
learn Dutch
What about German
they've got their funky grammatical case system
Does that mean designing a perfect conlang would keep you from using magic with it
Just discovered this: https://www.clicks.tech/
Kinda want one, though I wish there were number keys...
(Alternatively, could you design the most cursed conlang possible to maximize your magic potential?)
alternatively, such a conlang would not be perfect /lh
Elvish
Fair enough
Say since I started dabbling in C# I'm trying to make an extremely basic Frame Buffer for 2D graphics. Could someone give it a quck glance and see if I'm on the right track?

Day 2 of C# and I'm already trying to make a basic graphics engine lol
Ah, yes, a very important real world use: Watching/reading anime/manga/etc. before there's an english translation.
(/s, I know you well enough to know that's not why you'd learn it 😅 )
I’m learning hiragana
gl 😄
So that I can very badly read Japanese: I can get the meaning of kanji but not the sound, and the sound of hiragana but not the meaning
Just watched a video about a Japanese Woman reacting to foreingers with tattoos of Japanese writing

First one was literally "Dumb Foreigner"
If I had to learn a new programming language it would probably be C++, but I’m also not going to do that
I know C++ from when C++11 came out (and a bit before), and I'm also not going to do that (with modern C++)
C# seems like Java's cousin that doesn't eat paste
So I'm pretty comfortable with it so far
C# is my favorite language
say Kitty would you mind looking at one of the first classes I've made in C#? I want to know if this is okay or if it's absolute lunacy... I have no way to tell without an outside opinion. It's a very basic frame buffer.
All it needs is more cats... which I could do myself if they would just allow emoji in identifier names (or maybe they added that and I haven't learned about it - a quick google search was unclear)
I don't know anything about implementing a framebuffer (assuming you're referring to what you mentioned earlier) - I know what they are, and probably have technically used them at some point, but that's about it. So not sure I would really be any help
well It's basically just a container to repeatedly draw Bitmaps ontop of each other before it gets sent to the screen
and I have no idea if I'm doing it in a way that makes sense
Like I said, I know what they are, but rasterizing stuff isn't something I'm knowledgeable in.

I can think of definitely one person, maybe two in this server who I know would probably have thoughts to give, but it feels super weird to ping either randomly. 
Yeah, I assume the person I'm thinking of is one of the ones you're thinking of
🫠
it's nothing fancy, not using any APIs or anything, it's literaly Graphics.DrawImage() and I was wondering if it works the way I think it does for stacking PNGs
Honestly in that case I would just try it and see
I only know C# for stardew but if you can just try, why not?
I have no idea what API even uses DrawImage as a function name
Graphics, the basic thing that's in C#

it's literally it's built-in image and vector tools
A lot of languages have standard library features that people might not use
can't say I've touched its drawing library in the last 9 years

I've never used the standard C# graphics stuff, only ever used something like MonoGame or SFML.Net
System.drawing aka the thing i accidentally use instead of xna every week 
lol
Literally the only time I've ever used it is VS importing that instead of xna for Rectangle
well I guess I'll just construct a few dummy bitmaps and see if it works, I'm just trying to get rid of the flickering when drawing to the screen
🫠
I think there r some people here knowledgeable about low level graphics stuff but my experience ends at the vulkan draw a triangle tutorial
I used old immediate mode OpenGL in the past in C++ (I think OpenGL 3 or 4 was a thing at the time)
Vulkan scares me
If I ever use Vulkan directly, I will not be prospering at all.
Well it just seems like a lot of boilerplate (but i can see how people deeper in the sauce can make use of all these knobs)
can't use OpenGL
creates custom graphics solution like a rube
I'm still stuck in my way of doing things back with VB6
Hope you don't ever need hardware acceleration then, I doubt there's any implementation of System.Drawing with that (but I'm pretty oblivious as to what that provides so I could be wrong)
If u r still use someone else's Draw implementation isn't it some kinda graphic api underneath regardless
Some graphics things (like original SDL, I think it had an OpenGL option but for some reason I feel like you had to use OpenGL directly for that - could be wrong though) don't have hardware acceleration.
The PyGame project in college I did was so annoying for that reason, had to do a bunch more optimizations than I otherwise would have for that reason
Yeah i just mean that you are definitely early enough to change to SkiaSharp or something for the draw
Said pygame project was basic 2D and didn't have that many things drawn on screen
The main thing that was causing problems was the minimap
Unless the point is doing it for the fun of abstracting over some other stuff, then just go wild!
Well, and the tiles
I remember drawing 1 pixel size rectangles for each pixel on the screen to write a raytracer and it still achieved a blistering 4 frames per second at 1080p
You should make it 4k and get a whopping 4 spf instead
<insert joke about sunscreen that I know we've done in this chat before>
you will generally want HA if your program (say, a game) cares at all about performance and about missing frame targets.
SDL 2 & 3, for example, let you load textures and draw them as you wish, but in what i would call typical 2D use they are GPU-bound textures, so they get acceleration even though it's 2D
well I'll see how it goes with my rough draft 😄
If I need to I can use dark magic and parallelize the frame drawing process, I have 8 cores, I'll use them lol
and you'll have hundreds on your gpu

I have written a simple Vulkan renderer before and the amount of setup/boilerplate to even render the traditional rgb rectangle
took hundreds of lines
🫠
of course there's many libraries that abstract most if not all of that away
I went insane trying to figure out Vulkan for Java
Vulkan was a major motivator for me to switch to Linux at the time cause I spent like 2 entire hours trying to get the sdk to work on windows only to try on Linux and it taking 2 minutes
I think I went full Linux soon after and deleted my windows partition
you just did it right there, how hard could it be
seems I made the frame buffer correctly, it composited 3 translucent images without flickering and smoothly animated them 😄
now I just need to get the drawing surface to fit the screen lol
At this point, I would be needing to resist the urge to add the typical blending modes so hard...
I'm surprised this works after only a rough crash course in C#
internal class FrameBuffer
{
private Bitmap Frame;
private Brush brush;
private Rectangle rect;
private int Width;
private int Height;
private Graphics g;
public FrameBuffer()
{
brush = new SolidBrush(Color.White);
UpdateFrameSize();
}
public void DrawToFrame(Bitmap asset, int x, int y)
{
g.DrawImage(asset, x, y);
}
public void PushFrame()
{
Program.GameWindow.DrawFrame(this.Frame);
}
public void ClearFrame()
{
g.FillRectangle(brush, rect);
}
public void UpdateFrameSize()
{
Height = Program.GameWindow.Height;
Width = Program.GameWindow.Width;
this.Frame = new Bitmap(Width, Height);
rect = new Rectangle(0, 0, Width, Height);
g = Graphics.FromImage(this.Frame);
}
}```

I guess this is technically all I need to draw an entire scene
I'll have to get metrics for frame times with hundreds to thousands of calls per frame
well it starts to break down around 1500 calls per frame
better than I thought
I could pre construct everything in layers with parallel threads then have them draw each layer in sequence
Optimizing bad design
what are you using? System.Drawing?

I can swap it out later for a real rendering solution
But this at least gives me something to work with to visualize other things I'm doing
that's fair
Also this is with like less than 2 hours of self taught crash course in C#

I'm amazed I made a working frame buffer at all
Microsoft Java 
well I have extensive experience with Java and Visual Basic, this is like the 2 had a baby and it was raised by a competent adult
flexing your ability to use masked links
You can too!
-# democracy
pretty sure that I got muted for an hour last time I tried...
I used a masked link in a different server and I got an auto warning
or 15 minutes idk
🫠
Yeah, we started allowing it for Framer and above as a bit of a test.
Need the kyanite
I'm still not used to them tho
I'm gonna translate my netcode from Java to C# lol
Your code looks fine honestly . The only thing I'd have considered "wrong" about this in a professional setting would be that your private field variables sometimes start with a capital letter and sometimes don't (the convention everywhere I've worked would be _fieldName everywhere I've worked but I think modders here love their fieldName and then this.fieldName when referring to it)
I use _fieldName cus of python and then csharpier yells at me
I don't think I've used this. at all in years
I just made Rider yell at me if I did anything but camelCase for privfate in C#.
I am consistently inconsistent
And my editorconfig will yell at me if I don't use this. every time. I just... like it for some reason.
csharpier dislikes _fieldName for private fields?
this. is probably patho's influence he had things setup to error if you dont use this.
it dislikes the convention I've used for my entire professional career 
Lombok will haunt you no more.
I am do camelCase fields PascalCase props
anyway thanks crumble for the critique of my code. I appriciate the feedback 😄
it's the tiniest critique imaginable
if you want a miniscule generally unmeasurable performance bump and you never plan to inherit from the FrameBuffer class you can add the sealed keyword to it assuming you're using a modern enough version of C#
a sealed class cannot be inherited from which allows C# to skip some checks sometimes
(Ie, back to front)
yes
I'm also throwing around the idea of pre-rendering the scenes in layers then drawing them in the correct order
build your whole own draw call abstraction
🫡
for now I have a basic framework for visualizing assets on the screen as I try to tinker with them in code
definitely helps for figuring out if I mess up swapping some coordinates or something
He did this to my repo back when he maintained it and I haven’t bothered to fix that, so I just suffer now (and also keep all warnings hidden, like a good programmer)
Though you mentioned as errors, my repo is just as warnings, probably because he didn’t want to go through and fix all of my code in a mono repo as big as mine
I'm afraid pathos won't find a single this. in any of my codebases if he ever has to look at them
That’s okay, Pathos thrives on spotting all the missed spots for it and submitting a PR fixing them all /s
I would in rare cases use it in a constructor but now with primary constructors I rarely even have one
Yeah, constructors are the only time I use them intentionally. I don’t use primary constructors much still though
<pretending I’ve even written a single line of code in the past few months>
they save space and yell at me if there's something in the constructor that I never actually use
I like em
I can’t even recall the syntax for them, or even enough detail on what they do to describe it in words
I’m like the C++ user who still uses C++98 in 2025 despite being in an environment where they can use newer stuff freely /s
I might’ve used that on my most recent KAR clone attempt which will even more not see the light of day now that Sakurai has blessed us with an upcoming KAR sequel
new car
Ah, it was records that I used in that project
that's where primary constructors started
Though I can’t even recall if records imply primary constructors, or if they are completely separate but usually used together
you can create records without using primary constructors just fine
I feel like they are different in stupid ways
Tbh
Due to like, visibility or readonlyness of the generated fields
Tbh I love record structs and use primary constructors so
being able to do one-line data classes is nice though
I love me a read-only record struct, Wren
Makes the functional programmer feel good
yesss
I’ll be sure to remember this now (for approximately 30 seconds, after which I’ll promptly forget until I’m reminded the next time this topic is brought up)
Ngl I like and miss c#
one of my previous projects had entire swathes of "event data" style data records
(I don't miss mods)
c# is my favorite of the languages I've used
I’m one of those lame programmers (usually self taught such as myself) who never keeps up with all those fancy terms like what functional programming is 😛
You're not lame!
Hey now, modding is so much fun if you don’t have to deal with user support, or game updates, or user support, or compat with other mods, or user support, or…
(Have I mentioned how my least favorite part of modding is user support? No? Because it is.)
don't worry. Functional programming as a term is only older than nearly every single person in this entire server
I don’t think that excuse works for me. Not 100% sure on that though (I turned 28 today)
Casey, you didn't fall into a bad crowd in college
We wrote HASKELL
And ran LINUX
user support is definitely the worst part of modding
That’s because I had no friends, I didn’t fall into any crowd
wait casey you're my age?
(Okay, I had one or two, plus a faculty friend. But that ruins the joke)
I thought you were older than me
functional programming as a term seems to come from the 1960s
pro tip: nexus logs you out every so often, you can just never log back in
Perhaps, though you’ve never told me your age so I can’t answer that with certainty 😛
Just log in once a month, collect your PayPal earnings, etc




