#programmers-off-topic

1 messages · Page 40 of 1

safe dragon
#

I don't even have fancy early returns for this one

#

it's just "try everything"

#

still no idea why my home pc is so much faster for Day 6 specifically... I guess it supports some instruction set doesn't or something? But they're both zen 3 ryzen processors. One a 5800X and the other a 5700G

#

I expect some difference due to more cores in the 5800X but that difference should more be like it is for day 7

uncut seal
#

damn, that's some pretty efficient BF then, mine takes about a minute to solve

safe dragon
#

well I'm partially being carried by the C# compiler without a doubt

#

I tried both actual string concat and I tried the regular logarithmic method first but then started googling to see if someone had something faster cause it was a major bottleneck

#

using this alone caused a 3x speedup

#

I also use ReadOnlySpan all over the place even when not really doing anything with them because the C# compiler just goes insane when it sees a span or something and gives you a free speedup even when you change literally nothing else

#

like

#

for day 7 for example, if I pass the numbers as an array instead of a ReadOnlySpan it takes 2.3 ms instead of 1.8 ms

#

even if what I'm passing in is still technically an array and it does the conversion implicity

#

♥️ spans

safe dragon
#

I know technically but it will never stop feeling like magic

#

as I do nothing except change the type and none of my code

#

and get a massive speedup

uncut seal
#

what's the definition of a span?

cinder karma
#

It's amazing and also like. Hilarious

#

It's a c# thing

uncut seal
safe dragon
#

spans are essentially (potentially stack allocated) slices

#

the main idea behind a slice is that you can operate on a section of a collection without having to create a new collection with that data

#

aka a slice

uncut seal
#

like, apply a function to a slice of your data structure in place?

cinder karma
#

yeah, in rust, think a view on a str or something

uncut seal
#

(I don't know any rust)

cinder karma
#

sorry

#

I tend to believe everyone knows rust lol

uncut seal
#

The idea I get is the python slice except it's actually efficient

safe dragon
#

yeah they're slices in that regard except what python is doing when you can slice is essentially making a new array and then copying over the slice into that new array

cinder karma
#

it's not a python slice, I think

#

I think of it more of a safe (ish) typechecked pointer

#

my (former) mods used them a lot

uncut seal
safe dragon
#

honestly I do believe C# is doing some arcane magic under the scene the moment it sees a readonlyspan or something

safe dragon
#

ah those even the stackalloc ones

cinder karma
#

yeah, the first one was because I wanted to switch on a str, case-insensitive

#

so nistead of just doing .ToLowerInvariant, I...did a thing

lethal walrus
#

||how do I make maths left to right??||

safe dragon
#

you ||throw PEMDAS out the window||

lethal walrus
#

||I suppose writing my own expression parser is better than eval()||

#

||surprisingly easy to do though||

safe dragon
#

I'm kind of curious what you're doing that this is a question you're asking even though I know it's about AoC

#

are you ||inserting operators into the input string and evaling it||

uncut seal
lethal walrus
uncut seal
#

Okay, so I want to give an update on the assignment I had last week that asked to summarize the lecture with genAI: first, the teacher specified that doing a handwritten summary is fine, then they explained that the goal of it is to see how student react to genAI and give them a bit of help on how to filter the output (which is fair), because this is a class where a lot of students have a biology background and no CS knowledge. As a true researcher, the teacher is mainly looking at how the student's reaction evolves every semester, and was interested by the fact that this is the first year where there was opposition to the use of genAI, meaning that more students know about it, how to use it, and how it works.

#

So I guess I'm less mad now

rotund violet
#

the goal of it is to see how student react to genAI

Yeah, I've heard that one before. "It was just a test, to see if you'd go along with it! Your reaction to the test is part of the test!" Suuuure it is.

strange copper
#

Am I the only one who went for ||recursion|| on AOC day 7

safe dragon
#

nope

#

everyone I know except 1 did

strange copper
#

the only people I know doing AOC are a bit insane so I was sitting here like "am I the insane one today"

safe dragon
#

I'm honestly not sure how you do this without recursion without just... mimicking the call stack with a manual stack

strange copper
#

yeah true

rotund violet
#

I'm not sure if I'd frame it as mimicking the call stack, it's a true iterative solution that just happens to use a LIFO data structure.

stray bison
#

can you say more about what you mean by BF in this case? I mean I know what the general concept is but having a hard time figuring out what exactly you are doing

cinder karma
#

(Yrwh, you can always replace the stack with a....stack loll

#

But I enjoy recursion

strange copper
#

I thought the recursive solution came out really readable which I liked

cinder karma
#

I haven't started yet for this year

#

(I really can't work on it after work )

safe dragon
#

shouldn't be too difficult to parse if you know what an average day 7 solution looks like

#

it's just ||brute force while avoiding allocating extra arrays and skipping checking for part 2 when it was already valid for part 1||

stray bison
#

thanks!

regal ingot
safe dragon
#

shit I'm hitting the recursion limit

sys.setrecursionlimit(giant_number)

rain apex
#

(from making mods) what is the deal with redis's company DokkanStare

cinder karma
ivory shadow
#

Anyways in summary the company is silly and just use keydb or whatever anyway

pliant snow
#

excellent, I never really understood what redis was and now i dont have to

worn remnant
#

i think this is the first time i have heard of redis!

rotund violet
#

It's just a key-value store.

#

Fancy Dictionary that can be partitioned and mirrored across lots of machines. To simplify.

rain apex
#

big dicts for things much bigger than any hobby thing i could potentially do

fleet wren
#

saving SDV mod data keys on Google Spanner

ivory shadow
#

At work we used redis for caching API results, and also rate limiting.

#

Now we use keydb I think and I'm not sure if we're still using that for rate limiting or just caching.

marble jewel
#

You didn't go from Redis to Valkey?

ivory shadow
#

We might use valkey I just remember needing to use keydb for a thing earlier this year

#

I'm not in ops and don't pay a lot of attention lol

marble jewel
#

I don't use Redis, I was just curious how big of a deal the whole close source thing actually was IRL, and whether businesses moved to the open sourced fork

ivory shadow
#

I'm waiting for someone to tell me "actually we use a super secret fourth thing"

rotund violet
#

Businesses care very little about open vs. closed source, and far more about the actual license.

ivory shadow
#

Also about having support for a project. And all the big cloud providers basically abandoned redis for valkey didn't they?

#

Since redis wanted protection money

rain apex
#

the biggest ones just have their own key store blobcatgooglyblep

cinder karma
#

It is the second hour of attempting to update ubuntu

#

I'm somehow back on the default windows manager 😦

rotund violet
uncut seal
crystal wren
#

@safe dragon Just doing some clearing out, and I found this old gem.

safe dragon
#

wooting is my favorite country

#

which wooting keyboard do you have

crystal wren
#

The One!

safe dragon
#

nice

#

same

crystal wren
#

There's a Wooting 2 with Hall effect switches now...

I remember being excited for the Lekker originally...

cinder karma
#

Has anyone dealt with

safe dragon
#

nope cause even when I dual booted I always had secure boot off

cinder karma
#

I disabled secure boot and the issue presists

#

I got into my windows partition at least

#

And an poking around at my boot entries

dusky gust
#

github mobile has "Trending Repositories"

cinder karma
#

okay, I manged to completely fuck up my ubuntu install

#

so

#

sell me on your linux variant

crystal wren
#

Arch. That is all.

rain apex
crystal wren
#

Alternatively that, yes.

ivory shadow
#

SteamOS still isn't out for general availability yet so I've got nothin lol

#

I've heard good things about Pop, but... eeew gnome

rain apex
#

i thought steamos is just valve's archlinux

cinder karma
#

fine I'll go figure out a way to grow a neckbeard

ivory shadow
#

It is, yeah. But it's not an arch experience.

crystal wren
#

I suggest eyeliner and lots of crosshatching for shading.

ivory shadow
#

You could always knit a neckbeard?

rotund violet
#

Neckbeards are usually more of a lack of conscious effort.

crystal wren
#

Knitbeard.

cyan shadow
rotund violet
#

DecidedlyDadjoke

ivory shadow
#

(Actually though. If you look up knit beards there are so many pictures lol.)

cinder karma
#

how do I put it politely? I don't have the hormones to make a neckbeard happen

#

there really is. I think crochet is easier

rain apex
#

what exactly is an arch experiance LilyDerp

rotund violet
#

If that's not a Venture reference, it should be.

ivory shadow
#

You have to climb to the top of a great mountain, naked as the day you were born, and yell commands into the aether to partition your drives, format your file system, and install the base system packages and boot loader

#

(Compare this to gentoo, users of which think the arch users are lazy for just finding a mountain and not building their own.)

rain apex
#

hm i had been under impression that this is all linux blobcatgooglyblep

rotund violet
#

You're not a real Linux user unless you compile your own kernel.

cinder karma
#

Ubuntu is usually plug and play tbh

ivory shadow
#

To put it slightly less meme-ily, Arch Linux doesn't really have an installer. It has a guide. You install it manually.

rain apex
#

granted my experiance had just been arch or w/e linux at school/work where i assumed the sysadmin ppl climed the mountain for me

ivory shadow
#

And SteamOS does use arch linux, but you don't actually do any of the arch linux things. Valve has set up a read-only system partition with everything pre-installed and configured. You get a Steam Big Picture environment, and can alternatively boot into a KDE environment. Pretty simple for the end user. BUT that's just with it only supporting the SteamDeck. We'll see how things go once it's more generally available.

rain apex
#

this seems like the opposite of what i want for a PC LilyDerp

crystal wren
ivory shadow
#

Yeah but contrast that to basically every other distro just having a shiny GUI installer

safe dragon
#

archinstall is pretty nice though for people like me who are technical enough to understand what it's saying but not familiar enough with all the funky commands to set it all up manually

#

I like it

crystal wren
#

Yeah, I used it for my last install because I knew I would be doing the exact same things manually, so why?

ivory shadow
#

Oh definitely

#

It beats having a wiki page open to copy paste commands

#

(And that's assuming you can copy paste and you're not stuck retyping)

safe dragon
#

how would you copy paste

#

unless it's a vm/remote machine

ivory shadow
#

The arch live image has sshd.

#

It even has a tool for automatically configuring sshd and/or connecting to wifi by including a file on the installation media, good for headless installs.

#

Source: Have done a headless install

safe dragon
#

neat

pliant snow
#

i use ubuntu occasionally at work, and im just surprised how fed up i am with it. I used ubuntu for many years in the day, but boy does it drive me crazy now

cinder karma
#

Real question: why do brits use stonws

frosty echo
#

https://en.wikipedia.org/wiki/Stone_(unit) England and other Germanic-speaking countries of Northern Europe formerly used various standardised "stones" for trade, with their values ranging from about 5 to 40 local pounds (2.3 to 18.1 kg) depending on the location and objects weighed.
With the adoption of metric units by the agricultural sector, the stone was, in practice, no longer used for trade; and, in the Weights and Measures Act 1985, passed in compliance with EU directive 80/181/EEC, the stone was removed from the list of units permitted for trade in the United Kingdom.
The stone remains widely used in the United Kingdom and Ireland for human body weight
Shortly after the United States declared independence, Thomas Jefferson, then Secretary of State, presented a report on weights and measures to the U.S. House of Representatives. Even though all the weights and measures in use in the United States at the time were derived from English weights and measures, his report made no mention of the stone being used. He did, however, propose a decimal system of weights in which his "[decimal] pound" would have been 9.375 ounces (265.8 g) and the "[decimal] stone" would have been 5.8595 pounds (2.6578 kg).

ivory shadow
#

My reaction every time someone links me to their source code and it's hosted to GitLab and I have to remember how to navigate this wonky website:

frosty echo
#

Although post-MS Github is starting to get enshittified

rotund mural
heavy daggerBOT
#

Title result: SteamOS

rotund mural
#

I got a dream. Got personal info on a USB pendriver with security and cross device. I tried Arch, Ubuntu and Debian. By now I really like Debian with KDE

ivory shadow
#
  1. That website is hilariously out of date. SteamOS 2 was based on Debian and SteamOS 3, which is unreleased but what the SteamDeck uses, is Arch.
  2. Please don't ping me.
rotund mural
#

SDVpufferblob sorry

pliant snow
#

Yeah, that was the old SteamOS, the one that ran on those Steam Machines they used to sell. When they made the version that runs on the Steam Deck they changed to Arch-based

rotund violet
#

Never thought I'd say it, but I think I'm starting to understand the appeal of curved displays. The viewing angle on these non-curved 32" beasts leaves a lot to be desired.

uncut seal
uncut seal
#

oops sorry for the ping

#

I need to setup a Japanese Anthy keyboard, so I went with ibus, and I gave up trying to make the layout switch hotkey work (it only works when a text field is focused on firefox or the terminal), also it doesn't work at all on zoom, but I'm 90% sure it's a zoom issue.

ivory shadow
#

Yes, I prefer KDE. But I don't have a ton of experience with it recently if you were looking for support.

cinder karma
fleet wren
#

feel like in 2024 there are barely any difference between distros in the same "family" aside from defaults

thin estuary
fleet wren
#

basically do you want deb, rpm, pacman, or a secret fourth/fifth thing

#

granted, defaults are pretty significant; there are plenty of people out there with a lethal allergic reaction to GN*ME

leaden marsh
ivory shadow
#

The name "pull request" is because you're requesting a pull. A pull is literally the name of what it is. It's basic git.

leaden marsh
#

I understand what a pull is, I'm just saying git merge is also a command

#

Requesting a merge makes a lot of inherent sense without being familiar with git terminology

ivory shadow
#

A pull can sometimes involve a merge.
A merge always involves a pull.

If someone is using git without being familiar with basic terms, they should be educated. Don't make the tools dumber make the users smarter.

leaden marsh
#

That's just my opinion, I understand the rationale

crystal wren
#

I propose we start calling them fetch-merge requests instead just to truly confuse people. /j

leaden marsh
#

I do fundamentally disagree with calling it "[making] the tools dumber," but I'm not going to argue

ivory shadow
#

I want my developer tools to tell me what they're doing. If it was software for end users, then I'd agree that merge is clearer language for what's probably going to happen.

safe dragon
#

imma call em rebase requests

thin estuary
#

collaboration requests

#

just to screw with people using the CR acronym for code review

leaden marsh
ivory shadow
#

To really fuck with people design the UI for mercurial and just make it do git things.

#

If only there was some sort of class that could teach them

safe dragon
#

honestly I've never thought about the name I just learnt that the process was called a pull request and accepted that blindly

ivory shadow
leaden marsh
ivory shadow
#

That's fair, but... does it have to be self-documenting?

leaden marsh
#

No, with git itself as the developer facing tool, I'd argue, not necessarily

#

I just like the name merge request lol

crystal wren
#

(I think the biggest and most important takeaway on this is that Stardew's 1.6 update was (likely?) made with a lot of misters. MRs.

...I've apparently woken up as an agent of true chaos today.)

leaden marsh
safe dragon
#

mingle requests

leaden marsh
#

isn't that like a nintendo wii thing

safe dragon
#

uh maybe

leaden marsh
#

like the thing on the Mii channel where your mii's could like, enter other people's mii channels or something

#

i never actually used that feature i have no clue

silk edge
#

Sneaks in here

#

Im not a programmer or anything by any means, just wanted to say ty for all those who make mods for this game SDVpufferheart

#

ok bye RUNS

thin estuary
#

then you're not in the right channel hah

#

this channel is specifically for non-mods/modders

uncut seal
#

what are the reason for Gnome hate? I've used both kde and gnome and I don't see a reason to hate one or the other, appart from experiencing personal issues.

safe dragon
#

primary one I think is just that they're very opinionated on what things should be like and generally prove to be the biggest obstacle in adopting any new standard in for example Wayland

#

to the point of one of the gnome developers getting banned completely there

#

gnome is for example basically the only environment that does not support server side window decorations on Wayland

#

they decided they don't see value in them so they just refuse and they're big enough for everyone to have to kind of accept that

#

whether you like using gnome would be personal preference but on the development side they're not particularly popular

#

often enough when there's some rhetoric of "Wayland doesn't support x" it means "everything on Wayland supports this except gnome because they don't want to and are 7 years deep arguing about every minute detail"

uncut seal
#

I see, I was indeed missing some context

crystal wren
#

I actually really enjoy Gnome as a desktop experience for a laptop or very strictly single-screen system.

uncut seal
#

that's my experience too

worn remnant
worn remnant
cinder karma
#

It's nothing different

uncut seal
#

also gnome had a symbol dictionary app pre-installed and it was quite nice

#

oh wait nvm just found it on kde

rain apex
#

What's a symbol dictionary

uncut seal
#

like an app to find a symbol by its name, in case you haven't memorized the entire ascii and unicode tables

pliant snow
#

the KDE file picker and dolphin should resemble each other, but yeah theyre distinct programs

cinder karma
#

Fuck computers

#

Why am I doing this and not living in a little cabin in the woods

#

(Work laptop crashed.)

marble jewel
#

I'm having to do what might be one of the most mind-numbingly monotonous tasks at work ever.

#

Data governance randomly decided that they want every table and column to have a comment, and that we need 95%+ compliance by the end of the year

#

And I only have about 12K null columns to update

sand frost
#

Malicious compliance: make every single one commented with //some data

rain apex
#

Why do you have 12k null columns

marble jewel
#

For real. I think this will do more harm than good. I can't be bothered to meticulously analyze every column, so I'm using a built in Generative-AI tool to populate them. The problem is every column needs to be clicked on one at a time, and you can't click on the next one until the previous one is done saving.

rain apex
#

Also end of the year is in 3 weeks

#

You gotta do 1k+ columns a day??

marble jewel
#

12K null columns spread across 400 tables

worn remnant
#

🫂 for matt and his bullshit task

marble jewel
#

I've learned though that I can have multiple tables open at once and update columns within each of them. So I'm tabbing through 5 tables and updating their columns in "parallel" by the time I get back to the first table it's done saving

worn remnant
#

aside: i love (for certain values of love) that you have a department called "data governance". peak dystopia

marble jewel
#

I feel like this task can probably be automated somehow, but I'm worried that the time it would take to figure that out might be longer than just brute-forcing it

cinder karma
#

🫂

#

My work laptop keeps on bsod

#

This is incredibly aggravating

#

Like, I'll get my ide open, my outlook open, and then it bsod so I have start over

sand frost
#

ugh that sounds super annoying

#

like it gives you a glimmer of hope

#

and then snatches it away

pliant snow
#

tfw even the computer doesnt want to use outlook

sand frost
#

relatable

#

I have two browsers open with outlook as a tab because I can't otherwise conveniently look at both the calendar and an email

#

also for a while outlook was just allergic to having 2 accounts open at once

cinder karma
#

So far I haven't managed to grab the bsod code which is also annoying

#

My guess rn is overheating

#

IT wants to see if a bios update helps

#

Atra thinks looking at the actual bsod code is step #1

fleet wren
#

for a moment I misread that as "atra looking into the line that throws the bsod in the actual Windows source code"

#

do they even show the bsod code anymore when they replaced the old BSOD screen with one that shows a giant ":("

cinder karma
#

Yeah, is a tiny font at the bottom

#

There is a hex code

rotund violet
cinder karma
#

I legitimately want to see if I can use python to automate that

marble jewel
#

I have so far painstakingly updated 4650 columns and have 7506 to go. I think my brain is melting out of my ears.

safe dragon
#

id column: holds the id
name column: holds the name

#

good luck with those column descriptions

marble jewel
#

I mean I'm using Generative AI so it's not much better than that

safe dragon
#

what are these comments for

marble jewel
#

Cataloguing the data

#

I know next year they're going to ask to add tagging to columns, and that's a future-me problem

safe dragon
#

normally speaking the column name itself describes what is inside it

#

I've never heard of this

#

good luck

marble jewel
#

Yeah, my org follows the medallion architecture, and my team is a bronze-sourcing team so we just have all of the third party vendor data in our database without any comments or descriptions up until now

safe dragon
#

guess I'm googling

#

starts good cause the description for a the architecture immediately hits me with the term "lakehouse" like that's a totally normal tech word

#

ok I kinda get it

marble jewel
#

Yeah, bronze = raw. So it's only job is to faithfully represent the source system, including all/any of its issues.

#

In other words, rather than hitting the application at its source, you hit the bronze tables. There isn't much thought that goes into it, so adding metadata to the tables was never a thought before.

pliant snow
#

maybe someday youll be a silver source team

#

idk how this works

safe dragon
#

seems to be a data science thing. Bronze tier just stores the raw data with no processing, then silver cleans and improves it and the gold is the layer your dashboards and shit would actually make use of

cinder karma
#

How do I type annotation in python grumbles

safe dragon
#

:

#

np

marble jewel
#

It should be a crime that in 2024 a UI can show a list of suggestions, and you have to click each on individually rather than there being an accept all button

rotund violet
#

Are you sure there's no DML or other script you can run to update the columns, rather than doing them by hand? Is it SQL?

marble jewel
#

I can use sql to update the comments, but the source I'm using for those comments is based on a Generative AI model that's built into the tool

#

It's still an early feature so it doesn't provide any scripted access yet

rotund violet
#

(Also yeah, these globocorp management fads are all a ridiculous waste of time that's killing industry. Every few years they write another iteration of CMM, Six Sigma, QM, TQM, Lean, Lean Six Sigma, etc., as if somehow even though all the previous ones utterly failed to produce any positive result, the next one totally will.)

marble jewel
rotund violet
#

Hm. AutoClicker?

marble jewel
#

So the catch is if I click on a comment before the previous one is done saving it results in an error

rotund violet
#

Or, that looks like it might be web-based, you could write a little JS to do it.

marble jewel
#

Yeah, it'd have to be through the console or something because my work pc is locked down. I can't even install unapproved extensions

rotund violet
#

Yes exactly, just open the page and paste it into the console.

#

Knowing the kinds of tools who design these things, I'll bet they block right-clicks, but they can't block F12.

marble jewel
#

Yeah, everything is there that would probably allow me to script a solution. I was hesitant to spend too much time on that though because I'm making enough progress using the tedious brute force method, and I'm planning on taking the last two weeks of the year off.

#

So I'm really aiming to get this done by this week

#

I mean I can right-click, inspect, debug etc. but my Javascript and knowledge of the DOM is a bit rusty

sand frost
#

Pyautogui?

marble jewel
#

What I'm allowed to run on this device is very limited

#

The process to get new software is a whole tangled mess of documents and approvals

#

My own software gets blocked, that I compile on my work PC!

sand frost
#

Damn

#

That sucks

marble jewel
#

I actually once attempted to go through the process to get new software approved, and the response was a loop of "Why can't you use [insert completely unrelated software] instead?"

rain apex
#

What if you print a physical auto clicking device that you hoist over your mouse

marble jewel
#

If only the issue was solely related to clicking, if that were the case I'd probably go down the automation path. The added challenge is responding to visual feedback, and precisely clicking on a button the changes position as you interact with the elements

marble jewel
#

I've had something like this happen to me IRL. Although the example is a bit dated since with AI the task is a bit more feasible now.

#

Kids these days won't know how absurd of a task it would have been to identify a bird in a picture

rain apex
#

It's been 5 yrs and many research teams Dokkan

rotund violet
#

xkcd doesn't age well.

#

A lot of Dilbert doesn't either, but far too much of it is sadly timeless...

ivory shadow
#

Some xkcd ages well. Some doesn't.

rain apex
#

What are some simple/hard tasks these days

marble jewel
light forum
rotund violet
#

Anything that requires the synthesis of multiple concepts, or really anything that's not just rote memorization with a little bit of wiggle room, is still very hard for machines. So far I still haven't seen a single demo of an AI solving a novel problem.

cinder karma
#

Hey, today i broke my code because I forgot my own data format so

#

Maybe the human is also bad a code

stray bison
cinder karma
#

(In my defense I wrote the code in a meeting.)

rain apex
safe dragon
#

it's ok, I haven't solved a novel problem either

#

I had a fight today with copilot which kept insisting on writing some absolute nonsense as I was writing some funky oracle db stuff

rain apex
#

Your problem is having copilot on Dokkan

safe dragon
#

it's usually a nice timesaver!

#

but it seems even a model trained on all of github cannot understand oracle

#

as much as I dislike the poor quality of information online about oracle db it has been phenomenally performant

#

so at least it does something well

rain apex
#

What is the point of comparison here

safe dragon
#

sql server is most of my background

rain apex
#

I figured relational db is mostly a solved thing when it comes to low level perf

safe dragon
#

nah it seems they all like to do their own thing

#

sometimes fundamental differences

marble jewel
#

"modern" tools all follow similar approaches ever since the HADOOP era of big data

rain apex
#

I only used mysql and postgres and for casul <10k rows things

rotund violet
#

I've never experienced real productivity gains from Copilot or other LLM tricks. Convenience, yes, sometimes, but rarely anything that translates into real gains.

#

Even the AI-lite in VS/Rider that helps complete boilerplate lines like constructor initialization, while very impressive and feels good when it's right, doesn't actually make me objectively much more productive, since that's 2% of the actual time spent.

safe dragon
#

I'll take any database tbh though sqlite gets annoying if you actually want genuine types

marble jewel
#

I measure the usefulness of LLMs when it comes to coding in terms of keys typed vs relevant characters produced

#

If I can prompt correct code faster then typing it out myself, then it's served its purpose

safe dragon
#

I'm not too fussed about my "productivity" regardless. If it makes me job nicer to do I'm happy

#

and one thing copilot is good at is do the boring stuff

rotund violet
#

What really helps productivity is Google, or I guess search engines in general. Trying to do anything with an unfamiliar tool or API without a search engine is torture.

#

Try spending an entire day of coding without internet.

safe dragon
#

oh yes that's nearly impossible

#

even with the terrible info on oracle stuff online I need what is out there anyway

#

especially since oracle did not fuckin document their library itself

#

not in the code itself at least

rain apex
#

Well if u write only C with stdlib then the docs are all there AquaThumbsup

rotund violet
safe dragon
#

👌

marble jewel
safe dragon
#

I'm still highly confused by something oracle from today which works but through magic or something

rain apex
#

Does oracle let u look at the source code

safe dragon
#

does decompilation count

rotund violet
#

I get it; if the "useful" metric is mostly "makes me hate my job less" then that's cool. I find it unimpressive on a literal time-saving basis though; shaving mere minutes off a 6-8 hour day.

safe dragon
#

I can tell you there's almost nothing useful to find in their decompilations

rain apex
safe dragon
#

i defined a "user defined type" for some table parameter I needed but then if I used that table as the object for the parameter it would crash... So then I just made an array instead and somehow through arcane magic it then started initializing the table type

#

I can set breakpoints in the table class I defined and they get hit but I never make one

#

but when I do make one myself it breaks

#

a mystery for tomorrow

#

at least it kinda works

cinder karma
#

Yes! Finally

#

If you count only the time I got for undisturbed dev time that is a first try pass (mostly?)

#

We will ignore that the time I got for undisturbed dev time started after 5pm

#

two hours of phone calls....

uncut seal
rain apex
#

in C# is there any practical diff between

MyEvent += Handler1;
MyEvent += Handler2;
```vs

MyEvent += HandleBoth;
void HandleBoth(...){
Handler1();
Handler2();
}

cinder karma
#

One less virtual dispatch

rain apex
#

is that a good or a bad

worn remnant
#

presumably you can remove one handler if you add them separately

worn remnant
rain apex
#

my brain is broken and will fret over it, hence me asking LilyDerp

#

ig the form i'd want is prob

MyEvent += Handler1;
void Handler1(args){
  ...;
  Handler2(args);
}
ivory shadow
#

(Meanwhile, I am messing with source generators to automatically register events based on attributes.)

#

I've never written a source generator before, so it's a neat project.

#

And it's something I could potentially release to help the community, in case people would find it helpful.

rain apex
#

It seems like a generally useful nuget yea

#

Tho I'm unsure how u would source gen for things like

#

Register event when activate, deregister when deactivate

cinder karma
#

I do wish c# sourcegen was more flexible like python decorators

#

I know, I know, but like

#

magic to "unregister this harmony patch if it threw an error"

rain apex
#

I wish C# just straight up had c macros

cinder karma
#

then again, at work today I wanted a delegate

rain apex
cinder karma
#

like

def do_thing(filter: uh how do I type annotate this)
#

I mean I know it exists, the sort function does that

#

but I was jsut like...wait, uh, how do?

rain apex
#

To simplify the try catch finally

#

Not that I had been properly unpatch on err Dokkan

cinder karma
#

I legit had a like, LogError extension in my repo

#

but yeah, unpatch on error was something I wanted but didn't have

cinder karma
#

yeah, callable, but I wanted to force the signature of said callable

#

also, like, to be honest with you chu2e11, today was a mess

rain apex
#

force a type
in the snek language
snakey

cinder karma
#

I was in about two hours of phone meetings, plus an hour and a half of in person meetings

#

I literally wrote half my code I did today IN A MEETING

#

"yes! 5pm!" "so you're going home?" "no I finally can actually work!"

ivory shadow
#

(Also with support for static stuff, and with changes to how it generates code to require passed helpers instead of using the Mod helpers if the class isn't a Mod subclass. The ability to change which access levels it uses, also.)

rain apex
#

Ah I imagined something more general blobcatgooglyblep

ivory shadow
#

Nah this source generator is to reduce the startup time of my mods by doing the fancy stuff I'm already doing, but at compile time.

rain apex
#

Yeah makes sense Dokkan

#

I did have vague thoughts about how there should be a source gen version of the annotation type of harmony patch

ivory shadow
#

I was considering something like that too, to be honest.

rain apex
#

One day someone will go past mere thoughts Dokkan

ivory shadow
#

I'd probably want some feedback from multiple people about how to implement that before actually doing it.

#

Since that's a lot more open to interpretation than the existing things.

fleet wren
#

today I looked up how to do the perfectly innocuous task of functionally™ mapping one vector to a new one in C++ and the resulting syntax made me cry blood

safe dragon
#

that doesn't sound very healthy

strange copper
#

"the technical term for this curve is OH NO"

safe dragon
#

I watched that talk

#

the oh no is a bad moment indeed

cinder karma
#

God I've been spoiled by VS

safe dragon
#

it is hard to beat

#

ignoring frameworks where it barely functions like maui/wasm blazor

cinder karma
#

Fuck everything tbh

#

Miles of swear words

#

People need to stop asking for my attention during the day

sand frost
#

Barricade your office door?

cinder karma
#

I don't have an office (just a desk)

#

I am literally hiding behind a movable whiteboard

#

Anyways I'm grabbing dinner at in and out so I have maybe a hour to work in fucking peace

sand frost
#

:(((

rotund violet
# cinder karma People need to stop asking for my attention during the day

Something I learned over my many years of work. Like all advice, take it or leave it. No one really cares if you end up a few days behind, regardless of what the deadline says. They do care if you're irritable or unhelpful to coworkers, and it will show up in reviews and raises.

I have the same instincts as you, believe me, but they're maladaptive in corporate life. Learn to love the distractions, or else be unhappy and unsuccessful (at least, relative to your capabilities). Either that or start your own business/go freelance where you decide how to allocate your attention.

uncut seal
#

"why is my laptop running like shit? I only have VSCode and firefox open!" remembers I started a BF solution while coding the DP "oh that's why"

pliant snow
# rotund violet Something I learned over my many years of work. Like all advice, take it or leav...

Not to pick on your specifically, but in general I think this is solid advice, and something that you don't hear a lot of. Every yearly review I've ever had has vaguely mentioned the projects I worked on, but the things that has really caught my boss' attentions are the small little things that aren't strictly part of your job. I have a habit of enjoying random small jobs that need doing (is it because I'm avoiding doing real work? Who can say) but volunteering or being willing to help out with that stuff goes a long way, and is something that every boss I've had seems to take positive note of, more so than anything else I do as part of my job

crystal wren
#

...new idea: bot maintenance reviews. SDVpufferthink

pliant snow
#

In that we should be reviewing the junimos? not a bad idea

#

they could certainly use the feedback 📝

crystal wren
rain apex
#

R we gonna fire Uber for misconduct

safe dragon
#

sometimes I question whether I go to far with optimizations

#

day 11 advent of code spoilers

#

doing this horrific precalculation is around 33% faster compared to just doing ToString() and then splitting

thin estuary
#

how does the SatansLadder impl on that screenshot fare against just using Log10

#

although hmm, Math.Log10 works on doubles

safe dragon
#

I tried log10 first and it was around the same as the string conversion strategy

#

except with fewer memory allocations

#

this also removes the pow I'd normally need

pliant sandal
#

Hey guys what’s the best way to make an outfit made and would I be able to do in clip studio paint

Because my character has a jacket in her ref but not in game
How would I go about doing this ?

safe dragon
pliant sandal
#

Shoot sorry sometimes it’s hard to know what goes where

#

I thought this was talking about stv still again my apologies

ivory shadow
#

Writing source generators is annoying.

#

The fact that symbols aren't equatable is fucked.

#

(I am trying to figure out how to get caching working so it doesn't re-emit on every key press when VS is in that mode.)

rain apex
#

aren't u doing the incremental thing Bolb

#

i thought pipeline is already handling that

ivory shadow
#

The pipeline handles it in theory, but you need to return objects with equality support.

#

You can't just toss a node in a box and call it good.

#

And this method has to be fast, so minimal processing.

#

Yet symbols aren't equatable, so I need to extract all the information I could ever need from the symbol in this step?

#

It seems fuckin backwards

#

You can't add diagnostics info in that step either, which is cool because the Location that you use to attach a diagnostic info to a bit of code? Isn't equatable

rotund violet
#

Yes, this is pretty well-documented, you never want to use any part of the semantic model in the output of an incremental generator, you need to define your own model for incremental generators to work correctly.

#

Have you gone over the ISG Bible Blog Post?

ivory shadow
#

Yeah.

#

I'm just venting, lol. I understand the problem.

rotund violet
#

Trade ya - I'll write a readonly record struct model for your source generator, you figure out why my global transform propagation is somehow propagating to content that's already been drawn.

cinder karma
#

I'll trade you finding where the bad solder join on this pcb is

#

Nothing in return. Just help me find the issue SDVkrobusgiggle

rotund violet
#

No, see, that's just work. There's a difference between that and self-selected problems that happen to be difficult or frustrating.

ivory shadow
#

Fun facts: Windows update just murdered my PC

#

So now instead of playing games with friends I am installing Windows this is great fun

#

Hopefully I don't reinstall whatever was giving me a kernel level memory leak

rotund violet
#

This is why one of my first steps when setting up a new PC is to murder Windows Update.

ivory shadow
#

I think I have hardware failure at this point

#

Never got to the point of installing Windows

rain apex
#

microsoft heard you badmouthing the source gen api

supple ether
#

Bill gates is en route with a machete

ivory shadow
#

If Microsoft was coming after me it'd be because of all the shit I talk about windows 11, not the incremental source generators

#

But also my ram is failing memtest now so that's a thing

supple ether
#

Oh god

#

Bad ram is the worst

ivory shadow
#

I'm suspicious of my graphics card too.

#

But hopefully just memory. Sadly I can't replace it till Friday, since shipping.

supple ether
#

I killed a laptop that way once. Ram went bad, I hibernated the computer, and when it woke back up everything was fucked. Ram dead, file system completely nuked. Had to take it to a shop for hard drive replacement, and did data recovery myself. Basically everything was either orphaned or corrupted.

ivory shadow
#

I already replaced the SSD since I had one lying around. Nothing.

rotund violet
#

Try downclocking the RAM before replacing it, sometimes the XMP profiles are way off and the memory controller gets progressively buggier over time.

ivory shadow
#

I've tried several different things. All permutations of sticks across all slots, several different profiles. The sticks are just toast.

#

As long as it's not the memory controller on the motherboard I'm good... come Friday

marble jewel
#

Did you end up deciding on a laptop?

ivory shadow
#

I still am hoping to buy a Framework 16 using mostly Nexus money next June or July.

#

Any money necessary to fix my PC shouldn't come out of that pool... unless I need a new graphics card and I get something expensive.

rain apex
#

is there special shenanigans for using libstdc++ with clang++ blobcatgooglyblep

safe dragon
#

that's so many pluses

worn remnant
#

just regular compiler flag shenanigans, i think, although there are probably weird edge case problems

rain apex
#

I feel like it's cus I'm trying to use cxxabi TeriDerp

#

Doomed probably

rain apex
fleet wren
#

you only need 2 if you fudge the proportions

safe dragon
#

you don't need any if you just use |

rain apex
#

c-|-|

#

hm

#

C=|=|=

#

Yey

cinder karma
#

I enjoy weird hisenbugs

#

Heisenbugs lol

cinder karma
#

Does anyone actually use github copilot

sand frost
#

One of the grad students I used to work with wanted to

#

I told him (gently) that it was not a good idea

#

The longer explanation being that with his current level of skills (and commenting) it was not a good idea

rain apex
#

a coworker use it

#

one time we were screenshare and copilot was generating nonsense as he tried to type out some specific api code

cinder karma
#

See. I've found the VS autocomplete about 90% helpful, mostly because it doesn't kick in that often

#

It's almost always just done what I would have done

#

Like, super obvious stuff

rotund violet
#

It's gotten pretty good at the "copy all of X's fields/arguments to Y" boilerplate that's terminally boring to write manually.

cinder karma
#

In unrelated, I feel like somehow there are fewer gyms around

#

I have a long commute; I have found one gym along it

rotund violet
#

Yes, there are much fewer than in 2018 or so. The specifics of the "somehow" don't leap out at you?

signal flax
#

im sorry. what? (spoilered bc of image in the game files??? in case people don't want to know this exists)

sand frost
#

Seems suspiciously on-topic 😛 It's an easter egg

signal flax
#

i didn't know where to put it since its not really modding specific since I was just trying to figure out something in the files 😭 my bad

frosty echo
#

#programming-off-topic

sand frost
signal flax
#

Once again, I apologize.

sand frost
#

It’s no big deal! Just trying to point you for next time

random cargo
#

I worked in the Finance industry as a programmer/analyst - The only way I knew how to stop distractions was put my headphones on, and stick up a sign "Come back later, I'm in the Zone"

#

(I'm 62 and retired now) I also assigned time where I would help people as I was usually one of the more knowledgeable people there (because I'd been doing it for so long). When you have asperger's it's really important to control distractions. @cinder karma The thing I found is that if people knew I was coming around to see how they were and if they had any questions they usually saved up their questions for then. I still got distractions but they were back to a manageable level.

rotund violet
#

Headphones work for that purpose if and only if your entire work group understands and respects that "contract", usually if it's a team of programmers in a silo type environment with other job functions in separate areas or buildings.

#

I've worked on teams where headphones mostly guaranteed focus time, and other teams where they accomplished nothing at all except to generate negative feedback from coworkers and make the distractions even more distracting - because now it's not just the question itself, it's the whole production of getting tapped or shouted at, pausing the music, taking off the headphones, etc., then doing it all in reverse.

cinder karma
#

Tbh I'm going to be honest - that was a wildly exaggerated rant because I was annoyed

#

Interruptions are fine. Most of the time.

rain apex
#

Do u think anyone's doing aoc in Makefile

#

Not to build c just directly as script

safe dragon
#

maybe for like day 1 somewhere

#

day 1 always has some completely out there choices

#

pretty sure there's been years where day 1 was solved using little big planet

cinder karma
#

Solving day 1 with crabs

safe dragon
#

I think today’s one could easily be solved in just about anything capable of 64 bit math

#

especially since parsing the input is often not included in the very out there choices

rain apex
#

i wish i was brave enough to write "makefile nonsense" on this commit

ivory shadow
#

makefile nonsense is the sort of commit message you put on a commit four commits deep into trying to fix a CI pipeline

#

(I'm looking at you, GitHub Actions)

cinder karma
#

Six commits later it's just "ahhhhhhhhh"

supple ether
#

Today I learned how to install and configure an apache http server, and how to manually configure it for php

ivory shadow
#

Any reason you went with apache and not something a bit more... modern?

supple ether
#

Are there more modern php stacks?

#

Mostly I went with it because I knew it would do what I wanted

#

(which is, to serve php/html/files and allow custom rewrite patterns)

ivory shadow
#

Most servers support FastCGI these days, afaik.

#

There's nothing necessarily wrong with using Apache, it's just a bit dated compared to some of the alternatives so I was curious.

supple ether
#

What are the alternatives? I only know of nginx and apache, and I have zero experience with nginx

ivory shadow
#

nginx is the big, popular one. Lately I've been a fan of Caddy.

supple ether
#

Huh, I'll have to tinker with that

ivory shadow
#

I'm running Caddy at home because of the sheer ease of setting up reverse proxying and SSL.

supple ether
#

Ooo auto https,that's nice

ivory shadow
#

Yeah, it's the big thing that got me to try it over nginx on my home lab

#

My caddyfile is basically a big chain of caddy some.domain.name { reverse_proxy http://10.1.1.15:8000 }

marble jewel
#

I use Traefik on mine, it's as dead simple as Caddy but has a few extra features I take advantage of

#

Particularly some middleware like authentication, dashboards, and ones that let me add custom css to some of my containers

ivory shadow
#

The last time I looked at traefik I had trouble finding docs that weren't "just set up kubernetes and it does stuff" lol

marble jewel
#

I don't even use their discovery stuff, I configure everything through yml files

#

Maybe I'll upload all of my compose files for reference, I'm hosting like 50+ things

ivory shadow
#

Injecting custom css would be useful for some of the plex-adjacent services I run that don't have native dark themes.

#

Though I would be incredibly surprised if there wasn't a plugin for injecting HTML into a response with caddy

marble jewel
#

Yeah, I self-host theme park for most of the apps that support it so that they can all have a consistent theme

supple ether
#

Something else I should mention WRT project goals is that I want to be non-permanent. Right now I have it rigged with a batch file so I can pass the directory to serve as a cli parameter so I can use the same server for developing a multitude of projects without obnoxious path hackery

ivory shadow
#

Ah yup, caddy can absolutely mess with content

#

And caddy config files do let you use placeholders, including one for the working directory.

supple ether
#

Oh nice!

#

At some point I should see about learning Go. I've been hearing a lot about it lately

ivory shadow
#

I put off learning golang so long it turned into putting off learning rust

#

I have actually written one application in rust. I hated it lol

supple ether
#

Eugh rust

#

Love the concept. Lifetimes is headache.

ivory shadow
#

It's memory safe because I can't get anything to compile and the safest code is code that you don't run

#

🙂

supple ether
#

I think mostly I struggle with rust because I don't have a string grasp on its design patterns

#

It's so very different from the languages I'm used to

rotund violet
ivory shadow
#

I can see some people liking that but it doesn't tickle my immediate feedback itch

rotund violet
#

Granted, it would be nicer to have both. But I've never worked in a language that has both.

ivory shadow
#

And if you're skilled like me you can struggle for half an hour to get it to compile and then it still doesn't work 😎

cinder karma
#

I hate stupid bugs I can't track down smh

rotund violet
#

Leaks and other lifetime issues are some of the hardest to track down.

supple ether
rotund violet
#

It's a trade-off, for sure. You'll spend many hours dealing with lifetime frustrations, not least of which because Rust's borrow checker is still a bit sucky. And if you're doing the type of project where sharing violations aren't a concern, then maybe it never pays off. On the other hand, if you're in a situation where a leak means you spend upwards of a week hunting it down (and I have personally been in that situation), you start to see the value.

supple ether
#

I'm still surprised the compiler didn't flag that with a warning

ivory shadow
#

The compiler be like

rotund violet
#

Haha, I will never stop hating underscores and will cling to my single-character case-sensitive naming conventions until my dying breath, but it does result in the inevitable "oops I referenced the field/property instead of the property/field" errors.

red crest
#

(i have no other input except to add a +1 recommendation to caddy)

ivory shadow
#

Apparently caddy has built-in php via something called "frankenphp" these days

supple ether
#

Hmm

ivory shadow
#

Embedded PHP in-process. Sounds spooky to me

#

The last time I really used php was like 2007 though so just php existing is spooky to me

cinder karma
#

Yeah

ivory shadow
#

Facebook has really sunk way too much developer effort into improving php

cinder karma
#

Today's bug....insufficient capacitance? Too much capacitance? I don't know and playing guess and check isn't fun

rotund violet
#

Give it another 10 years and we'll hear that FORTRAN is making a comeback. Or maybe Visual Basic.

supple ether
#

I'm just using it to template a static site rn

ivory shadow
#

focus don't test me I can and will write a Stardew mod in visual basic

#

This will hurt me more than you and is an empty threat but

supple ether
#

Say what you will about php but it is good at templating

rotund violet
#

Can you make a framework mod in Visual Basic that lets you run mods written in VBScript?

supple ether
#

Evil

rain apex
#

php just lets u write code that coughs up html Dokkan

#

and it werk

ivory shadow
#

Ah yes, Visual Basic for Applications

#

I would hope php lets you do that. That's why php was invented.

#

And then people kept cramming more and more turing completeness down its throat and gave it anxiety

rotund violet
#

Actually VBScript and VBA are different beasts.

cinder karma
supple ether
#

You could do a lua framework for stardew though

#

Not sure how useful that would be

cinder karma
#

You could do a Lua framework for stardew

rotund violet
#

VBScript was supposed to be the alternative to JavaScript.

ivory shadow
#

luau would be more fun

#

OH, right. That

cinder karma
#

Flask would be more fun

rain apex
#

ExcellentSoup: The Luau Framework

supple ether
#

Yeah luau or moonscript would probably be nicer

ivory shadow
#

Flask is just express for Python

rotund violet
#

I thought someone was already on that Lua project.

cinder karma
#

Wait luau is a programming language

supple ether
#

Python isn't really designed to be integrated through

ivory shadow
#

It's lua with types, by the Roblox devs

cinder karma
#

I thought you were suggesting partying on a beach

supple ether
#

Downside of having a lua framework though would be that lua mods would be unpatchable by other mods

ivory shadow
#

That's quitter talk

supple ether
#

Which would make compatibility really annoying

rain apex
#

just patch the lua framework then

supple ether
#

Write a lua to cil on-the-fly transpiler

#

Actually that sounds like something that probably exists

rain apex
#

i assumed thats how a framework would do things

#

emit IL out of lua at runtime

supple ether
#

It seems like there's several projects in that arena

cinder karma
#

Could easily just be an interpreter

supple ether
#

That was my original thought, just using the standard lua lib and plugging it into the game

#

Though now that I think of it, smapi did not like my last attempt to make a mod with native libs

ivory shadow
#

Too bad the lua to IL project hasn't been updated in like 17 years

cinder karma
#

is C# even seventeen years old

ivory shadow
#

C# is 24 years old.

rotund violet
#

Hard to believe, I know. Seventeen years ago I think was when we were already starting to get fancy features like Linq.

#

Might've been a few years afterward.

#

(Who remembers CAS? And the days before generics?)

ivory shadow
#

The earliest I used C# was in 2006. Didn't do much with it at the time, though. Can't say I even remember what I was doing.

#

I just vaguely remember using it for something

cinder karma
#

cas is a brand of calculator?

rotund violet
#

That's Casio.

ivory shadow
#

PC update: It wasn't RAM 😄

#

So now I'm waiting for a new motherboard, which will hopefully arrive Tuesday.

rain apex
#

do u have back up laptop bolbonfire

ivory shadow
#

I'm rocking my Steam Deck right now in fact. Have it hooked up to my biggest monitor and my keyboard/mouse.

#

The desktop mode is excellent so long as you've got peripherals.

#

KDE is my favorite desktop environment, easily.

#

Wish VS supported Linux, because I want to work on modding more. And I don't really want to figure out Rider.

#

(And VSCode is right out.)

#

Or maybe I should just grab godot and mess around

#

I always put that off

rotund violet
#

Rider is less awkward than I remember it being several years ago. It's got the usual JetBrains idiosyncrasies, but when I was doing Mac stuff a few weeks ago I definitely found it a much better experience than VSCode. Most things actually worked without any major fuss.

#

If you give yourself about a week to get used to it, you'd probably be fine.

safe dragon
#

I've been using rider for AoC this year and apart from the syntax highlighting breaking every once in a while it's been nice

#

syntax highlighting breaking has been an issue I think I've had with every jetbrains IDE I've tried

rotund violet
#

Yeah, hence "usual JetBrains idiosyncracies", that's definitely one of them. Compared to VSCode though, I didn't have to waste hours struggling with framework versions, CPU architectures, launch profiles and all that insanity. I just opened the project, pressed F5 (after choosing VS-style shortcuts) and it launched and debugged.

#

Although on the whole I'm definitely sticking to Visual Studio, there are a few little things about Rider I actually liked better. It would show me generated code without forcing me to jump through hoops, for example. And it has less of the awkward "why aren't you showing intellisense and/or method/parameter description" moments that I can never understand in VS.

#

I've come to look at VSCode as an "editor on steroids", like "vim/notepad++/sublime but better". Whereas Rider is at least an actual IDE.

sand frost
#

That’s how I feel as well

#

So I’m rather upset at Microsoft for pretending otherwise

marble jewel
#

On a whole I’ve preferred Rider to Visual Studio, but a particular bug has plagued me for years now so I’ve made the switch to Studio for the foreseeable future.

#

That said Visual Studio has come a long way since I originally made the switch.

#

And with Resharper I have most of what I missed from Rider anyway.

#

I prefer Rider’s git experience to Studio and its debugging.

rotund violet
#

Although VS did add GitHub integration, so that typing # into a commit description pulls up a dropdown list of open issues, filters by the text you enter, etc. I missed that immediately when I made the (temporary) switch to Rider.

#

For me that put VS above Rider again vis-a-vis the Git integration. The in-app tooling for diffing and merging isn't awesome, but it isn't awesome in Rider either, and I'm used to just popping open git gui which still somehow manages to be the best for many tasks despite the distinctive 90s-era design.

pliant snow
#

I never use the git integration in editors, aside from blame/changed lines. Anytime I actually need to switch branches or make a commit or anything I just use the command line

safe dragon
#

even when I use nvim I use a git gui

#

I can use the git cli but I don’t really like to

pliant snow
#

i tried like tig or lazygit or all them, but I just kept forgetting to use them

rotund violet
#

The IDEs are fine for run-of-the-mill "commit everything in my workspace" commits, but as soon as any kind of fine-tuning is involved, it's back to git gui.

#

Rider is rather more like git gui in that respect though, being able to just scroll or tap down a list of files and immediately see the changes on the right. At least JetBrains understands that "doing source control stuff" tends to be a different workflow and different headspace from "writing code". I don't know why VS's approach of merging them into a single UI feels so wrong and awkward, but it does.

#

I'm probably an odd case though, since I use the IDE, git gui and the command line depending on what I happen to be doing.

safe dragon
#

is vs that different from rider in this regard? instead of clicking it in rider you double click it in vs

#

perhaps I’m just too used to visual studio’s way of doing it

#

the most fine-grained I ever commit anything is like… only staging some of the files I changed instead of all of them

manic sail
#

who here make games

#

i use godot

rain apex
#

what kind of fancy git stuff do u do besides commit push pull

safe dragon
#

stash, merge and rebase should at least also be in there

rotund violet
rotund violet
safe dragon
#

rider seems to have a neater showcase of changes and the ability to deny or allow specific ones though I rarely do

#

funky lil arrows between the diffs

#

it's prettier if anything

rotund violet
#

More elaborate things I've done with Git that pretty much have to be done on CLI are filtering/remapping entire repos like I did with Atra's thing.

#

Typing reset --hard for me is way more convenient than the IDE's undo function.

rain apex
#

yes Dokkan

#

i dont really like rebase though

#

the whole walking back commit thing is too much for my feeble mind

rotund violet
#

You're missing out.

safe dragon
#

I seem to fuck it up sometimes

rain apex
#

a thing i was involved with long ago did preferred rebase

#

and it mainly just lead to bolbwaitwhat commit histories

rotund violet
#

Rebase is arguably the crowning feature of Git, it keeps commit histories a hundred times cleaner than constant merging.

safe dragon
#

almost everything I've ever worked on basically did: squash all pr commits -> merge

rotund violet
#

Well, I can't speak to every team, people do screw it up. But look at any of my repos and you probably would have no idea that I use rebase, it just looks like one big stack of good commits.

#

I really should squash PR commits - whatever GitHub's CLI does seems to have some trouble with anything like that, though, sometimes it gets disconnected from the PR.

rain apex
#

well the lack of merge commits is the thing right blobcatgooglyblep

rotund violet
#

Yeah, but not just the lack of merge commits, also the lack of random-ass "fixing stuff" commits.

rain apex
#

ultimately i think it is just which one is easier to brain for me

rotund violet
#

In the professional world, so much nightmare fuel happens during merge commits, there's good reason to hate and fear them.

rain apex
#

i treat a merge conflict commit as "i have completed and tested the merge" so i dont really have "fixing merge errors" immediately after

rotund violet
#

Good luck trying to bisect after a gigantic merge.

safe dragon
#

my old job had some funky rule for a while where we were required to commit our changes at the end of the day regardless of whether it was even in a compilable state.

Of course since we ultimately squashed all the commits when the PR merged it wasn't too bad but it felt very icky

rotund violet
rain apex
#

then i perish sleep

safe dragon
#

easy, you blame the testing team

rain apex
#

im not sure how rebase would prevent such a scenario

rotund violet
#

Haha... the "you" here doesn't mean "you personally / you're fired", it happens all the time in the real world. What I'm pointing out is how easy it is to recover from those two situations.

rain apex
#

someone's gotta look at changes and decide what is right code

rotund violet
#

If the bug crept in during a 20kloc merge commit, you are screwed, you are going to spend the next week figuring out what the hell went wrong. If the org had a policy of rebasing, you just fire up bisect and find it in 2 hours, assuming you've got reasonable build times.

#

Code reviews, unit tests, integration tests, etc... those are all well and good, and they all have different functions and solve different issues.

safe dragon
#

bugs that sneak in during merge conflict resolution are always fun ones

rotund violet
#

Nightmares.

#

Every so often I still wake up in cold sweats just from thinking/dreaming about debugging them.

rain apex
#

a surprise for later Dokkan

safe dragon
#

never really experienced a really bad one luckily

rotund violet
#

I've also worked with devs who intentionally snuck changes into merge commits.

safe dragon
#

oh that's exciting

rotund violet
#

Yeah, I dreaded the code reviews.

rain apex
#

dont ppl have to like

rotund violet
#

"Don't worry it's just a merge commit" - "oh it is, is it?"

rain apex
#

pull from upstream and get their PR into mergable state think

rotund violet
#

In the specific GitHub workflow, yes, there are a few guardrails around that (emphasis on few).

#

Git is not GitHub, though.

#

(Also, IIRC this org used Mercurial... ugh)

rain apex
#

oh it was policy at my work too

#

idk about this new place we r using some wacky internal thing that i dont understand yet

safe dragon
#

most my experience comes from azure devops so I get very confused navigating github

rotund violet
#

"Get your PR into a mergeable state" implies that someone else is doing the merging. Which is fine, if you have it; like if you're a Jr and there's a TL or main owner who handles all that, or like it is with a public open source project.

#

What it all comes down to is who actually does the merge, and what rules they have to follow.

#

Actually I shouldn't make it about "following rules" per se - it's about what discipline they have (or lack).

tender heath
#

Is terraria worth the 14.99?

lethal walrus
#

not very programming but yes

pliant snow
#

It's worth it, but it also constantly goes on sale

safe dragon
#

I’ve gotten enough out of it to even consider 100 usd a reasonable price

supple ether
#

Best $15 I ever spent

#

It also has a modding engine with steam workshop integration

tender heath
#

Thanks guise!!

#

Sorry for posting in the wrong place. I'm old lol

#

Idk how to drive this thing.

#

However I am thinking of learning python

#

What would be the best route?

supple ether
#

That really depends on how you like to learn

#

Regardless of language, the first thing you need is fundamentals, but you can learn those from video guides, interactive tutorials, text-only guides, visual programming, all kinds of options

safe dragon
#

fundamentals first and then find literally anything that motivates you enough to keep going

pliant snow
#

There used to be a subreddit that had a bunch of programming challenges, I learned python by just going through their backlog

crystal wren
#

The itch to disable bug reports on my Nexus page to force things to only happen on GitHub is so incredibly strong...

rotund violet
#

Beware the Law of Unintended Consequences.

#

It might help to think of the Nexus comment thread as a kind of moat.

sturdy cipher
#

Hello everyone, I just joined this server!! I'm trying to make a mod for Stardew for a school project. I'm pretty proficient in coding both in general and in game development, but I've never made a mod for a game before. Right now I'm having some compatibility issues regarding .net and SMAPI and other packages that I'm still familiarizing myself with.

I'm creating a new project, but I'm not sure with .net framework I should use? A YouTube video from 3 years ago said 4.5.2 but I'm assuming it's outdated..can anybody help me?

fleet wren
#

!startmodding follow the C# guide
also #making-mods-general is a better channel for your future questions

indigo mistBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

stray bison
# rotund violet Git is not GitHub, though.

you sound like you actually understand Git vs just knowing what commands to type. do you have any suggestions for resources for that? it confuses the stuffing out of me. I'm the personification of that xkcd cartoon 😆

#

I broke my repo last week and typed some various commands and it magically got fixed and I still have no idea how I pulled that off

safe dragon
#

for me so far it has been an extremely gradual process of suddenly needing to do something with git I’ve never done before once every year

stray bison
#

see, what had happen was 😆

I updated the readme on the github website after I finished working one night, right? Then forgot I had done so. And so I didn't pull the changes down to my local machine, and I got to work and did a bunch of coding. Then I couldn't push my changes because the readmes didn't match.

What's.. the right way to fix that?

cinder karma
#

it's something like ignore unrelated history

rain apex
#

commit your local and pull + merge from your remote then push

cinder karma
#

Either that or what chue saif

rotund violet
#

I don't think the actual maintainers of Git understand Git.

stray bison
#

I don't understand why we all have to use something so dang confusing either

cinder karma
#

Svn is worse

rotund violet
#

Don't get me wrong, not understanding it doesn't mean it's bad. I don't understand how my car works, but I can still drive it.

indigo mistBOT
#

@rotund violet You leveled up to Rancher. That's level 250. Woot!

stray bison
#

Well yeah, but thank goodness we don't have to type commands into our car's command line

rain apex
#

car goto work

stray bison
#

tries to go to the store, ends up in a tree
well that was unexpected

rotund violet
#

Git is like a vast ancient redwood tree weighting hundreds of tons and growing thousands of branches from all the maintainers and changes over time. Perhaps it's getting old, gnarled and unsightly, but what shall we replace it with, and how long will that take?

#

Every attempt at a "more intuitive" replacement has ended up being much, much worse. (coughmercurialcough)

cinder karma
#

Of all the version control I've used, git is the best

rotund violet
#

Yes, with daylight second.

stray bison
#

I've never used any of these others. how could they be WORSE than git?

rotund violet
#

So to circle back to the original question... I don't know of any good formal learning process. Like Git itself, it's just a process that unfolds over time.

rain apex
#

i dont think its git specifically

#

there is learning curve for version control systems

rotund violet
#

Yeah, we were discussing rebases yesterday for example. It seems you either get it, or you don't. Maybe at some point it just clicks for you.

stray bison
#

it was just very frustrating because I knew exactly what the problem was and what conceptually needed to happen to fix it, but actually getting that to happen??? woof

rotund violet
#

A lot of source control arcana, like a lot of software and technology arcana in general, is wrapped up in tribal knowledge, which I'm sad to say is slowly getting lost. But if you're working at an engineering company then finding a mentor for that stuff will be immensely helpful.

#

I still have to look up git things quite often. Reflog scares me.

stray bison
#

yeah... I need to get a job too hehe
although my specialty is data so I may not have to worry about it at work 🙂

#

the heck is reflog? haha

cinder karma
#

What's his face who made gitbutler and who wrote the book on git

#

What's his face again

#

Ref-log haha

#

A list of previous actions

rotund violet
#

Reflog is how you rescue a seriously FUBAR repo. But it's incredibly opaque in and of itself.

cinder karma
sand frost
#

merge conflicting on myself was fun

stray bison
#

oh, so not re-flog. LOL

cinder karma
#

No. You are not flogging the repo

sand frost
#

I definitely read that as re-flog

rotund violet
#

After enough experience it gets to the point where you can predict merge conflicts before even starting the merge, or before even looking at any of the specific changes, just the files on the list.

#

You'll know what it's good at merging and what it sucks at merging. Almost like it's a sentient being of its own...

stray bison
#

haha nice

#

I guess it could be worse. Once I was working on a project with some people and a guy made a mistake of some kind and panicked and didn't know how to fix it so he just... replaced the whole thing with his local backup from 2 days ago, erasing a bunch of other people's work.

I managed to fix it and get their work back but he was so freaked out he wouldn't let me show him how!

rotund violet
#

Some people just really struggle with source control at a conceptual level. I've had to remind people not to commit commented-out code to the repo (if we want it back, that's what the history is for). I blame academia for this, I think in their minds committing or "checking in" is the same as handing in their assignment.

safe dragon
#

at my previous job there were a few changes that were almost guaranteed to cause merge conflicts

#

appending anything to the translation resource files was a big one. Anotheer was updating the openapi.json/nuget package for one of the apis

#

and then we had like a project that housed all the database stuff to turn into a dacpac where any stored procedure added would end up in the .csproj and that would guaranteed cause conflicts if someone else also added a new procedure

#

all mindnumbingly easy conflicts to solve but very annoying

#

honorary mention to autogenerated .designer files

rotund violet
#

One of my old nemeses was package dependencies. Two different changes would add their own new dependencies to the references list and it literally did not matter at all which order they were in, but nevertheless the source control would always give up and say "nope, you have to resolve that one manually".

safe dragon
#

yeah same for our translation files

#

I always ended up intentionally just throwing those translations in some random spot in the middle of the file to avoid it

stray bison
#

how did that help?

rotund violet
#

Less likely to merge conflict if they're not on or near the same line.

safe dragon
#

if the insertions aren’t done at the exact same location in the file, git generally just figures it out

stray bison
#

!! how odd

cinder karma
#

By defualt

#

Git has four iirc

safe dragon
#

t-there’s merge styles?

cinder karma
#

Diff styles technically

stray bison
#

haha what

safe dragon
#

the only thing I know is like “please ignore whitespace differences for the love of god”

stray bison
#

wydm my car can go diagonally??? 🤣

cinder karma
stray bison
#

when it says something is "greedy" what does that mean?

rotund violet
#

Huh, that list has expanded since I last checked it. I remember minimal but I'm not sure if I ever tried histogram.

cinder karma
#

Tbh none of this shit helps me when the labview develops a merge conflict

safe dragon
#

I don’t actually know if any of these help alleviate any problems I’ve had

#

idk what these mean

#

I have noticed before that visual studio and azure devops don’t use exactly the same merging logic because sometimes devops would fail but then I’d merge it locally to fix conflicts only to find it merge perfectly fine

#

you’d kind of think microsoft would be using the same stack to handling their git merging procedures in both of their products but I guess not

rotund violet
#

I am accustomed to seeing wildly different diffing algorithms/visualizations used in different parts of many organizations.

safe dragon
#

I’ve now escaped this stuff for better and for worse because I’m the only person who’s touching most of this code

rotund violet
#

They're usually maintained by different teams, with highly divergent tech stacks and histories.

#

For example, a web-based tool might be employing some python- or PHP-based differ, they won't be going directly to Git for it.

sterile pawn
#

hello, random question. sorry! I am new to SDV world, can a PC and mobile play together? thank you

leaden marsh
safe dragon
#

not the right channel but I believe the answer is no

#

oh

#

yes

#

this is why it’s not the right channel

#

🙏

sterile pawn
#

sorry, I can't see the channel for it, can you guys link it to me? I apologize for the inconvenience

leaden marsh
#

!gameplayquestion

indigo mistBOT
#

Hi! This is a support channel for issues such as game errors, missing saves, games not launching, and so on. Your question seems to be more gameplay focused, and as such would be better suited for:

rotund violet
#

Hmm, we need an off-topic version of that bot command.

leaden marsh
#

(i guess the first part of this command isn't correct because this is also not a support channel)

sterile pawn
#

Appreciate you guys, thank you

rotund violet
#

Like... !gamequestion or something.

rain apex
#

the bot should contextually provide the correct info Dokkan

rotund violet
#

...yeah, that'll happen.

stray bison
rain apex
#

maybe if we bribe aquova

safe dragon
#

I’ll tell aquo to drop everything right away

#

he already finished his advent of code today what else could he possible have going on

stray bison
#

that reminds me, I need to go to the liquor store after D&D

rotund violet
#

In that case, let's just have a single universal !nothere command that also automatically figures out what they were asking about and where it's really supposed to go.

#

(alias: !shoo)

leaden marsh
#

of course, re-flog, and now, no-there

pliant snow
#

I do accept bribes

rotund violet
#

Actually it works both ways. "Not here" or "no, there!"

cinder karma
#

(Also, hi myuu!!!)

sand frost
#

I can offer a bribe of a 16x16 piece of pixel art

leaden marsh
#

(hello!)

cinder karma
#

Today: 11.5km!

rotund violet
#

I'd probably take the pixel-art bribe for a lot of special requests. But I don't know bots.

cinder karma
#

Also I looked up my 15km PR and it looks hit-able. 1:23

sand frost
#

that's so many km

#

my today: 0.1km, all within my apartment

cinder karma
#

Aka 33 full minutes over my 10k. I recall it being on the world's worst surface to run on in the world (sand)

sand frost
#

sand??? wow

cinder karma
#

Yup

#

This was when I lived in LA

sand frost
#

I get sick of running on sand basically immediately

cinder karma
#

And the 15k was on the beach

sand frost
#

and then stop

cinder karma
#

So anyways. It's five years later. I haven't trained 15k at all. I still think I can hit that

stray bison
#

I get sick of running basically immediately

sand frost
#

I would like to get better at running, but my doctor put me on some antibiotics with a rare side effect of tendon ruptures and told me to take it easy for a while

cinder karma
#

Oh no take care!!!!!

sand frost
#

I'm totally fine, just need to kick an infection

#

Like physically I'm fine, doesn't hurt

worn remnant
#

i need to get back on the wagon for my annual half marathons

ivory shadow
#

Wouldn't being on a wagon for a marathon be considered cheating? /s

worn remnant
#

every year a bunch of little kids complete the whole thing sitting in strollers. oughtta be DQed, the dirty cheaters

rain apex
#

do you dress up like a castle when you run

worn remnant
#

what do you mean dress up

rain apex
modest jewel
#

hey, i would like to ask what language is "sampi" built on, and i really want to ask if there anyone else working on rebuilding or fixing the android version of the application

#

thanks in advance

#

nvm, found it

#

sigh

austere pollen
#

Does anyone here have experience with Swift on Windows or Linux?

cinder karma
#

I think Shockah tried once on windows

cinder karma
#

Microsoft: how likely are you to recommend SharePoint

modest jewel
#

unless there is not, so i can work on my own port

lethal walrus
modest jewel
#

i mean switching to linux is the best u can do

#

yeah it has some problems, but that only for games and a few parts but most of the important things work just fine

cinder karma
#

Ah, yes, let me switch this entire company over to Linux. That will end well

lethal walrus
#

im sure they'll love using open/libreoffice too
(i do, but they probably won't enjoy abruptly moving)

worn remnant
#

i use linux but i would not recommend it to a regular person

modest jewel
#

meh i used to be regular person

#

the installation process isn't that hard

#

u can just enter a few words in the terminal and u already installed the sys

#

not that much diff of windows tbh

rain apex
#

Please prepare the presentation to the company about why they should drop everything for the next month and do this migration

worn remnant
#

one month is insanely optimistic, tbh

#

not to mention all the times down the line when one of the replacement softwares doesn't support a feature or crashes weirdly and there isn't a number you can call to address it

#

or simply isn't available to begin with

ivory shadow
#

The great thing about office in general is how it hasn't even advanced as a product since 2003.

lethal walrus
#

some parts of libreoffice are even better, you can write macros in like 5 different languages

modest jewel
#

i can't really force anyone

#

but linux is just better

#

especially after the mold microsoft published (win11)

sand frost
#

When you work with other people, their problems are also your problems, to some extent

cinder karma
#

Also please explain how to use the windows only software on Linux XD

rotund violet
#

I'm willing to give LibreOffice another try (last would have been about 5 years ago), but my past experience has been the perfect case study in the difference between "features on a checklist" vs. "coherent product design".

#

As it seems to be with so much Linux desktop software, it's as good as or better than the commercial equivalent on paper, until you actually try to use it.

cinder karma
#

Tbh I've used Libre before

crystal wren
#

And occasionally much better to use as well.

Kate is actually shockingly nice, for example.

cinder karma
#

It's fine

#

I preferentially use LaTeX

#

But, like

crystal wren
#

Kleopatra is confusing with its icon being different on Windows and Linux...

cinder karma
#

sings I just wanna be hard-core

rain apex
#

What if you just use google docs blobcatgooglyblep

rotund violet
#

I do, actually, for some things.

#

Google Docs occupies that valley of "I can use this if I have to although I won't enjoy one second of it". Which was better than my Libre experience (again, several years ago) of "nope nope nope".

sand frost
#

I use latex for formal things

rain apex
#

Also I thought atra just latex everything

sand frost
#

Google docs for quick things

rotund violet
#

GDocs is still the undisputed winner for anything collaborative - but actually collaborative, not "I write this and you mark it up with revisions and such" which GDocs sucks at.

crystal wren
cinder karma
#

Unfortunately, to make money I must use word

rotund violet
#

I like using MS Word (and Excel, and so on) just fine, when they're available. I just don't like paying for them. And like Adobe, I will never, ever pay an annual fee for it, no matter how weak the alternatives are.

#

In that regard I agree completely with Khloe: the only actual "innovations" in MS Office since circa 2003 have been in their licensing model.

#

One could make a plausible case for marginal improvements up to 2013 or so, but afterward it's just naked gouging.

elder prism
#

I've only used the browser version of ms word and it's frankly horrible
I'm sure the desktop version is better but the browser version does not give me confidence in it as a product enough for me to even want to try it

#

My only problem with libreoffice is that I don't know how to use it efficiently, but that seems like a me problem and not an app problem

rotund violet
#

I don't consider the browser versions even worthy of mention. When we talk about MS Word and other Office products we're generally talking about the desktop versions from around 2007-2013 era (or I guess as early as 2003 for some people).

rain apex
#

2007 is peak graphics i think

regal ingot
#

uh, the last really good version of MS Word was 5.1a (for Macintosh) released in 1992.

rain apex
#

im at the correct age for windows aero nostalgia

leaden marsh
#

you're so real for that

#

i'm not one to install themes or whatnot to go back to aero, but i miss it heavily

cinder karma
#

It's interesting how little I remember aero

#

Then again, I fell in with a Linux crowd lol

#

I don't like modern word

#

I actually liked libreoffice and can work it fine

#

Excel I don't hate.

#

Even grudgingly appreciate some days

#

PowerPoint....I honestly would rather do latex

#

The browser versions can go die ofc

#

I'm still trying to find the setting in SharePoint that sets things to open in the app (and not in the browser) by default

#

Incidentally, since I'm no longer allowed to dye my hair fun colors, I got colorful extensions instead. Now watch me never get around to wearing them.

uncut seal
#

Now that I learned LaTeX, I'm also trying to do everythin with it, but I just had a report to do where the guidelines mentions "an editable text format (doc, docx or odt), avoid PDF", which is so weird to read... I wonder why it has this specification

sand frost
#

Some people love track changes for suggesting edits

uncut seal
#

well, yeah, but that's a report I'm making about my life in Japan to get the last part of a scholarship, the only reason I can see for wanting something editable is to edit what I said before sharing it to other students planning their exchange, which would be scummy.

#

Also, I'm working in a google doc and I'm going crazy: when I select text and start to type to replace it, it places the cursor before the first letter, causing me to write things like "xchangee" or "ome ares" because the first letter ends up at the end. Is there any way to fix this?

cinder karma
safe dragon
#

beat them up