#programmers-off-topic
1 messages · Page 24 of 1
give it a shot
I recently learnt that the only reason fedora still ships python 2 is cause gimp uses it
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
as far as I know gimp isn't switching to python 3 till the mythical gimp 3
Yeah
actually python isn't a dependency at all for gimp on arch
Last time I tried to change the system python version on my laptop I ended up swimming with sharks
huh...
(Okay I ended up doing a fresh OS install)
why would you want to change the system python version
funzies
I think the usual advice is to leave system python as alone as you can
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"
I've learnt not to question what you do
maybe you run 3.11 specifically in root because of usb
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
That's what I'm trying now but now ipython is missing and refusing to install
Do it in a docker container with access/permisisons to whatever /dev device you need
aka the venv approach but with more steps lol
Hmmm running as root did not fix my access issues
Is it some HID USB thing?
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
I saw "3.11" and thought "whoa, is this retro Windows day?" Python should really have skipped that version number.
i already didn't like python, but the (ongoing) python 2/python 3 fiasco made me really not like it
wait i thought it ended in 2020
The world ended in 2020
Python 2 is pretty dead, only really stubborn projects are using it still
Read: Random build scripts for the project I work on
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)
...You can forward messages in Discord?
it's a new feature
My discord is perpetually out of date
yeah I didn't see it on mobile. but it might also be something in a/b testing since I didn't see it mentioned in changelogs yet
I was only planning on changing the simlink for /usr/bin/python to point to 3.11 not 2.7
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?"
oh wait my bad. it didn't generate json. it generated an entire webpage containing embedded json and javascript
(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.)
good docs, a true rarity
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")
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
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
Windows for some reason keeps the old and the new one installed
Classic windows
....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"
me
It was already on my annoyance list for being a stringly typed api
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
jail
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
reject the cloud, return to p2p
(I realize that's not possible in enterprise but. still)
have your work host a private torrenting network
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
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.)
Sharepoint?
Unrelated: is this a safe space for software engineering rant?
only if we agree with you
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.
ah yes
Jigsaw voice: "Hello, I want to play a game. In front of you are three computers and two smartphones, each of them running a different OS and connected to the same LAN but not the wider internet. You have thirty minutes to set up a shared network directory so they can send and receive files from one another, or a comically large piano will fall on your head. Let the games begin."
things that I could do in a day on my own take three weeks, four documents, and five approvals to do
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
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.
Yeah. Man. I’ve learned my lesson
Beats actually working for a living
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.
oh the arch wiki is down
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
Never work at Big Tech, at best maybe Middle Tech
Yeah. Startups can be nice for autonomy. Just tend to suck for pay, job security and general stress.
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
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.
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.
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.
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.
Not so much eternal crisis with quants (as far as I know), just, you can't screw up, ever.
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
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—
- There are preallocated projects to work on. If you want to work on something you’re personally interested in…
- You need to submit your idea for approval on the company hack week portal
- Ideas related to AI are most likely to be approved, because that’s what the C-suite likes right now
- You need to build a slide deck and presentation about your work, and be prepared to hold a Q&A about it
- 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
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.
Yeah. I just hope the late-stage startup land I came from hasn’t been infected by it yet
Surely not 
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.
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
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.
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
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.
sigh, yeah.
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.
Well, at least we didn’t do that
LMFAO
I heard this in my head as Jerma playing Jigsaw
This was streamed on Dec 25th, 2020 during:
Vinesauce Holiday Specials ► https://youtu.be/oqYulidNKuU?t=1093
Twitch ► https://www.twitch.tv/vinesauce/
Highlights & Clips Playlist ► http://bit.ly/2QTlFdi
Joke Videos Playlist ► http://bit.ly/2HCgBa5
Technical Difficulties Playlist ► http://bit.ly/2QloDH6
BRB Talks Playlist ► http://bit.ly/2YRLxc...
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
do you have to ask for approvals for things? I don't even control what I do in the first place so there's nothing to "approve" so I'm curious how that goes
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
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
and you're responsible for that?
Some developer working on it is, yes
And we dont usually decide the features, they come down from on high
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"
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
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
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
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
How long after they stop paying can you throw it out lol
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
Interesting business model
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
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
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
All one big switch statement
the game programmer way of writing an application
our authorization system is pretty robust and easy to use, probably by necessity
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
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
Our configuration system is... improving
It used to be a bunch of compile time config options, but we're switching to more runtime stuff now
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
Do updates just get pushed
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
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
Youre an animal
Now screenshot your unread count of your email inbox
Oh I did that recently it’s 39k
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
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
I'm forced to deal with a lot of office politics, and that's the worst part about my job
office politics are almost always the worst part of a job
Aww Casey beat my score
I always dilligently update everything
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
I keep my own tech updated but thks oscilloscope runs windows 98
Apparently mine did need refreshing, it’s 127 now
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
I update my apps almost every day, but I still end up with 50+
They exist. Any company that understands the fuzzy "velocity" concept will have some budget for tech debt, miscellaneous bug fixes, what you call refactoring, etc. Some teams may even allocate time every sprint or have a bug-fix rotation.
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.
shuts down the server on purpose
:: 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!
nice
And don't worry, I use Chrome specifically for YouTube and YouTube alone. 
I want you to know I absent mindedly hit update all
Google chrome even, not just chromium
Is that Arch update separate? Or is that some GUI to update
That's just yay.
Don't worry, so did I immediately after this screeshot!
im bad at arch rolling release i think
Packages (472)
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.
that or kde patched 200 times last month
I loved vivaldi, i dont think i had many issues with it, although im still using firefox
yay can do popups?
Yeah I am a Firefox person
I used to like Mozilla. Then Firefox. Then Chrome. Then Opera. Then... honestly, it just went haywire.
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.
when does it explod for u 
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?
Oh, I only ever use like five sites
The bulk of the rest is some guys blog or some uni website
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.
Ah, okay
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
Lol
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...
Aquocomputer tho
Does aquocomputer support windows?
Excellent question, no
Are you telling me Bouncer isn't running on Windows!?
Does aquocomputer support Debian based linuxwa
bouncer solely runs on SerenityOS
Does aquocomputer support the one and true operating system ||emacs||
I thought you were going to say templeOS
Please Casey
You know I have an oscilloscope still in 1998
It's not running windows 1998
Also its aquOS, thank you very much
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.
Blows a big hole in the budget
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.
📝 aquosuite...
never heard of em
u did it
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.
Im here to cause confusion
Ah, I like lakeshore for that
I just have some ugly ass noctua fan slapped onto my cpu so no liquid cooling
||please someone else get the joke||
I... don't get it. Lakeshore?
Lakeshore makes scientific equipment for analyzing transistors
Some of their equipment uses liquid nitrogen to cool said transistors
Ok, well that's pretty esoteric. Interesting though.
Now to write a game in HolyC!
Tbh if I were to rewind my life and magically find a job in the field I kinda really like power systems
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
tables...
my first introduction to web was dreamweaver and it like, puts spliced up images into tables for display
eeewww, dreamweaver
i had to unlearn dreamweaver later 
(I say having never used it, just looked at its output)
What's Dreamweaver
cursed adobe wysiwyg web design software
janky table-formatting generator
From the same company that brought us the trainwreck of Flash, IIRC.
Ruined an entire generation of web design.
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.
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
One thing depending on if it's a C# mod is you'll want to find a good .gitignore file for C#!
Subject the world to your C# junk
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.
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.gitignorefile that was mentioned, it's a list of files you don't want git to upload
just take a standard gitignore for C# and add whatever else you don't want uploaded
does C# have a lot of junk
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
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.
VS has a good default gitignore. Never had any junk files appear in the repo.
traumas resurfacing
I cut my teeth on Macromedia Dreamweaver
Seriously, though
I come from a background where you were a Serious Person if your personal web page was mostly text
modern web design dictates that 2 lines of text is the most you're allowed to put on an entire website
soz
You'd think all the noises would be annoying. But they're not.
Some tables maybe
Okay okay, I’m a web design old-timer, but I’m not quite that curmudgeonly yet (teasing)
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.
I think people would kick you in the shins and interrogate you now if you use float at all
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"
That's so web 1.0.
I'm not a real programmer lol
you are smh
Surreal programmer
I'm pretty sure a real programmer is anyone who writes code. Writing HTML or JSON, though, that's not real programming.
Ahhh macromedia
(I'm the other side of the eecs.)
focus you'll be happy to know I still use table to this day when I need a table
I still have a site i wrote using some macromedia product, what was it...
even with grid now existing and honestly probably just being the superior option
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.
Oh excuse me, it was GoLive CyberStudio
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.
Its what dreamweaver replaced i think
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)
🤮 (only at the name. i don't know what it is, and with a name like that i don't want to know)
Twas the olden days
Everything was "cyber" back then, it was all the rage.
I cant remember much about it. Only that it was one of the few products that ran on classic Mac Os
There was even a major company named CyberLink.
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
Didn't that come after GoToMeeting? I think they were trying to keep the theme going.
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
Well, it's Citrix after all. Pretty much all B2B.
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
Funny thing is that Citrix was actually the good software back then. The alternatives like VNC were so very, very janky.
is POS in this case "piece of shit"
I think MS Remote Desktop stole borrowed licensed? Citrix.
dont be silly, POS is always piece of shit
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
That would explain a lot of my retail experiences.
"WHAT ARE YOU EVEN DOING ON THAT COMPUTER"
struggling
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
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.
Citrix.. shudders
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
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.
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.
gotta agree with time leading to bug fixes leading to stability. code "quality" i consider an illusion, or at least inseparable from stability and reliability as a function of age
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.
my code is blessed by angels
Sure, until you have to interact with someone else's code.
my code is not blessed by anyone not even myself
I wrote some funky ass fix just earlier today
actually i some jank architectural thing earlier this week, but it was encouraged by the original author so its okay
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)
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
oh don't worry, the junior engineers are counting on never getting back to that
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.
Marking up and notating, respectively

fun fact: CSS is turing complete
The thought process I imagine occurred when our codebase’s current system for creating a destructive confirmation dialog requires 700 lines of boilerplate (real)
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".
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
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
Is there a term even softer than MVP? Like… minimum unviable product?
Cause… that.
mup
Is there a term even softer than MVP?
Yes - prototype or alpha.
Personally I think it depends; the audio system being prototyped for 1.6.9 was just a proof-of-concept, but the performance characteristics were way better than I anticipated even on our lowest end devices
There's a good chance it doesn't get the optimizations/porting to native part that I had originally planned
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?
Thoughts on Minimum Usable Prototype? Trying to start a trend here /half-joking
Yeah, I did
it keeps the mup acronym so I'm happy
We can roll back easily if need be, but I'm rather comfortable with the amount it's been tested
Perfect. Go team!
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)
Well I am not going to comment further because we're getting into NDA territory
Haha, fair enough
I can’t speak to “as often as we like to pretend”, but it does sure happen pretty often at my current job
Also, as fun as "MUP" is, I'm going to have to go with MCP - Minimum Compiling Product
What about JIT/interpreted languages?
MCP will always be Mod Coder Pack to me (minecraft mods)
No compilation step, no MCP
JIT is still compiled, and if you're talking about JavaScript then yes, there is technically a step even below MCP.
Ah yeah, hard agree. Working with CA is great bc it's more of a "it's finished when it's finished" pace
Thoughts on
Wireframe -> MCP -> MUP -> MVP -> Beta -> RC -> Release?
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.
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!"
I really was more commenting on the proof of concept side of the meme, about writing clean code & the like
My only problem is when there’s muddying of the waters between “telling management it’s not ready to ship” and “being the weak link”/“making the team look bad”
Because I get a lot of that
Stardew's decomp is not far from reality
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.
Like for this, someone else on the team this morning asked me to close (I.e. mark as complete) the existing implementation tickets for the feature and create new ones for the new sprint, because that looks better for our team’s metrics. Even though the work isn’t done. Imo that’s just not the right way to look at it.
¯_(ツ)_/¯
We do what we can moving forward
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.
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.
Haha, nah, we usually get static Figmas that only illustrate the happy path :)))))))
Consider yourself lucky. Not joking.
you get figmas?
Lmfao
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.
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
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."
Best I can do on my phone at a moment’s notice
Only tangentially related, but one phrase I do not miss hearing is "design system".
I don't think I've ever heard it
but I'm not a native english speaker
my work communication is in dutch
The internal UI framework that your specific company uses for products
ah
tHaT bUtToN dOeS nOt CoNfOrM tO tHe SeT oF pReDeFiNeD sIzEs
"Design system" is basically the pufferfish term for "a bunch of labels we attached to colors or dimensions"
see we have don't have that issue cause we have absolutely 0 design consistency whatsoever
This is a "system" in the mind of a designer.
Lucky
Like I get wanting users to have a consistent experience
But there’s a point at which it becomes overboard
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!
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.
Good example. Every dialog should either have primary action rightmost or leftmost. That’s an example of a good design system standard.
(If you can stomach it, make it platform dependent to match the native equivalents, even)
But like, what font sizes I’m allowed to use where? Nah
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
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.
Me but front end
🙏
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” 
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.
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.
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
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
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.
are they afraid of you ddos'ing the temp controller 
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)
c string horrorshow
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")
So I hadn't inspected the packets myself, just pulled open their python drivers and was like "okay. They are using standard python tcp libs must be tcp"
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)
Luckily their drivers are all public so I guess tonight when I get home I'll pull apart the c# driver
Shouldn't you be doing that on the company's dollar, rather than your own?
(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?"
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.
(Startup. I knew I was signing away work life balance when I signed the contract.)

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
hell yeah
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.
(So this is basically accurate. The api is incredibly basic and involves, say, going "read register 699".)
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
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™
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
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.
I want to go to there
The pay is 70-80% of market is the downside and also probably exactly why it's so nice to work there.
Aye, there’s the rub
Only way they have to keep people to stay.
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
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.
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! 
Man, I sure am yapping. Oopsies
Also, alert to all the gamers in the chat with public-facing apps that use Google short links: goo.gl is going the way of… well most Google products, I suppose. https://developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/
Okay this is actually super good
Instructor: David Perreault View the complete course: https://ocw.mit.edu/courses/6-622-power-electronics-spring-2023 YouTube Playlist: https://www.youtube.c...
Watched two lectures already
Not too surprising, new links were disabled quite a while ago weren't they?
Yeah, 2018-ish? But that they’re fully getting rid of existing ones with no migration plan? Idk man
Search engine company potentially extincting a portion of the web’s accessible information
It is very odd, agreed
At least there’s no way this will recommend people eat one small rock per day
doesn't seem to affect us, but very fun times
I was just looking if anyone in the company chats were having issues lol
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
I've seen reports that basically the infrastructure of Australia went down. The ISPs, banks, supermarkets
time to make new customers crumble
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
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.
Also probably on an affected machine. 
didn't have this issue but I did have to quickly release a fix 3 minutes before 5 pm

What is git diff for "ignore binary files"?
Bold of you to assume I know literally any git cli command without googling it
i thought git diff did ignore binary files
don't make me tap the sign https://git-man-page-generator.lokaltog.net/
Well sane people don't commit binary files but I am insane so
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
"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"
How do I fix this problem I’m trying to install a mod for stardew it doesn’t let me
(Yes with the broken format string)
Do you have stardew in a non-default drive (not the main drive your OS is on)?
!mh
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).
I’m not sure I don’t think so
I’m new to these stuff I don’t usually use my laptop much
Atra r u trying to use something with python bindings 
Yes
Just fyi their example code I just downloaded off their website fails thr same way
How do I find stardew valley on my files
there should be a dir that u just put on PYTHONPATH
you are too on topic for this channel please go to #archived-modded-support
Ok
or like something you install via pip or equiv
oh they didnt use boost then 
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
what did mini conda mean by this
I must have set it up wrong
No that is not it, my void pointers are correctly 8 bytes
Why.
Whyyyyyyy
what is the windows version of ldd
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)
Dumpbin is great
Just install WSL and use the real ldd. It'll definitely work exactly as it should on a Windows executable! /j
i cant believe windows doesn't have built in ldd equiv 
I can!
how do ppl live
Oh yeah, dumpbin like Myuu says! Comes with VS so it isn't ideal, but it's something I guess.
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
It's funny I know what dependency walker is but never heard of dumpbin and don't remember what ldd does
the real solution for atra might be email the vendor and hope they respond
It's just what someone misspelled their program when thinking of DLLs. /j
Maybe one of the SysInternals tools will work
They do pretty much everything under the sun, so I'd imagine one of them will...
The one thing I really needed dumpbin for was seeing exported symbols
They helpfully included the header file
(Which is matching what dependency walker tells me)
If I were smart enough to parse the exports from a header file
my work does a lot of dumb Qt linking management for 3rd party software so that is what ldd is useful for checking
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
Not even with... manual flags?
Well you can by doing some hacks with the driver toolkit or smthg
Well that's highly silly.
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)
Why does dumpbin require me to install all of visual studios
microsoft doesn't want you to live
I regret to inform you my Teams is not down
Also has dependency walker been updated since windows 8
Ahhhh grumbles
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!
It is done. I've finally decided screw it and just ordered a Framework laptop.
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.
I also have one from 2021, but did upgrade to the AMD board
And I'll be grabbing an AMD board at some point in the future too, yeah.
its a solid machine
The GUI library I was using went commercial in a way that really just feels shitty
And I'm annoyed about it
...is it for Python?
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
Is it... simple?
I'd just say PyQt and screw it, honestly.
I would need to learn PyQt
Ah, fair!
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
It would almost certainly be better, but a complete UI library rewrite and learning a new one is just... that's a lot.
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
I assume the hobbyist license isn't appropriate?
No, they specifically say educational applications are only for students
....weird
Using it for teaching or research does not qualify for the hobbyist license
Also, apparently their license terms are Bad
You can't just keep using the old version, or did the old version already have an adhesion contract?
I've been learning Qt lately and surprised at how much I like it tbh
I really like Qt.
Yanked? Deleted? idk, they did their best to scrub them off the internet
Sounds like they think the old versions would still legally be usable then.
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
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.
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
I've only used tk for very simple things, but I think qt has a lot more widget selection/better cross platform support
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.
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
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.
Avalonia doesn't get me all fired up, but I'd still consider it miles ahead of GTK or Qt.
GTK wasn't bad to use, but was a massive pain to distribute on windows machines
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
Fair enough, Python options are limited. (And if you think Python GUI is limited, you should see Rust.)
areweguiyet? 
^ Nope
(I'm not in CS, so the background of most of my students doesn't include a lot of heavy-duty programming skills)
what about electron
I can assume basic Matlab and Python skills, but not out of every student, just most
Don't think those Matlab skillz are going to help a lot with UI.
I'll bet it does. And I'll bet it's awesome.
qt has a gui builder too, qt designer
I like Qt, but I rarely get to use it. HTML+CSS is too pervasive.
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.
We also want/have a website, but I have zero website skills
my other stupid idea is some juypter notebook thing, but i got no idea if that's valid for your use case
So that's sort of another funky problem with the project
Website skills aren't a bad thing to develop, given the state of things.
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
That is very fair.
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.
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
My website skills are from when XHTML was the hot thing.
u can build qt wasm, it probably sucks 
I can do basic html
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
I hope you mean TSX.
Nowadays htmx is... a thing I think people like?
TypeScript is just JavaScript with anxiety
TypeScript is JavaScript with sanity.
but i like when undefined && true returns undefined \s
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.
TypeScript is half-assed? Definitely disagree there, it's one of the most versatile type systems I've seen anywhere.
It literally doesn't exist at runtime
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.
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.
C++ compiles to assembly. No types.
Anyways I'm not here to argue with you over JavaScript.
htmx is just another framework. We don't use it for anything at work. There's no compelling reason to learn all of that framework instead of just continuing to use Vue (or React for the couple projects using that).
God ctypes are annoying
Awww... well that's disappointing. I was hoping it was an actual thing I might like rather than want to avoid if possible.
It's possible htmx could be useful for you, for simple pages.
Kernel died, blah blah exit code, reason = ?
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
Wow, they still use the term "AJAX" in their docs.
I haven't heard that in... a long time.
Honestly now that I put it that way, it does feel very jQuery to me.
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.
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
yep (3.7.1)
lmfao what even is this this is the early 2000s https://github.com/bigskysoftware/htmx/blob/master/src/htmx.js
It's all just a single massive file
If you just want something that's "vanilla HTML friendly", doesn't have a really steep learning curve on its own, etc., then probably the best choice is Vue.
We find hot new trends in the industry & then build the opposite of that
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.
("Maybe it's minified?")
- Nope, that's the actual source. 5000 lines in one file.
Almost reminds me of RecyclerView.java. Painful, painful memories.
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?
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.
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
So CustomData is something that already exists, and has to exist independently?
yes
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.
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 
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.
Have you ever seen vscode just refuse to accept the file on disk has changed
I literally closed and reopened vscode
I think there’s some command to refresh
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
depending on the api that is either unacceptable or really good
Well it was three full seconds yesterday
a nice improvement
Also I'm more or less annoyed python won't give me a warning when I fuck up type signatures
a common annoyance
It's kinda my fault for forgetting to install mypy on this machine but still
A thing I just discovered: Tiled doesn't use CMake.
It uses a C++ build system that I think I might... Actually like?
A new one to me. Qbs?
never heard of it
Same, but I think I actually like it.
tho not surprising, i still use makefiles
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
All I know is the build systems are the number one thing keeping me from doing more C++. But now, who knows?
The number one thing keeping me from doing more C++ is C# being a thing
true
if I'm doing manual memory management at this point I prefer C
if I want to prototype fast, I use Python
C++ is a bit of a weird place though, yeah.
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
¯_(ツ)_/¯
Meta programming is fun
I can't recall at the moment but there have definitely been cases when I wanted templates over generics
Just look how nice this root level qbs file is.
a beauty, really
Qmake is actually pretty straightforward I find, at least for simple stuff
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.
Meanwhile, we use python because people know python
My work writes python with python all the time 
I have written VBA with python
:(
So do I!
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?
... why does the x86 folder exist
"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
if it's a newer app it might even install in like, appdata or some shit
it's evil
Also like
I like to believe that equipment worth 10k+ needs you know
Up to date and correct docs included
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)
20yr old is 2004 that's like half life 2 age
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."
gotta get yourself one of them new fangled 54x CD readers
it's rollercoaster tycoon 3 so it was literally released in 2004
The version I have is from 2006 though I think since it has both expansion packs
Had a nice long bitch session about NI with a coworker
Definitely feel better about that
I think of Native Instruments when I see the acronym.
I have made the very poor decision to learn cobol
ah, trying to get into the banking industry
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
I've been tempted to learn it just for fun but I have too many other projects
welp, time to boot up openrct2 again, dangit wren
TIL COBOL is still being updated (latest standard is 2023)
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.
fr?
I do the same thing tbh I have had like zero time to play videogames or work on fun projects due to work projects taking my time
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.
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
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)
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# 😛
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
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
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
I mean, like, I'm now spawning 200+ separate processes 😛
(Not all at the same time)
Yeah it's a nutty thing to do. Did I mention most of these subprocesses are calls to pdflatex?
What about pypy? Does that... exist still? I remember that having less GIL concerns.
(I had two things I wanted threaded python for. That was the first. The second is possibly better handled by an async/await model)
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.
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.
Nothing wrong with sed. It's a good utility.
Incidentally I wish more c# types would expose a property to tell you whether or not they have been disposed
Just a simple .IsDisposed would be great
Should have been part of IDisposable
(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.)
yesssssssss
I completely agree
Incidentally I used the VS "edit function signature" magic right click menu today and it didn't die mostly
Does anyone have any advice for how to get into the programming industry?
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
I’m not really sure tbh. I’ve heard the market has changed a fair bit since I dealth with finding a job
That's fair, thank you anyway!
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.
My perspective as someone who isn't even close to in the industry...
- Learn things on your own
- Actually make things well on your own
- ???
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"
Those are what would impress me, anyway!
Or people who boast huge accomplishments, but can't really speak to their individual contribution
“I saved the country of france”
I've worked with a lot of people who take credit for others work, so I look out for those red flags
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
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.
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
if it passes the automatic AI review anyway that companies apparently use a lot nowadays
Note to self: If ever applying for job with Matt, do not put GitHub on CV. /j
Like, don't bother linking if that's the case
I did put the general link to my repository cause there's a few small projects in there and then a specific link to the website repository I made
I’ll link my github to my singular open source contribution ever (rewriting some documentation)
pls look at my github its got a bunch of stuff i made for this mobile game that went out of service years ago
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
I guess I'm mostly struggling with who to reach out to, to look for jobs
getting industry atm is tough due to overall economy state
So would you recommend doing more personal projects?
Yeah, it's tough because a lot of experienced devs were laid off and you're competing with them
Yeah I know
I'm actually in the process of backfilling a senior dev right now
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
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



