#programmers-off-topic

1 messages · Page 24 of 1

safe dragon
#

probably not

#

give it a shot

#

I recently learnt that the only reason fedora still ships python 2 is cause gimp uses it

pliant snow
#

Does it? Python 2 isn't in the arch packages anymore because nothing uses it

#

Some items are built with whatever python is installed, so I suspect there might be issues

safe dragon
#

as far as I know gimp isn't switching to python 3 till the mythical gimp 3

cinder karma
#

Yeah

pliant snow
#

actually python isn't a dependency at all for gimp on arch

cinder karma
safe dragon
#

huh...

cinder karma
#

(Okay I ended up doing a fresh OS install)

pliant snow
#

why would you want to change the system python version

safe dragon
#

funzies

pliant snow
#

I think the usual advice is to leave system python as alone as you can

cinder karma
#

Long story short I need to run this stupid script as root

#

And for some reason it's refusing to use the 3.11 I've installed or the venv it is in when I run as root

#

"Why root" "fuck usb"

safe dragon
#

I've learnt not to question what you do

#

maybe you run 3.11 specifically in root because of usb

pliant snow
#

I could see that being an issue

#

If the python 3.11 is installed on disk, idk why you couldnt just call that executable as root

cinder karma
#

That's what I'm trying now but now ipython is missing and refusing to install

pliant snow
#

Do it in a docker container with access/permisisons to whatever /dev device you need

#

aka the venv approach but with more steps lol

cinder karma
#

Hmmm running as root did not fix my access issues

pliant snow
#

Is it some HID USB thing?

cinder karma
#

Vendor docs (which I should have consulted earlier) specify a specific version of a library must be installed

#

Okay did that, different error now!

#

Ah, okay, need to add a config file to set two specific ids first

rotund violet
#

I saw "3.11" and thought "whoa, is this retro Windows day?" Python should really have skipped that version number.

cinder karma
#

Presented without context

worn remnant
#

i already didn't like python, but the (ongoing) python 2/python 3 fiasco made me really not like it

rain apex
#

wait i thought it ended in 2020

cinder karma
#

The world ended in 2020

pliant snow
#

Python 2 is pretty dead, only really stubborn projects are using it still

#

Read: Random build scripts for the project I work on

leaden marsh
#

Installing a newer version of Python is exactly how I soft-bricked my Ubuntu 18.04 server computer

#

(Or rather, attempting to uninstall the earlier version)

pliant snow
#
supple ether
devout vault
#

...You can forward messages in Discord?

supple ether
#

it's a new feature

cinder karma
#

Test

#

Awww not on my phone yet

devout vault
#

My discord is perpetually out of date

supple ether
cinder karma
#

Then reconsidered HIGHLY

#

In my defense I'm running on about three hours of sleep

#

Staring at an incomprehensible error with a USB port and crying inside

#

Like I don't even usually go "okay I will try to solve my life's problems by running as root or lying to this USB port about....what is this third ID field?"

supple ether
# supple ether

oh wait my bad. it didn't generate json. it generated an entire webpage containing embedded json and javascript

cinder karma
#

(The solution was very simple. Atra, follow the vendor's nicely made documentation. Unlike the previous vendor's absolute dogshit useless docs this particular chip has good docs actually.)

supple ether
#

good docs, a true rarity

cinder karma
#

Now I need to figure out why we rolled our own i2c code

#

I'm going to bet I don't like the answer

#

We'll find out tomorrow

#

(My bet is "well someone was accidentally not quite to spec")

sand frost
#

There’s never a happy answer to that

#

It’s either spiders or someone wrote bad code

sonic mirage
#

Re: Powershell - I've used it to do some deployments of PHP sites on Windows Server (don't ask), and it's decent. You can write interactive scripts for it and it is kind of like C# Lite. You just have to install the current version of v7 and not use v5 or whatever was installed with your Windows install

#

If it has the blue background you are probably running the old version. Also be sure to tick all the boxes to add it to your context menu and make it default and such when running the installer

pliant snow
#

Shoutout to ZFS, as I realized I had misconfigured syncthing and rather than preventing certain files from syncing, it had deleted them entirely without me knowing. Luckily I could just roll back to an older snapshot

sonic mirage
#

Windows for some reason keeps the old and the new one installed

humble knoll
#

Classic windows

cinder karma
#

....who made this api

#

I quote the docs...."<redacted> is interpreted as a query for matching <redacted> devices and immediately stop....the python interpreter is forced to exit"

safe dragon
#

me

cinder karma
#

It was already on my annoyance list for being a stringly typed api

safe dragon
#

With this special URL syntax, the avaialble devices are printed out to the standard output, and the Python interpreter is forced to exit (SystemExit is raised).

#

a spelling error

#

sue them

#

yes I looked up the api for this

#

my least favorite api I've used was the api for the official C# package for Amazon Cognito which treats every failure state as an exception.

Something as basic as a user using the wrong password was treated as an exception instead of just a result response

#

using it involved a lot of try catch arms

cinder karma
#

New day new hatred of filesharing software

#

Business oriented filesharing software

#

Also, vpns

#

Otoh you guys might like today's wfh mullet outfit

#

Dress shirt and shorts babyyyyy

supple ether
#

(I realize that's not possible in enterprise but. still)

safe dragon
#

have your work host a private torrenting network

supple ether
#

I use self-hosted torrents all the time to share files with friends. not even in a piracy way just like. "Here's a zip of the 2gb minecraft multiplayer world I've been hosting so you can have a personal copy"

#

FTP also works but IME it tends to be kind of slow

cinder karma
#

Hey, Ubuntu did self hosted torrents too iirc

#

It's a great way to do big downloads

#

(What I'm pitching about is that it took me five tries to successfully load 20mb of pdfs into a shared directory. Five. Tries.)

rotund violet
#

Sharepoint?

scarlet hollow
#

Unrelated: is this a safe space for software engineering rant?

pliant snow
#

only if we agree with you

supple ether
#

absolutely

#

LMAO

scarlet hollow
#

Ohmyfuckinggod I hate enterprise software development. So much.

We spend FOUR MONTHS nailing down a handful of dead simple changes and allocating time in FIVE different engineering teams to work on it for each platform, including two different backend teams. After multiple rounds of delays and changes, I finally finish my work for Web, and then a senior engineer on the iOS team says they won’t approve the design as specified because it doesn’t follow iOS best practices. Time for another contract change!

Get. Me. Out of here.

pliant snow
#

ah yes

fleet wren
pliant snow
#

things that I could do in a day on my own take three weeks, four documents, and five approvals to do

scarlet hollow
#

This has been a drag on my sprint completion for the past three months

#

I hate it I hate it I hate it

#

Whew. Calm… okay I’m good

#

One month until I can quit without having to pay back my five figure signing bonus

#

Almost there

rotund violet
#

I wouldn't take any bonus to do enterprise dev again.

#

Well... maybe a seven-figure bonus. If the job didn't literally make my eyes bleed.

scarlet hollow
#

Yeah. Man. I’ve learned my lesson

pliant snow
#

Beats actually working for a living

rotund violet
#

That said, bureaucracy infects every big business, not just the enterprise-y ones. Believe me, FAANG (whatever the acronym is now) is exactly the same.

pliant snow
#

oh the arch wiki is down

scarlet hollow
#

I came from a really awesome startup that used conventional React and where the job was exactly as advertised. The past year at [Big Tech, Inc.] has destroyed me from the inside out

pliant snow
#

Never work at Big Tech, at best maybe Middle Tech

rotund violet
#

Yeah. Startups can be nice for autonomy. Just tend to suck for pay, job security and general stress.

scarlet hollow
#

I was actually paid roughly 15% more at my startup job

#

lol

#

The signing bonus I got suckered into was the recruiter’s way of making up the gap

rotund violet
#

Sometimes if they're VC-funded they'll offer high pay... at first. Just don't expect any raises ever, and you might get dropped for BS reasons.

scarlet hollow
#

But yes, wrt. job security. That’s why I am where I am

#

Startup flew me out to LA for a week in Nov. ‘22 to meet the team and everything was great. Then six weeks later the company was taken over hostilely by an investor-that-was-also-a-competitor and they laid off all but the lowest paid people.

rotund violet
#

Happened to... geez, I've lost count, like half a dozen people I know? Always the same story. First year is awesome, they're making money, having fun, feel super important. Then there's a "change in management" and off they go.

#

There's a middle ground for security if you work for an internally-funded startup, or what we used to just call a "small business" where the founders have a personal stake. But, they tend not to pay obscene amounts.

#

As long as you're a wagie, there's no clear win, just a bunch of tradeoffs.

#

I do hear some positive things about the quants. But you need to have a very high stress tolerance if you're working in a position where one tiny mistake could cost the company ten million dollars.

scarlet hollow
#

Ha, stress tolerance is not something I have very much of.

#

Ability to act in crisis? Yes. Ability to live in that long term? Nope.

rotund violet
#

Not so much eternal crisis with quants (as far as I know), just, you can't screw up, ever.

scarlet hollow
#

Same thing to my brain haha

#

The way I see it, if there’s a risk that any action will have catastrophic consequences and you have a fight or flight reaction every time you merge a PR… that’d be my personal hell

#

Also I don’t really math very well lol

scarlet hollow
# rotund violet That said, bureaucracy infects every big business, not just the enterprise-y one...

Coming back to this, yeah. Extremely felt. My manager announced a company hack week opportunity a month or so ago and I got excited. Then the other shoe drops—

  1. There are preallocated projects to work on. If you want to work on something you’re personally interested in…
  2. You need to submit your idea for approval on the company hack week portal
  3. Ideas related to AI are most likely to be approved, because that’s what the C-suite likes right now
  4. You need to build a slide deck and presentation about your work, and be prepared to hold a Q&A about it
  5. If approved, you need to build your prototype, then register for a time slot to present to the company about your work and the value it adds.
#

Bro I just wanna refactor some of our library code, not do a TED talk about it

rotund violet
#

Seems like every business is trending this way, where objectives are all oriented toward looking good on next week's powerpoint presentation, rather than actually having any impact on the business itself.

scarlet hollow
#

Yeah. I just hope the late-stage startup land I came from hasn’t been infected by it yet

#

Surely not COPIUM

rotund violet
#

Late-stage startups tend to be the most risky in my experience, they're all about to either be acquired or go IPO, and from there it's pure cancer.

#

For some reason, acquisitions and IPOs affect modern tech startups much more severely than traditional businesses, probably because they didn't grow organically in the first place and don't have management that knows how to handle the transition.

scarlet hollow
#

Yeah. At least for the last company I was at, at the end of the day, it was just a matter of resources

#

In order to fully cement our position in the market, we needed another funding round and maybe 18-24 months of additional runway

#

But then the behemoth company that invested in us early on said “hmm, how about no?” and used their board control to paralyze our ability to fundraise until we agreed to be acquired

#

I only learned all of this later on, but man

rotund violet
#

That's why I find the world of tech startups so cancerous. They're almost all wildly unprofitable, utterly dependent on VC/investor money, therefore have no recourse whatsoever when the investors go rogue, get corporate cancer themselves or just decide to be jerks.

#

Doesn't mean you should never work for one - just know that it's temporary and be prepared to walk away at the first sign of trouble.

scarlet hollow
#

Yeah.

#

It hurts more because it was a healthcare company providing low-cost in-home care to seniors

#

That a company like that still fell victim to corporate greed just really drains your will to live

#

I guess I was complacent. But it’s hard not to be when you’re well-paid at a job that feels perfectly tailored to your skillset, that gives you a sense of purpose like that

rotund violet
#

I don't blame mysterious forces like corporate greed; if a business isn't profitable, it's not going to stay in business, that's just reality. So when a startup has had negative cashflow for 5 years and expects negative cash flow for another 25 years, it's either going to get reorged or killed entirely.

#

The only part of it that's truly sad to me is how many turn to advertising or selling user data as a way to maintain cash flow.

scarlet hollow
#

sigh, yeah.

rotund violet
#

That's where the greed comes in, the carnie mentality, the absolute laziness. Let's not figure out how to save the business, we'll just cash in our chips and sell out the user base.

scarlet hollow
#

Well, at least we didn’t do that

scarlet hollow
#

I heard this in my head as Jerma playing Jigsaw

safe dragon
#

ah a rant about the tech industry

#

we don't really have meetings or presentations beyond the regular "scrum" slop luckily

#

and the company is small enough to not have a billion layers of bureaucracy

#

we have multiple teams but the team I am in is expected to basically do every part of some feature in every application that needs it

#

probably split between team members a bit but that's about it

#

no iOS team to worry about that's for sure...

#

actually we just ignore the existence of iOS entirely

#

tbh

#

idk if I ever want to work somewhere with even more bureaucracy nonsense than I already deal with here

safe dragon
#

I just get told "this thing needs x to allow you to do y" and then I do that and once I'm done a tester checks that you can indeed do y and then it gets merged

pliant snow
#

It depends on what it is. Bug fixes or general refactoring you can just do, just need a coworker to review and approve the commit. Once it becomes a "feature" though, theres suddenly a bunch of hoops and documentation that happens

safe dragon
#

and you're responsible for that?

pliant snow
#

Some developer working on it is, yes

#

And we dont usually decide the features, they come down from on high

safe dragon
#

oh we definitely never decide features nor do we ever get time to refactor anything ever unless we pretend it's necessary for some specific feature

#

features come from clients who pay to get them built

#

"store chain x want's to be able to do y and they paid us for that so go do that"

pliant snow
#

Weve been trying to do some refactoring that wouldve made the project im working on now, and the previous on in that section of the Ui trivial, but alas

safe dragon
#

refactoring doesn't have a clear concrete reward to management...

#

I'd like to maybe experience like a big company once just to know what it's like...

#

it'd be interesting to work somewhere where clients aren't directly paying for a very specific piece of functionality too

#

companies where features are decided by some people somewhere in the company who base that on, idk, reviews or market analysis or something

#

where I work now is basically just a pipeline to churn out features for specific clients and add them to the heap of a million other features built for clients, many of which are only used by a singular client

pliant snow
#

Thats a weird business model. We do have some stuff thats mandated by our OEM clients, but we (we being internal management) have pretty free agency to update things as we please

safe dragon
#

generally speaking for the company I work for, if a client isn't paying for a feature we're not building it.

That's true even for entire applications. We offer a self checkout because a client paid us to build one

#

pretty much every single thing any of our applications can do can be tracked down to some specific client paying for us to add the abilty to do that

pliant snow
#

How long after they stop paying can you throw it out lol

safe dragon
#

never

#

the only way features are "thrown out" is that everyone has forgotten that it existed and no client seems to miss that it's now broken

cinder karma
#

Interesting business model

safe dragon
#

yes

#

it seems to work...

#

it probably means I have a warped view of how companies operate though

#

we churn out entire lists of features every two weeks and as far as I can tell a lot of bigger software companies with several times the number of developers produce seemingly a fraction of that as far as outwardly marketable things go

pliant snow
#

I would say our public feature change is probably a bit small for the number of people on the products, but a lot of them work on solely backend stuff

safe dragon
#

we do have a very very very large amount of settings and authorization options to enable or disable features for specific clients. There's several thousand settings that can be configured per store within a franchise and also several thousand buttons, pages, screens etc that can be configured whether a user is able to see them

pliant snow
#

All one big switch statement

safe dragon
#

the game programmer way of writing an application

#

our authorization system is pretty robust and easy to use, probably by necessity

cinder karma
#

Mr. YouTube told me switch cases are fast though

#

Mr. YouTube also told me I should try the new programming language OCheetah and also to cut my hair and go running barefoot on the mountaintop

safe dragon
#

mr youtube likes to tell people to do a lot of things

#

it also likes to tell you to do the exact opposite of that

pliant snow
#

It used to be a bunch of compile time config options, but we're switching to more runtime stuff now

safe dragon
#

all our configuration lives in a database and is almost always configurable on a store by store basis and at the very least a client to client basis. Every client has their own separate database

#

pretty much all clients are big stores with at least like 5 locations and sometimes several hundred

#

no smaller clients, mom and pop shops etc

pliant snow
#

Do updates just get pushed

safe dragon
#

what do you mean

#

we create a release branch every month. Clients are generally on one of the last 3 months and that's our limit for patching bugfixes

#

apart from that, yeah

#

well

#

clients have acceptance environments where it's deployed first

#

stuff is then tested by the client there before eventually going live on their production environment

#

since every client essentially runs on essentially completely isolated environments it's up to each individual client when they update

#

there's a few services that are "multitenant", those generally just get released whenever there's a change

pliant snow
#

We make embedded systems, users only get updates if they actually put it on an SD card and do the update lol (actually i think we can push stuff over the air now, idk)

#

Im convinced most users have the software their system came with

devout vault
#

Update? What’s that?

pliant snow
#

Youre an animal

marble jewel
#

Now screenshot your unread count of your email inbox

devout vault
#

Oh I did that recently it’s 39k

safe dragon
#

we own every device our software/services run on other than the backoffice website, from the servers to the cash registers

#

so we have essentially full control over what version someone is using

devout vault
#

That sounds nice

#

Not having to deal with users like me apparently

safe dragon
#

yes

#

I mean in general we don't really deal with "users"

#

just businesses

devout vault
#

I just meant in general. I know sometimes with mods it’s a pain getting people to update things, I imagine it’s a nightmare when it’s stuff that actually matters

marble jewel
#

I'm forced to deal with a lot of office politics, and that's the worst part about my job

safe dragon
#

office politics are almost always the worst part of a job

sand frost
#

Aww Casey beat my score

safe dragon
#

I always dilligently update everything

devout vault
#

🥈

#

I used to

thin estuary
#

Meanwhile my App Store refuses to even tell me the update counts, until I manually open it, go to my profile, updates, and pull to refresh

cinder karma
#

I keep my own tech updated but thks oscilloscope runs windows 98

devout vault
#

Apparently mine did need refreshing, it’s 127 now

worn remnant
#

i do not diligently update everything. i do updates sometimes, if i feel like it, when it's convenient, or if i have noticed a particular problem and i'm hoping for or expecting a fix

marble jewel
#

I update my apps almost every day, but I still end up with 50+

lethal walrus
rotund violet
#

But you do have to be able to prove that the work you're doing is valuable in some way, as in "devs spend 3 hours a day just wading through this swamp of terrible code" vs. "this looks ugly to me and I want to rewrite it".

#

And if some particular module, class, algorithm, etc. has been responsible for a major outage, you pretty much get carte blanche to take whatever time you need to fix it. So if you're a particularly unethical enterprising individual, you could in theory come up with a way to abuse capitalize on the benefits of such a policy.

safe dragon
#

shuts down the server on purpose

crystal wren
#
:: Synchronizing package databases...
 core is up to date
 extra                                                                                   7.2 MiB  17.9 MiB/s 00:00 [#####################################################################] 100%
 multilib is up to date
:: Searching AUR for updates...
:: Searching databases for updates...
 -> Flagged Out Of Date AUR Packages: zoom
:: 7 packages to upgrade/install.
7  extra/gnome-music    1:46.0-2           -> 1:46.1-1
6  extra/jdk17-openjdk  17.0.11.u9-1       -> 17.0.12.u7-1
5  extra/jdk21-openjdk  21.0.3.u9-1        -> 21.0.4.u7-1
4  extra/llvm-libs      18.1.8-3           -> 18.1.8-4
3  extra/qt5-base       5.15.14+kde+r141-1 -> 5.15.14+kde+r143-1
2  extra/yt-dlp         2024.07.09-1       -> 2024.07.16-1
1  aur/google-chrome    126.0.6478.126-1   -> 126.0.6478.182-1

Not too bad!

safe dragon
#

nice

crystal wren
#

And don't worry, I use Chrome specifically for YouTube and YouTube alone. SDVkrobusgiggle

cinder karma
pliant snow
#

Google chrome even, not just chromium

#

Is that Arch update separate? Or is that some GUI to update

crystal wren
#

That's just yay.

crystal wren
rain apex
#

im bad at arch rolling release i think
Packages (472)

rotund violet
#

I'm still not going to apologize for using Chrome. Firefox annoys me, Brave is a pile of unfixed bugs and irritating design choices, and Vivaldi and a lot of the other "privacy" browsers are just straight up broken.

rain apex
#

that or kde patched 200 times last month

pliant snow
#

I loved vivaldi, i dont think i had many issues with it, although im still using firefox

#

yay can do popups?

cinder karma
#

Yeah I am a Firefox person

crystal wren
#

I used to like Mozilla. Then Firefox. Then Chrome. Then Opera. Then... honestly, it just went haywire.

rotund violet
#

Vivaldi, like a lot of browsers, works about 98% of the time. The problem is, that other 2% adds up to far more stress and time wasted than whatever I save/gain from ditching Chrome.

rain apex
#

when does it explod for u blobcatgooglyblep

rotund violet
#

I get to that one odd site that doesn't work, and then I have to troubleshoot. Is it the site? Is it my browser? My internet connection?

#

Is it an extension? What is the problem exactly?

cinder karma
#

Oh, I only ever use like five sites

#

The bulk of the rest is some guys blog or some uni website

rotund violet
#

It's always just... stupid shit, like opening up my bank account, clicking on the link to show my account number and having it do nothing. Multiply those little irritations by a thousand, and that's why I just stick to Chrome.

cinder karma
#

Ah, okay

safe dragon
#

I have no issues on firefox other than one specific webshop which just errors out when you go to the payment screen and has done so for like 2 years now

cinder karma
#

Lol

rotund violet
#

I hate Microsoft way more than Google and would happily switch to a Linux distro, if Aquacomputer would make any of their software multiplatform. Sadly...

pliant snow
#

Aquocomputer tho

cinder karma
#

Does aquocomputer support windows?

pliant snow
#

Excellent question, no

crystal wren
#

Are you telling me Bouncer isn't running on Windows!?

cinder karma
#

Does aquocomputer support Debian based linuxwa

safe dragon
#

bouncer solely runs on SerenityOS

cinder karma
#

Does aquocomputer support the one and true operating system ||emacs||

safe dragon
#

it's actively hostile towards that one

#

the one true browser is ladybird

devout vault
cinder karma
#

Please Casey

#

You know I have an oscilloscope still in 1998

#

It's not running windows 1998

pliant snow
#

Also its aquOS, thank you very much

cinder karma
#

It is just in 1998

#

I have to time travel to use ut

rotund violet
# pliant snow Aquocomputer tho

What's the "tho"? I don't get it - they're the only company in that space producing software that isn't literal garbage. Corsair... ugh, Corsair, I hate iCue more than I've ever hated anything ever.

cinder karma
#

Blows a big hole in the budget

rotund violet
#

Anyway, their Aquasuite only supports Windows, period.

#

Last I checked (and I've checked several times), you can sort of get some stuff working under Linux, like some of the sensors, but not virtual sensors which are required for this loop.

pliant snow
#

📝 aquosuite...

safe dragon
#

never heard of em

rotund violet
#

Oh, I get it now, it's a name pun.

#

whoosh

safe dragon
#

u did it

rotund violet
#

Anyway, in the liquid cooling space they're generally known as the company that produces hardware that doesn't break after 6 months of use, and software that actually works, the main disadvantage being they are out of stock 80% of the time.

pliant snow
#

Im here to cause confusion

cinder karma
#

Ah, I like lakeshore for that

safe dragon
#

I just have some ugly ass noctua fan slapped onto my cpu so no liquid cooling

cinder karma
#

||please someone else get the joke||

rotund violet
#

I... don't get it. Lakeshore?

cinder karma
#

Lakeshore makes scientific equipment for analyzing transistors

#

Some of their equipment uses liquid nitrogen to cool said transistors

rotund violet
#

Ok, well that's pretty esoteric. Interesting though.

crystal wren
cinder karma
#

Tbh if I were to rewind my life and magically find a job in the field I kinda really like power systems

cinder karma
#

I learned html from a book as old as I am, okay?

#

So I still have a soft spot for janky formatting using tables

#

That was allll I knew as a teenager

rain apex
#

tables...

#

my first introduction to web was dreamweaver and it like, puts spliced up images into tables for display

regal ingot
#

eeewww, dreamweaver

rain apex
#

i had to unlearn dreamweaver later LilyDerp

regal ingot
#

(I say having never used it, just looked at its output)

cinder karma
#

What's Dreamweaver

rain apex
#

cursed adobe wysiwyg web design software

worn remnant
#

janky table-formatting generator

rotund violet
#

From the same company that brought us the trainwreck of Flash, IIRC.

#

Ruined an entire generation of web design.

raw pelican
#

Git question.
I have downloaded github desktop and clone my (empty) stardew valley mods repository.
Do I now take the mod I've been working on and move it into that folder, and then I can upload to github? And then sync it across computers by getting github desktop on the other computer and cloning the repository to that one?

#

and I can make changes to the repo owned by github desktop and push it all to github?

#

I copied the entire project folder and now a .vs folder is in there.

pliant snow
# raw pelican Git question. I have downloaded github desktop and clone my (empty) stardew vall...

You can! If you cloned the empty repository, the folder it downloaded should have a .git folder in it. You dont need to worry about whats in that folder, but that signifies your folder as a proper repository. You can then copy all your files into the cloned folder, create a commit, and push it back up to github, where youll see your stuff on the website. You can then clone it on other machines and also make further changes, so long as theyre set up to push to github too

crystal wren
#

One thing depending on if it's a C# mod is you'll want to find a good .gitignore file for C#!

pliant snow
#

Subject the world to your C# junk

raw pelican
#

So still work off the original source folder, then copy it to the repository file to push to git and then I can pull out the files I don't want.

pliant snow
#

I would just move everything into the repository folder and just work out of there from now on, rather than having two copies.

I can pull out the files I don't want
That's the purpose of the .gitignore file that was mentioned, it's a list of files you don't want git to upload

safe dragon
#

just take a standard gitignore for C# and add whatever else you don't want uploaded

pliant snow
#

does C# have a lot of junk

safe dragon
#

C# itself will create bin and obj folders for build stuff and visual studio or rider would add either a .vs or .idea respectively

#

I think that's the main stuff

#

there's a lot in here though

#

a lot of this is really just visual studio stuff

raw pelican
#

Alright I'll look into gitignore. Prior to starting this stardew mod my only uploads were single file R Euler problems so it's still pretty new to me how this all works.

rotund violet
#

VS has a good default gitignore. Never had any junk files appear in the repo.

scarlet hollow
safe dragon
#

traumas resurfacing

scarlet hollow
#

Naw, just realizing that Dreamweaver is ancient history now

safe dragon
#

lmao

#

it still gets releases it's ok

scarlet hollow
#

I cut my teeth on Macromedia Dreamweaver

cinder karma
#

Seriously, though

#

I come from a background where you were a Serious Person if your personal web page was mostly text

safe dragon
#

modern web design dictates that 2 lines of text is the most you're allowed to put on an entire website

#

soz

rotund violet
#

You'd think all the noises would be annoying. But they're not.

cinder karma
#

Some tables maybe

scarlet hollow
rotund violet
#

Table layouts were awful. But you know what else was awful? An entire subsequent generation of web developers marking up actual data tables using horrendous float and position: absolute hacks because they heard tables were bad.

safe dragon
#

I think people would kick you in the shins and interrogate you now if you use float at all

cinder karma
#

My god

#

Meanwhile I'm like "simple css drop-down menus using pelican as a static site builder"

#

"I am a serious person but I can have a little css as a treat"

rotund violet
#

That's so web 1.0.

cinder karma
#

I'm not a real programmer lol

safe dragon
#

you are smh

rain apex
#

Surreal programmer

rotund violet
#

I'm pretty sure a real programmer is anyone who writes code. Writing HTML or JSON, though, that's not real programming.

pliant snow
#

Ahhh macromedia

cinder karma
#

(I'm the other side of the eecs.)

safe dragon
#

focus you'll be happy to know I still use table to this day when I need a table

pliant snow
#

I still have a site i wrote using some macromedia product, what was it...

safe dragon
#

even with grid now existing and honestly probably just being the superior option

rotund violet
#

Good, I think sanity returned to the industry around 2010 or so. But we had a decade of table-everything and then another decade of anti-table everything.

pliant snow
#

Oh excuse me, it was GoLive CyberStudio

rotund violet
#

Flex grid is at least a viable alternative to tables although it's really meant for grid layout. It's like WPF Grid vs. DataTable.

pliant snow
#

Its what dreamweaver replaced i think

rotund violet
#

Well, I guess it's a little more versatile than WPF Grid. But it's still not meant for stuff like bank statements and census tables.

#

(what am I saying, banks don't even bother with web design for that, they just cram a PDF in your face)

worn remnant
pliant snow
#

Twas the olden days

rotund violet
#

Everything was "cyber" back then, it was all the rage.

pliant snow
#

I cant remember much about it. Only that it was one of the few products that ran on classic Mac Os

rotund violet
#

There was even a major company named CyberLink.

worn remnant
#

i doubt i could name a true champion of the "worst software name" contest, but Citrix's GoToMyPC is up there

#

maybe we should set up a bracket and find the true winner

rotund violet
#

Didn't that come after GoToMeeting? I think they were trying to keep the theme going.

worn remnant
#

no idea. it's just such a four-suits-in-a-room kind of name, you know?

#

people with no taste who control the decision-making power

rotund violet
#

Well, it's Citrix after all. Pretty much all B2B.

pliant snow
#

I just earlier today was fighting with citrix

#

trying to remote into my work PC with a potential intern hire to show them something and their POS software wouldn't even load the login screen

rotund violet
#

Funny thing is that Citrix was actually the good software back then. The alternatives like VNC were so very, very janky.

safe dragon
#

is POS in this case "piece of shit"

rotund violet
#

I think MS Remote Desktop stole borrowed licensed? Citrix.

safe dragon
#

I've never had any issues with remote desktop

#

works well

pliant snow
worn remnant
#

memories of IBM SurePOS (operating system for touchscreen concession stand registers)
i know what it was supposed to stand for, but as we know it always means piece of shit

#

evidence: the reason i know what it was called is that we had to reboot them periodically!

#

like, they wouldn't make it through a whole shift periodically

rotund violet
#

That would explain a lot of my retail experiences.

#

"WHAT ARE YOU EVEN DOING ON THAT COMPUTER"

worn remnant
#

struggling

safe dragon
#

I've been working on our POS system today and it continues to be a mystical application that is so convoluted and poorly written yet somehow one of the most stable applications we make

pliant snow
rotund violet
#

I've found that stability is not necessarily a function of code quality; as long as sufficient time is allocated to bug fixes and the feature-development pace is glacial enough, it's stable.

subtle zealot
#

Citrix.. shudders

safe dragon
#

if you were around yesterday you'd find our feature development pace is anything but glacial

#

but yeah it has shown to me that good code is not a necessity for a stable product

#

the POS is some arcane vb.net winforms application with over 100 global variables just to indicate state

rotund violet
#

It depends on the features maybe? If the features are all essentially "more of the same" rather than "significant design change" then you can get away with a lot of churn.

safe dragon
#

we just glue more on top of what is there

#

use some strong glue

rotund violet
#

I hate to admit it since I like clever solutions, metaprogramming and so on, but there's a lot to be said for terminally boring grug code - a thousand sequential if-then statements with no abstraction but also no nesting isn't fun or interesting to maintain, but can be maintained by pretty much anyone reasonably competent.

safe dragon
#

I love overengineering, it brings me joy

worn remnant
rotund violet
#

I do try to throttle my "wtf" reactions when reading code because more than half the time, those "wtfs" are all bug fixes. (They'd be less "wtf" if the author would document the fix; but nevertheless it often turns out they were put there for a very good reason.)

#

I think we've all felt the need to wash our hands after writing some function or other. At least weekly, if not daily.

pliant snow
#

my code is blessed by angels

rotund violet
#

Sure, until you have to interact with someone else's code.

safe dragon
#

my code is not blessed by anyone not even myself

#

I wrote some funky ass fix just earlier today

pliant snow
#

actually i some jank architectural thing earlier this week, but it was encouraged by the original author so its okay

safe dragon
#

We had some strange flow in the POS that could cause you to add a product to the cart with a quantity of 0 which would then in some very specific scenario cause a divison by 0 exception

#

the strangest part is that the code suggested it was intentional to be able to add products with a quantity of 0

#

I did some patch fix to get the ticket done and hopefully in the future we can actually find the root problem...

#

(we will never find time to do this)

#

(this patch fix will live forever)

rotund violet
#

Yup. I always loved having that conversation with the junior engineers.

J: "This is just temporary, I'll refactor the code/write a test/do some other improvement later."
F: "No, it's not, and no you won't. If you don't have time now, what makes you think you'll have time when the whole project/feature is low priority?"

#

// TODONT

pliant snow
#

oh don't worry, the junior engineers are counting on never getting back to that

rotund violet
#

Ha... depends on the company. I definitely worked with some who just wanted to punch in and punch out. I was thinking more of the smart-but-naive strivers.

scarlet hollow
fleet wren
#

fun fact: CSS is turing complete

scarlet hollow
#

The thought process I imagine occurred when our codebase’s current system for creating a destructive confirmation dialog requires 700 lines of boilerplate (real)

rotund violet
#

I was on board until the "better than I anticipated" stage. I think it works exactly as well as they anticipated and no better, but they're just bored/tired of working on it/anxious to tell the boss or TL that they're "finished".

scarlet hollow
#

Imo it depends on your company’s engineering culture. If you’re lucky enough to work at a company that prioritizes quality code above all, then yeah, sure. If you’re at a company that measures your success by ticket completion, on the other hand, you can get pigeonholed into this situation even when you’re not bored or ready to be done

#

It reminds me of an adage I heard years ago about calling internal validation “stabilization” instead of “testing”. Because it’s way easier for someone unfamiliar with the code to see an MVP, see that it works, and force it out the door prematurely. Using a term that necessarily connotes instability was supposedly a way of breaking through that.

#

Best company I ever worked for had everyone in the tech org hands-on in the code, all the way up to CTO. So everyone knew when something was a heavy lift and you could have intelligent conversations about requirements and obstacles with the people driving priorities

safe dragon
#

we have a proof of concept that's been running in production for several years now

#

I remember working on the proof of concept we were making just to see how feasible it was to build in those tools at all only to then be told it'd go live at a client 4 weeks later

#

even though we hadn't even implemented the core functionality yet

#

that client was not happy and still does not use that product even though it's fairly mature now

scarlet hollow
#

Is there a term even softer than MVP? Like… minimum unviable product?

#

Cause… that.

safe dragon
#

mup

scarlet hollow
#

Mup. I like it

#

Something something muppets

rotund violet
#

Is there a term even softer than MVP?

Yes - prototype or alpha.

leaden marsh
#

There's a good chance it doesn't get the optimizations/porting to native part that I had originally planned

rotund violet
#

Yeah, but did you check it in as-is? And if so, did you do it because CA is a whip-driver or did you just want to be done?

scarlet hollow
# safe dragon mup

Thoughts on Minimum Usable Prototype? Trying to start a trend here /half-joking

safe dragon
#

it keeps the mup acronym so I'm happy

leaden marsh
#

We can roll back easily if need be, but I'm rather comfortable with the amount it's been tested

scarlet hollow
rotund violet
#

So isn't that pretty much confirming that it was your call, not pressure from up high?

#

I'm not accusing of laziness or anything like that, I just think that it's often the developers who decide it's "good enough" and frequently not the managers who insist on rushing out an unfinished product.
(It definitely does happen with managers doing that, just not as often as we like to pretend)

leaden marsh
#

Well I am not going to comment further because we're getting into NDA territory

rotund violet
#

Haha, fair enough

scarlet hollow
#

I can’t speak to “as often as we like to pretend”, but it does sure happen pretty often at my current job

rotund violet
#

Also, as fun as "MUP" is, I'm going to have to go with MCP - Minimum Compiling Product

scarlet hollow
#

What about JIT/interpreted languages?

devout vault
#

MCP will always be Mod Coder Pack to me (minecraft mods)

scarlet hollow
#

No compilation step, no MCP

rotund violet
#

JIT is still compiled, and if you're talking about JavaScript then yes, there is technically a step even below MCP.

leaden marsh
scarlet hollow
#

Thoughts on
Wireframe -> MCP -> MUP -> MVP -> Beta -> RC -> Release?

rotund violet
#

That's what I figured. It was like that at other places I worked, too; yes, the managers wanted it done fast, but what they often wanted more was not to ship something broken, they needed devs to actually tell them that it wasn't ready to ship.

scarlet hollow
#

Let me know if we should add more steps

rotund violet
#

The average dev is Mad Max when fighting nerdy holy wars with other developers, and a mouse when talking to a manager. "Yes, certainly I can get this 1-year project done in 8 minutes, don't worry boss!"

leaden marsh
#

I really was more commenting on the proof of concept side of the meme, about writing clean code & the like

scarlet hollow
#

Because I get a lot of that

leaden marsh
#

Stardew's decomp is not far from reality

rotund violet
#

I never worried about making the team look bad. I make the team look good.

#

Sometimes that does involve saying "No, we are not shipping this".

#

Stardew's decomp is not far from reality

That's a little scary, to be honest.

scarlet hollow
leaden marsh
#

We do what we can moving forward

rotund violet
#

Yeah, we all understand. Still, one of the pain points of mods is not being able to just edit the source of a monorepo when it's not doing what I want.

#

Especially when it's doing something deeply ridiculous.

#

But hey, you can't always go changing a multi-million line code base willy-nilly either, not unless you've got a whole lot of automated testing which no game ever has.

rotund violet
# scarlet hollow Let me know if we should add more steps

Depending on where you work, you might have a UX team that insists on doing their own "prototypes" that are actually interactive and incorporate totally unrealistic expectations of performance and other capabilities. Don't know what you'd call it, but it goes between the wireframe and the MCP.

scarlet hollow
#

Haha, nah, we usually get static Figmas that only illustrate the happy path :)))))))

rotund violet
#

Consider yourself lucky. Not joking.

safe dragon
#

you get figmas?

scarlet hollow
#

Lmfao

rotund violet
#

I've had UX give vague requirements, and I've had UX think they're going to design every flow from end to end, and I much prefer the vague requirements.

safe dragon
#

we had feature recently that was quite difficult to figure out from a UX perspective and we asked for some designer to look at it for like a month only to eventually be told it had to be done soon so we should just figure something out ourselves

rotund violet
#

And it's super frustrating when that happens. But way more stressful when you repeatedly have to explain to UX, "no, we CANNOT run full-screen synchronous layout at 120 fps on the hardware equivalent of a Casio watch in order to accommodate this animation you're asking for"

#

"Yes, I know the animation 'already works' in your prototype. No, that doesn't mean it will work on the actual device."

scarlet hollow
rotund violet
#

Only tangentially related, but one phrase I do not miss hearing is "design system".

scarlet hollow
#

Me after hearing it yesterday

#

Oh and today I guess

safe dragon
#

I don't think I've ever heard it

#

but I'm not a native english speaker

#

my work communication is in dutch

scarlet hollow
#

The internal UI framework that your specific company uses for products

safe dragon
#

ah

scarlet hollow
#

tHaT bUtToN dOeS nOt CoNfOrM tO tHe SeT oF pReDeFiNeD sIzEs

rotund violet
#

"Design system" is basically the pufferfish term for "a bunch of labels we attached to colors or dimensions"

safe dragon
#

see we have don't have that issue cause we have absolutely 0 design consistency whatsoever

rotund violet
#

This is a "system" in the mind of a designer.

scarlet hollow
#

Like I get wanting users to have a consistent experience

#

But there’s a point at which it becomes overboard

safe dragon
#

where will a button be in this popup? no idea. Will enter work to select the positive option? sometimes. Does escape work to close it? Maybe. What color is the header? who knows!

rotund violet
#

I guess there is partly the frustration of having a lot of rules. But what always got me about that phrase was just how pompous it was. It's not a "system". It's a "spec", maybe.

scarlet hollow
#

But like, what font sizes I’m allowed to use where? Nah

safe dragon
#

we were doing that for a new project to replace one of the old ones but it was deemed to be much work so they're just quietly "forgetting" about it as we have things to do with "higher priority" first

#

I would like to stop being full stack someday and just only do backend/database work

rotund violet
#

At the other extreme is having to divert 75% of the engineering work every year because UX came up with a new design.

#

The new design has no quantifiable benefits, mind you. It just looks new. The designers need to keep their jobs.

scarlet hollow
#

🙏

#

I got to have a good vent session about full stack stuff this morning with one of the staff engineers who just recently rejoined our team

#

God it felt good to get things off my chest

#

He was talking about sending me work that would get me a promotion and I was like “don’t know how to tell you this, but I am not gonna be here for very long” pepeLaugh

raw pelican
#

I've heard the step below MVP (minimum viable product) to be MVP (minimum viable pizza) from an interview with Andy Budd on Intercom. Where what you have is ever so technically the thing that you are saying it is, but is realistically not anything you would want. A pizza made from the worst quality ingredients and thrown into a 1000 C oven for 4 minutes is technically a pizza, but nobody will buy it.

rotund violet
#

My response to career/promo prompting has always been "hell no, why would I double my workload for 15% more pay?"

#

For some people maybe, the status is important. Never appealed to me, though.

cinder karma
#

Want to have fun? Look up tempfiles on python

#

I swear for a high level language I run into more OS funky in python than anywhere else

cinder karma
#

Also, hilarious update on the temperature controller that takes three seconds to get back to me

#

It dawned on me today that three seconds was the timeout

#

And indeed setting the timeout lower made it faster

#

Guess I'll be rewriting their drivers

rotund violet
#

I think I mentioned that at the time - that some of these really garbage protocols don't have a proper ACK/NACK or even "end of transmission" system, instead doing incredibly dumb things like relying on a fixed timeout to decide when to stop receiving.

#

But you said it was TCP/IP so that's awfully strange.

rain apex
#

are they afraid of you ddos'ing the temp controller Thqnkqng

rotund violet
#

It's probably that whatever messaging protocol they use doesn't have a length header, so the drivers have no clue when to stop reading from the socket.
(You could potentially write a streaming driver that inspects the content as it comes in, and just knows when it's hit the end of the message; in practice, that's actually quite difficult and error prone without random access, imagine trying to write a JSON parser from scratch, and JSON is one of the easier choices since it's got distinct open/close braces)

rain apex
#

c string horrorshow

rotund violet
#

Hardware manufacturers often do not understand the issues. So they write protocols that have, for example, an opcode as the first two bytes of a message, and the opcode dictates the next few fields that should be read, and how much more to read after that depends on those first few per-opcode bytes, etc.

#

This makes total sense when you think entirely in terms of opcodes and registers and so on; it's just garbage as a network protocol.

#

(And then the people who write the drivers go: "screw this, I'm just going to try to read the maximum message size and give up on timeout")

cinder karma
rotund violet
#

Makes sense. And even if it is TCP, I suppose that does not prevent them from having a crappy protocol over TCP. (For example, Content-Length headers are part of HTTP, not TCP)

cinder karma
#

Luckily their drivers are all public so I guess tonight when I get home I'll pull apart the c# driver

rotund violet
#

Shouldn't you be doing that on the company's dollar, rather than your own?

cinder karma
#

(It doesn't matter. I'm salaried.)

#

The reason why "my personal laptop" is important is because I can't just go "hey can I install ghirfia and ilspy on the work laptop?"

rotund violet
#

Eh... being salaried is why it should matter, no? If you weren't salaried, you'd just charge them for the time you spend working on it at home.

#

Unless you're up against some hard deadline, I guess, and are required to spend as many hours as it takes.

cinder karma
#

(Startup. I knew I was signing away work life balance when I signed the contract.)

safe dragon
#

if you're alright with that kinda thing

#

I'm a "you pay me for 8 hours so you're getting 8 hours" kinda guy

pliant snow
#

hell yeah

rotund violet
#

The more I progressed in my career, the more often I came to ask myself the inevitable question: "Why should I do this now [off-hours] when I get paid the same to do it tomorrow?"

#

Exempt employee = you get exactly as much effort and loyalty as your management can inspire.

#

It's not laziness, just reciprocity. I've been in voluntary on-call groups before; put real effort in, even enjoyed them for the war stories in a perverse way. But they paid for those.

cinder karma
#

The weird thing is that these are consistent length registers

#

I know they are four bytes

#

It's not like I suddenly will receive a variable length array

regal ingot
#

layering a blocking read on top of a buffer filled using non-blocking reads from a network stream is not exactly new

#

although there are still certainly ways to get data showing up slower than expected if the clients on either end of the network stream are Doing It Wrong™

scarlet hollow
#

Re: work life balance
I am a "you pay me a middling salary so you're getting 8 hours by default" kinda guy

#

Offer me enough to reasonably buy a house and support a family in a major metro, then yeah, I'll consider it. But even then, that'll more likely just get you more emotional buy-in rather than a portion of my free time.

#

In fewer words, if you don't respect me as an employee, then I will not respect you as a company. Respecting me as an employee can mean different things. Salary is one, but salary will not buy you my favor if you mislead me in interviews, trick me into an offer with an early termination penalty, and continuously assign me work that I am not qualified to do and then ding me during performance assessments for not doing it fast enough.

#

Oops, that was more words

raw pelican
#

Thank the Lloyd my company strictly enforces work life balance. They will give you a two week warning to use your vacation if you're approaching cap before they just give you Friday off. You get chastised if you respond to emails outside of work hours. There are team happy hours during work hours where you are not allowed to talk about work.
The only exceptions are if there is a sev1 issue, but they tell you to log the time outside of normal hours you spend on it and take it off the next available day.

raw pelican
#

The pay is 70-80% of market is the downside and also probably exactly why it's so nice to work there.

scarlet hollow
#

Aye, there’s the rub

raw pelican
#

Only way they have to keep people to stay.

scarlet hollow
#

Right, yeah

#

It’s funny though. If we didn’t prioritize shareholder value so goddamn much, the biggest companies would be in the best position to treat their employees right, in terms of raw capital

#

But more often than not it’s the smaller companies who trade off pay for benefits and perks in order to retain the people disillusioned by the grind

#

Really makes you think

raw pelican
#

I feel that treating employees right gives better productivity anyway, we're very efficient with the time we have and everybody is happy to be there.

scarlet hollow
#

Right, yeah— I have no doubt

#

Meanwhile my company laid off all of our quality assurance staff because “the tests are just code; the developers can handle that”

#

Which, predictably, just increased our workload and made a mess. So now there’s talk of using GPT to run our test suites. You heard correctly—not just to write the tests, but to run them, too! huhwhat

#

Man, I sure am yapping. Oopsies

cinder karma
#

Okay this is actually super good

#

Watched two lectures already

scarlet hollow
#

Ooh

#

I do love a good MIT OpenCourseware

lethal walrus
scarlet hollow
#

Search engine company potentially extincting a portion of the web’s accessible information

lethal walrus
#

It is very odd, agreed

scarlet hollow
#

At least there’s no way this will recommend people eat one small rock per day

safe dragon
#

doesn't seem to affect us, but very fun times

pliant snow
#

I was just looking if anyone in the company chats were having issues lol

safe dragon
#

I'm surprised I haven't seen a single comment about this at work

#

I know we don't use it but I'd have expected something at least

pliant snow
#

I've seen reports that basically the infrastructure of Australia went down. The ISPs, banks, supermarkets

#

time to make new customers crumble

safe dragon
#

lmao

#

well

#

we technically indirectly have some Australian clients

scarlet hollow
#

Ooh, I can’t wait to sign in and see if anything’s up with us

#

We self-host a lot of our critical infra so it’ll probably be nothing if I’m honest

raw pelican
#

Cloudstrike fix :

  • "Boot Windows into Safe Mode or the Windows Recovery Environment
  • "Navigate to the C:\Windows\System32\drivers\CrowdStrike directory
  • "Locate the file matching 'C-0000029*.sys', and delete it.
  • "Boot the host normally."

Do it manually on all computers. Good luck and have a nice weekend.

#

Hopefully you have admin rights to your machine or you're waiting for a tech to do it.

pliant snow
#

Happy Friday suckers

#

Hope someone in IT kept the bitlocker keys

raw pelican
#

Also probably on an affected machine. SDVpufferchickcry

safe dragon
#

didn't have this issue but I did have to quickly release a fix 3 minutes before 5 pm

cinder karma
#

What is git diff for "ignore binary files"?

ivory shadow
#

Bold of you to assume I know literally any git cli command without googling it

pliant snow
#

i thought git diff did ignore binary files

worn remnant
cinder karma
#

Also my dumb ass didn't check the output of a function that dumped info to a csv and now I have python objects instead of ms since epoch

#

Sigh

#

This will be fun to parse

cinder karma
#

"Well it should be easy to use a dll in python right? This should be a normal developer flow"

#

"%1 is not a valid Win32 application"

#

"Okay maybe not"

modest jewel
#

How do I fix this problem I’m trying to install a mod for stardew it doesn’t let me

cinder karma
#

(Yes with the broken format string)

raw pelican
rain apex
#

!mh

indigo mistBOT
#

For help with modding issues, please ask in #archived-modded-support! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

modest jewel
#

I’m new to these stuff I don’t usually use my laptop much

rain apex
#

Atra r u trying to use something with python bindings think

cinder karma
#

Yes

#

Just fyi their example code I just downloaded off their website fails thr same way

modest jewel
#

How do I find stardew valley on my files

rain apex
#

there should be a dir that u just put on PYTHONPATH

rain apex
modest jewel
#

Ok

rain apex
#

or like something you install via pip or equiv

cinder karma
#

Vendor was not that nice

#

I am supposed to copy four files and use ctypes

rain apex
#

oh they didnt use boost then LilyDerp

cinder karma
#

Their example script fails too

#

Which I think means I should inspect whether or not this is 32 or 64 bits

#

...I need to use the 64 bit version of the python interpreter

#

Frankly given that kt is the year 2024 the idea the interpeter is 32 bit didn't even cross my mind

#

The problem deepens

#

Mini conda gave me 32 bit

#

My normal python install us 64 bit

rain apex
#

what did mini conda mean by this

cinder karma
#

I must have set it up wrong

#

No that is not it, my void pointers are correctly 8 bytes

#

Why.

#

Whyyyyyyy

rain apex
#

what is the windows version of ldd

cinder karma
#

Dependency walker according to stackoverflow

#

Well I have a lot of errors opening files apparently

#

Or dumpbin (which would require me to install all of visual studio)

leaden marsh
#

Dumpbin is great

crystal wren
#

Just install WSL and use the real ldd. It'll definitely work exactly as it should on a Windows executable! /j

rain apex
#

i cant believe windows doesn't have built in ldd equiv zoomeyes

crystal wren
#

I can!

rain apex
#

how do ppl live

cinder karma
#

That's a great question

#

We don't

#

We suffer and wish for linux

crystal wren
#

Oh yeah, dumpbin like Myuu says! Comes with VS so it isn't ideal, but it's something I guess.

leaden marsh
#

I do really like it though, personally

#

I have the whole VS toolset and use the VS developer command prompt for my normal command line

devout vault
#

It's funny I know what dependency walker is but never heard of dumpbin and don't remember what ldd does

rain apex
#

the real solution for atra might be email the vendor and hope they respond

crystal wren
#

It's just what someone misspelled their program when thinking of DLLs. /j

leaden marsh
#

Maybe one of the SysInternals tools will work

crystal wren
#

They do pretty much everything under the sun, so I'd imagine one of them will...

leaden marsh
#

The one thing I really needed dumpbin for was seeing exported symbols

cinder karma
#

They helpfully included the header file

#

(Which is matching what dependency walker tells me)

leaden marsh
#

If I were smart enough to parse the exports from a header file

rain apex
#

my work does a lot of dumb Qt linking management for 3rd party software so that is what ldd is useful for checking

leaden marsh
#

Ahh yeah that makes sense

#

I had to use dumpbin to verify some of the .dlls we were using for Stardew don't have unnecessary dependencies

#

It is still ridiculous to me that Microsoft doesn't allow linking against the unversioned visual C runtime through VS

crystal wren
#

Not even with... manual flags?

leaden marsh
#

Well you can by doing some hacks with the driver toolkit or smthg

crystal wren
#

Well that's highly silly.

leaden marsh
#

And some combo of flags

#

I mean I get it (kinda) it isn't "stable"

#

But mingw gets around that by only using symbols that existed when VS still linked against that unversioned dll

#

So idk why VS itself doesn't have the same thing (maybe worried that devs will use it even if they need the full feature set? Idk)

cinder karma
#

Why does dumpbin require me to install all of visual studios

rain apex
#

microsoft doesn't want you to live

cinder karma
#

I regret to inform you my Teams is not down

#

Also has dependency walker been updated since windows 8

#

Ahhhh grumbles

cinder karma
#

So the reason why I can't load it is because it is ancient (and has references to dlls that no longer exist)

#

But I found a newer (64bit) build that loads!

crystal wren
#

It is done. I've finally decided screw it and just ordered a Framework laptop.

rain apex
#

i have one from 2021

#

been thinking about getting their new amd cpu board

crystal wren
#

That's actually the one I got! They had a couple of factory seconds I nabbed.

#

Slight screen issues, but I can live with that until I just upgrade it.

pliant snow
#

I also have one from 2021, but did upgrade to the AMD board

crystal wren
#

And I'll be grabbing an AMD board at some point in the future too, yeah.

pliant snow
#

its a solid machine

sand frost
#

The GUI library I was using went commercial in a way that really just feels shitty

#

And I'm annoyed about it

crystal wren
#

...is it for Python?

sand frost
#

I understand people wanting money for their labor, but doing it very abruptly, adding DRM to the software, making it subscription, etc rubs me the wrong way

#

Yes, for Python

crystal wren
#

Is it... simple?

sand frost
#

It sure is!

#

I found some alternatives but I'm still grumpy about it

crystal wren
#

I'd just say PyQt and screw it, honestly.

sand frost
#

I would need to learn PyQt

crystal wren
#

Ah, fair!

sand frost
#

I have seriously considered that alternative

#

But at this point, my time might be too valuable to do that

#

Like PyQt would be better for a few reasons, but when step 1 is learn PyQt and step 2 is rewrite the entire project, that just feels bad as a choice

crystal wren
#

It would almost certainly be better, but a complete UI library rewrite and learning a new one is just... that's a lot.

sand frost
#

Yep

#

I could maybe scrounge up an undergrad to do it, but I feel like I would also need to invest a fair amount of time personally in supervising them so that the code isn't Bad

crystal wren
#

I assume the hobbyist license isn't appropriate?

sand frost
#

No, they specifically say educational applications are only for students

cinder karma
#

....weird

sand frost
#

Using it for teaching or research does not qualify for the hobbyist license

#

Also, apparently their license terms are Bad

rotund violet
#

You can't just keep using the old version, or did the old version already have an adhesion contract?

pliant snow
#

I've been learning Qt lately and surprised at how much I like it tbh

sand frost
#

The old versions all got yanked

#

Like, within the last two weeks

crystal wren
#

I really like Qt.

sand frost
#

Yanked? Deleted? idk, they did their best to scrub them off the internet

crystal wren
#

Sounds like they think the old versions would still legally be usable then.

sand frost
#

They weren't successful, in the sense that the old version was LGPL iirc and someone has a fork

#

I will probably end up using one of the forked-from-last-free versions

rotund violet
#

Yeah, I was going to say, if you either paid for the old version or the old version had a permissive license, they really can't scrub it. The former is illegal and the latter is impossible.

#

Going all scummy and trying to convert a free-as-in-beer product into a paid model is a great way to lose all your users really fast.

pliant snow
#

could look at tk for python

#

I think it's even built-in

sand frost
#

I've heard qt is better than tk?

#

I did a big search into GUI options last August, before all this nonsense

#

And something Qt-flavored was probably 2nd place

pliant snow
#

I've only used tk for very simple things, but I think qt has a lot more widget selection/better cross platform support

crystal wren
#

For C#, I'm picking Avalonia or one of the various GTK bindings because the Qt bindings are... kinda janky? But anything else, it's Qt for me.

sand frost
#

We definitely need cross platform

#

The grad students use Windows/Linux and I use Mac/Windows and the lab uses Windows

#

At least they use some normal Linux distro like Ubuntu

crystal wren
#

I've still got my fork of Tiled I intend to make a Stardew version of when I have enough time...

#

Automatically nuking directory climbing, being able to specify a phantom source for tilesheet PNGs so you don't need the game's ones in your mod's dev folder, etc.

rotund violet
#

Avalonia doesn't get me all fired up, but I'd still consider it miles ahead of GTK or Qt.

pliant snow
#

GTK wasn't bad to use, but was a massive pain to distribute on windows machines

sand frost
#

I don't know any non-stardew C# and the grad students don't know any, so C# isn't really on the table

#

The grad students occasionally agitate for C on the grounds of speed, but since they don't know how to write in C this hasn't gotten very far

rotund violet
#

Fair enough, Python options are limited. (And if you think Python GUI is limited, you should see Rust.)

crystal wren
#

areweguiyet? SDVkrobusgiggle

rotund violet
#

^ Nope

sand frost
#

(I'm not in CS, so the background of most of my students doesn't include a lot of heavy-duty programming skills)

rain apex
#

what about electron

sand frost
#

I can assume basic Matlab and Python skills, but not out of every student, just most

rotund violet
#

Don't think those Matlab skillz are going to help a lot with UI.

sand frost
#

Lmao Matlab has a GUI builder!!

#

I've even used it, it's all drag and drop

rotund violet
#

I'll bet it does. And I'll bet it's awesome.

rain apex
#

qt has a gui builder too, qt designer

ivory shadow
#

I like Qt, but I rarely get to use it. HTML+CSS is too pervasive.

sand frost
#

Matlab's gui builder is....it's fine. It works. I don't love it, and packaging apps is a huuuuge pain. I only used it because that project was started a couple years before I joined it.

sand frost
rain apex
#

my other stupid idea is some juypter notebook thing, but i got no idea if that's valid for your use case

sand frost
#

So that's sort of another funky problem with the project

ivory shadow
#

Website skills aren't a bad thing to develop, given the state of things.

sand frost
#

Not really, the need is for something that someone with 0 python skills can use as the end user

#

In my line of work, website skills would get used sometimes, but since I hate it, there's little reason to build them

ivory shadow
#

That is very fair.

rotund violet
#

Yeah, it'd be good to learn how to throw together a basic website. Then again, that's getting into the territory that GenAI is actually able to do a decent job of.

sand frost
#

I can get nearly as much mileage out of a dumb wordpress site and basic html as I would out of years of learning websites

crystal wren
#

My website skills are from when XHTML was the hot thing.

rain apex
#

u can build qt wasm, it probably sucks LilyDerp

sand frost
#

I can do basic html

ivory shadow
#

I remember back when we needed to have these crazy complex <!DOCTYPE strings and "It's XHTML you need to write valid XML" and stuff and now we just throw any kind of garbage at the browser JavaScript + JSX transpiler

rotund violet
#

I hope you mean TSX.

crystal wren
#

Nowadays htmx is... a thing I think people like?

ivory shadow
#

TypeScript is just JavaScript with anxiety

rotund violet
#

TypeScript is JavaScript with sanity.

rain apex
#

but i like when undefined && true returns undefined \s

ivory shadow
#

I agree that there are benefits to having a type system, but given how half-assed it is I am less sure I'd call it "sanity"

#

I understand why it's half-assed, but that doesn't change the truth of the situation.

rotund violet
#

TypeScript is half-assed? Definitely disagree there, it's one of the most versatile type systems I've seen anywhere.

ivory shadow
#

It literally doesn't exist at runtime

rotund violet
#

Sure, but really the only practical impact of that is no reflection.

#

And you don't have reflection in plain JS either.

#

TypeScript has interfaces, discriminated unions, associative types, function types... it may compile down to something without types but so does C.

ivory shadow
#

Like I said, I understand why it's implemented the way it is. It just doesn't change that it's literally half-assed. It exists at compile time but not runtime.

rotund violet
#

C++ compiles to assembly. No types.

ivory shadow
#

Anyways I'm not here to argue with you over JavaScript.

ivory shadow
cinder karma
#

God ctypes are annoying

crystal wren
scarlet hollow
ivory shadow
#

It's possible htmx could be useful for you, for simple pages.

cinder karma
#

Kernel died, blah blah exit code, reason = ?

ivory shadow
#

But it's basically a layer of glue that's like "oh this tag has this property, we'll attach some event handlers"

#

Which jQuery did 20 years ago

rotund violet
#

Wow, they still use the term "AJAX" in their docs.

#

I haven't heard that in... a long time.

ivory shadow
#

Honestly now that I put it that way, it does feel very jQuery to me.

crystal wren
#

jQuery is about as deep as I think I ever want to go.

#

Or will ever need to go if I have the ability to make my own choices.

ivory shadow
#

Also yeah the use of the term "AJAX" is hilarious to me

#

I didn't realize it was the early 2000s

#

I should check their source, see if they're using XMLHttpRequest instead of fetch

lethal walrus
#

yep (3.7.1)

ivory shadow
#

It's all just a single massive file

rotund violet
rain apex
#

We find hot new trends in the industry & then build the opposite of that

rotund violet
#

It's popular enough that it's easy to get support, but doesn't immediately start introducing a lot of arcane concepts like Angular or Svelte do.

rotund violet
#

Almost reminds me of RecyclerView.java. Painful, painful memories.

atomic musk
#

Given this implementation in two assemblies (consumer and provider), which only share these two interfaces:

public interface IFrameworkAPI
{
    public ICustomDataProxy { get; set; }
}

public interface ICustomDataProxy
{
    public ISomeOtherType FooBar { get; set; }
}

and these only on the framework provider's assembly:


public class FrameworkAPI: IFrameworkAPI
{
  public ICustomDataProxy CustomData { get; set; }
}

public class CustomDataProxy: ICustomDataProxy
{
    private readonly CustomData _data;

    public ISomeOtherType FooBar
    {
        get => _data.FooBar;
        set => _data.FooBar = (SomeOtherType) value
    }
}

public class CustomData
{
    public SomeOtherType FooBar { get; set; }
}

so ICustomDataProxy and CustomData have the same data properties, but one uses interface types and the other uses class types (due to system constraint)
and the API switches between the two

is proxy the correct pattern name here? or is this more of a facade, or another pattern type?

rotund violet
#

A proxy (in Castle or Pintail terms) means a type - usually a generated type - that forwards all requests to some inner type. You could call what you're doing a proxy, maybe, but unless CustomDataProxy is a generated type, I would probably just call it an adapter or wrapper.

#

The term 'proxy' has special meaning, it's most often a type that's entirely invisible to the user.

#

This API looks really hard to use. Are you sure you really need all these layers? Does your library do something with the custom data or is it just a storage bin?

#

I know that Pintail requires interfaces for any unknown types, but I'm still not sure why you don't just use object customData or Dictionary<string, string> customData.

atomic musk
#

ohhh, adapter pattern... I forgot about that one

#

the internal data structure has to be this way because it's a model used by Content Patcher

#

so the simplest description to this implementation is something that converts an interface that uses interface types to the same interface with class types

rotund violet
#

So CustomData is something that already exists, and has to exist independently?

atomic musk
#

yes

rotund violet
#

Yeah, I wouldn't call it a proxy. Pintail is generating the proxy, you don't ever see it. ICustomDataProxy should really just be ICustomData. And CustomDataProxy is correctly CustomDataWrapper or CustomDataAdapter.

atomic musk
#

ah... I had ICustomDataProxy as ICustomData but changed it for this example because I thought it was weird CustomData doesn't use the inferface with the same name lmao 😅

#

I like CustomDataAdapter though SDVpufferthumbsup

rotund violet
#

That's common. You have to interface with some 3rd-party API that only defines a concrete class, there's no interface type. So you write your own interface type with the same name, knowing that it doesn't implement that interface, then write an adapter/wrapper/facade.

#

Happens all the time when writing tests.

cinder karma
#

Have you ever seen vscode just refuse to accept the file on disk has changed

#

I literally closed and reopened vscode

safe dragon
#

I think there’s some command to refresh

cinder karma
#

There js one

#

I'm just surprised closing and opening isn't programmed to yeet thr cache

#

Anyways

#

50ms per api call

#

💖 this is more like it

safe dragon
#

depending on the api that is either unacceptable or really good

cinder karma
#

Well it was three full seconds yesterday

safe dragon
#

a nice improvement

cinder karma
#

Also I'm more or less annoyed python won't give me a warning when I fuck up type signatures

safe dragon
#

a common annoyance

cinder karma
#

It's kinda my fault for forgetting to install mypy on this machine but still

crystal wren
#

A thing I just discovered: Tiled doesn't use CMake.

leaden marsh
#

wait really

#

what does it use

crystal wren
#

It uses a C++ build system that I think I might... Actually like?

#

A new one to me. Qbs?

leaden marsh
#

never heard of it

crystal wren
#

Same, but I think I actually like it.

devout vault
#

Is that the qt one?

#

It's been so long since I did my Tiled PRs that I've forgotten

leaden marsh
#

tho not surprising, i still use makefiles

crystal wren
#

It's by the Qt people I think yeah, but not QMake.

#

But it actually looks good.

leaden marsh
#

that's awesome

#

I wrote a small build system for my personal projects, but i should really take the time to actually learn some other ones

crystal wren
#

All I know is the build systems are the number one thing keeping me from doing more C++. But now, who knows?

devout vault
#

The number one thing keeping me from doing more C++ is C# being a thing

leaden marsh
#

true

#

if I'm doing manual memory management at this point I prefer C

#

if I want to prototype fast, I use Python

crystal wren
#

C++ is a bit of a weird place though, yeah.

leaden marsh
#

if i want a middleground, C#

#

my biggest qualm is that there's not as much in the way of metaprogramming

#

tho i imagine many devs would consider that a strength instead

#

¯_(ツ)_/¯

devout vault
#

Meta programming is fun

#

I can't recall at the moment but there have definitely been cases when I wanted templates over generics

crystal wren
leaden marsh
#

a beauty, really

pliant snow
#

Qmake is actually pretty straightforward I find, at least for simple stuff

rotund violet
#

With incremental source generators, metaprogramming in C# is kind of a thing. It's not the same as template metaprogramming, but I'd call it metaprogramming regardless.

#

On the extreme side, Rust's proc macros beat out C++ templates for metaprogramming IMO, you can literally define any DSL and it doesn't have to be valid Rust at all.

cinder karma
#

Meanwhile, we use python because people know python

rain apex
#

My work writes python with python all the time LilyDespair

lethal walrus
#

I have written VBA with python

supple ether
#

:(

cinder karma
#

Exec

#

Anyways

#

Cursed docs

#

"Wildcard searching will not work on Chinese, Japanese, and Korean systems"

#

Question

#

Why does Program Files and Program Files (x86) exist?

#

Why is NI in both?

supple ether
#

... why does the x86 folder exist

fleet wren
#

"64bit in the former, 32bit in the latter" is less a standard and more a gentle suggestion. If you give me a random installer exe and tell me to predict which folder it'll get installed to at gunpoint I'd die

supple ether
#

if it's a newer app it might even install in like, appdata or some shit

cinder karma
#

Yeah

#

Fucking conda does

#

Pisses me off

supple ether
#

it's evil

cinder karma
#

Also like

#

I like to believe that equipment worth 10k+ needs you know

#

Up to date and correct docs included

supple ether
#

I know it's nostalgia speaking but honest to god I installed a (very old) game on CD the other day and the install was slow (because CD read speeds) but my god the post-install experience was so wonderful. It had a whole-ass detailed readme including troubleshooting tips. no bullshit drm, no 1gb update downloads, no account required.

And the best part is that this like 20 year old game just ran fine first try. (though I had to manually edit the settings file to get 16:9 1080p since the ingame options didn't go that high)

rain apex
#

20yr old is 2004 that's like half life 2 age

cinder karma
#

NI: "so this device is has a state machine. If you fuck it up we will throw an error at you. What are the states? Well, we documented them at this dead link."

pliant snow
#

gotta get yourself one of them new fangled 54x CD readers

supple ether
#

The version I have is from 2006 though I think since it has both expansion packs

cinder karma
#

Had a nice long bitch session about NI with a coworker

#

Definitely feel better about that

safe dragon
#

Ninja Implings

#

ah it's national instrument

rotund violet
#

I think of Native Instruments when I see the acronym.

latent bough
#

I have made the very poor decision to learn cobol

pliant snow
#

ah, trying to get into the banking industry

latent bough
#

well

#

I just know they're short on people who do cobol and I like money

#

/hj

#

I already write programs in other languages

#

it can't be completely awful, especially if I can omit line numbers

supple ether
#

I've been tempted to learn it just for fun but I have too many other projects

worn remnant
fleet wren
#

TIL COBOL is still being updated (latest standard is 2023)

cinder karma
#

ooh, this is helpful

#

source!

#

okay I'm overcomplicating this

rotund violet
#

Fun fact: Primary constructor parameters can be null when read from a Lazy initializer. Compiler doesn't say anything is wrong, but... something is definitely wrong.

latent bough
ivory shadow
# cinder karma ooh, this is helpful

I used a CancellationTokenSource recently. I really need to get into C# multithreading more. Most of my C# experience is single-threaded, and Stardew definitely doesn't help with that.

cinder karma
#

Tbh threading in c# quickly became unpleasant

#

I recall things like "what do you mean I can't use enums with volatile" and "ugh I don't like how passing things to my worker thread scrubs types"

#

Stillll a million miles above python threading which I consider absolutely terrible

#

C# has some nice friendly types, a good parallel library

ivory shadow
#

Python threading may as well not exist till they make fundamental changes to CPython (tho I have heard they're working on killing the GIL)

cinder karma
#

I am recalling how to do atomics in python

#

In particular I'm recalling the part where you pass the constructor a 'd' for a double. (Yes, the first parameter was a string parameter for the type of your atomic)

#

Anyways I wish I had more c# multithreaded experience too but shockingly enough my day to day life doesn't include c# 😛

ivory shadow
#

Yeah, most of my day to day coding is still JS or TS

#

The less said about threading there the better.

#

Well I mean workers aren't awful awful

cinder karma
#

Yeah the less we can say about python threading the better

#

Frankly it would almost be better if it didn't exist lol

#

C#'s is fine. More than fine really I'm just being a little bitch

ivory shadow
#

The only reason it has existed at all is for I/O. Which is dumb because there are better ways to wait for I/O than a separate thread.

#

Good luck with the GIL

cinder karma
#

I mean, like, I'm now spawning 200+ separate processes 😛

#

(Not all at the same time)

ivory shadow
#

(Sorry I couldn't help it)

cinder karma
#

Yeah it's a nutty thing to do. Did I mention most of these subprocesses are calls to pdflatex?

ivory shadow
#

What about pypy? Does that... exist still? I remember that having less GIL concerns.

cinder karma
#

(I had two things I wanted threaded python for. That was the first. The second is possibly better handled by an async/await model)

ivory shadow
#

pdf, latex, and python. A trifecta of things I don't want to touch 😄

#

I haven't actually had to use latex since the early 2010s.

cinder karma
#

One thing I enjoy about latex is quickly being able to make changes with sed

#

If you are questioning my sanity you are correct to do so.

ivory shadow
#

Nothing wrong with sed. It's a good utility.

cinder karma
#

Just a simple .IsDisposed would be great

thin estuary
#

Should have been part of IDisposable

cinder karma
#

(I was trying to figure out if CancellationTokenSource.TryReset was what I wanted, couldn't figure it out from the docs, so I just jumped to the source code.)

ivory shadow
#

I completely agree

cinder karma
#

Incidentally I used the VS "edit function signature" magic right click menu today and it didn't die mostly

worn oar
#

Does anyone have any advice for how to get into the programming industry?

safe dragon
#

break the interviewer’s ankles

#

(do you have a formal degree?)

worn oar
#

I do not, I've been learning on my own through Coursera and doing projects

#

I was on track to get a job with this company but it fell through yesterday and I'm currently looking for jobs in my town but they're mostly for senior devs

safe dragon
#

I’m not really sure tbh. I’ve heard the market has changed a fair bit since I dealth with finding a job

worn oar
#

That's fair, thank you anyway!

marble jewel
#

I can only speak from my perspective, but I've probably interviewed 50+ data engineers for my team, and what impresses me the most are those who are self-starters. So you don't have to know anything, but you basically can take responsibility for your own development.

crystal wren
#

My perspective as someone who isn't even close to in the industry...

  1. Learn things on your own
  2. Actually make things well on your own
  3. ???
marble jewel
#

There are a lot of people who talk about their experience doing things as part of a team where they can only explain "I did it this way because that's what I was told"

crystal wren
#

Those are what would impress me, anyway!

marble jewel
#

Or people who boast huge accomplishments, but can't really speak to their individual contribution

safe dragon
#

“I saved the country of france”

marble jewel
#

I've worked with a lot of people who take credit for others work, so I look out for those red flags

worn oar
#

Like I built a website guide for Stardew valley just to see if I could without taking a course so I feel confident in figuring out how to do things I don't know

#

There's just not many jobs here that don't require a degree, 3-5 years experience and/or relocating

crystal wren
#

One thing's for sure... having actual projects you've started and finished on your portfolio will only ever work in your favour, I'm pretty sure.

marble jewel
#

That would be a good sign for me. I don't know if everyone does this, but if a candidate puts their github on their resume, I'll look at it

#

And I'm specifically looking for real/active contributions

#

Too many link their github only to have a few dead repos

safe dragon
#

if it passes the automatic AI review anyway that companies apparently use a lot nowadays

crystal wren
#

Note to self: If ever applying for job with Matt, do not put GitHub on CV. /j

marble jewel
#

Like, don't bother linking if that's the case

worn oar
safe dragon
#

I’ll link my github to my singular open source contribution ever (rewriting some documentation)

rain apex
#

pls look at my github its got a bunch of stuff i made for this mobile game that went out of service years ago

marble jewel
#

I guess to clarify, a lot of fresh out of college candidates link to repos that have like three assignment projects they did, but it doesn't demonstrate whether they're well-versed in git or working on a collaborative project

worn oar
#

I guess I'm mostly struggling with who to reach out to, to look for jobs

rain apex
#

getting industry atm is tough due to overall economy state

worn oar
marble jewel
#

Yeah, it's tough because a lot of experienced devs were laid off and you're competing with them

worn oar
#

Yeah I know

marble jewel
#

I'm actually in the process of backfilling a senior dev right now

worn oar
#

The company I was supposed to work for was in the process of getting my paperwork in order when the CEO/other guy I met with got laid off and the one who started my hiring process got demoted

marble jewel
#

I've had it happen once where I was in the middle of looking for a candidate, and after interviewing a bunch of people and getting ready to make an offer, I was told the role was going away

crystal wren
#

Wow.

#

That's some bad luck.