Not much different to a doctor reading through clinical trials and then recommending the best treatment based on the use case. They didn’t design, develop or manufacture the treatment. They were not involved in the trials. The majority are just expected to know enough to make an educated decision based on specific, individual circumstances.
I want my doctors to use tried and tested treatments. Not reinvent the wheel. A good doctor is one who has a high success rate.
Yet the industry acts as though you’re not a good dev if you can’t reinvented the wheel from scratch… coz… Ignorance? Ego? Delusions of grandeur?
This holds true no matter how well you try to make it simple, modular (so changes only have to touch the small relevant piece instead of understanding the whole thing), documented by good code comments and multiple external docs for different audiences.
Drives me up a wall. Would be so much easier to just slap-dash whack it together, but I’ve been the one to come back to something a year later with no clue too many times.
My old boss loved VB.Net. I still remember a time when I helped him out by solving mysterious bug for him.
He used to have this class he copied about to do database stuff. Not the worst thing of itself, but it was oddly specific in some ways for reused code. E.g. It had a function that took an enum value and returned connection string. And of course what options were in the enum varied.
So I come in one day and two other devs are already peering over his shoulder trying to help. The program is crashing when it tries to connect to the database and they can see for some reason the connection string is a single letter. I ask to see the function that is getting the connection string and see he’s removed the parameter, but the compiler didn’t pick up on it because:
VB.net lets you call functions that have no parameters without parentheses
VB.net is type lax, so an enum can be treated as an integer without casting
VB.net uses parentheses for array indexation as well as method invokation
.Net strings can be indexed like an array of characters
VB has no character type so VB.net treat characters as 1-length strings
So instead of passing an enum to a function, it was calling the function with no parameter, then using the enum value to index the returned string into a single character, which was then treated as a string and passed to the SqlClient constructor.
I recently made a small pure JS package at my company. It just fucking worked, can you believe it? No setting up compilation and CI/CD for build + release. Just put it in the repo and publish manually, and it just worked, it’s ridiculous
Where can you point to other developers evidence that the code in git matches the code you deployed? Deploying locally built packages to prod is an automatically fireable offense because its not auditable
WTF are you talking about? All I’m saying is that if you write code (that in the context of this discussion passes arguments to a method you didn’t write, that may not be the type the author of the method expected someone to pass, but really, that’s completely beside the point), you should, oh, I don’t know, maybe test that it actually works, and maybe even (gasp) write some automated tests so that if anything changes that breaks the expected behavior, the team immediately knows about it and can make appropriate changes to fix it. You don’t need a strongly typed language to do any of that. You just need to do your job.
Consumer just needs to write 4x as many unit tests to make up for lack static typing. Hopefully the library author has done the same or you probably shouldn't use that library.
CI/CD is useful regardless of which language you’re using. Sooner or later some customer is going to yell at you because you didn’t discover the fatal error before deploying.
@magic_lobster_party@alphacyberranger@unsaid0415 CI/CD won't prevent that. I wonder what it is for. Not using the CPU on my laptop for tests? And why would I want to commit before knowing the tests pass?
CICD isn’t an alternative to testing your own work locally. You should always validate your work before committing. But then once you do, the CICD pipeline runs to run the tests on the automation server and kicks off deployments to your dev environment. This shows everyone else that the change is good without everyone having to pull down your changes and validate it themselves. The CICD pipeline also provides operational readiness since a properly set up pipeline can be pointed to a new environment to recreate everything without manual setup. This is essential for timely disaster recovery.
If you’re just working on little projects by yourself, it’s usually not worth the time. But if you’re working in anything approaching enterprise grade software, CICD is a must.
@Stumblinbear I only worked on small projects so far, that's probably why I don't understand it. But a merge commit is like any other commit and the person pushing this commit has to make sure it works.
When working in teams, merging in two pull requests with seemingly unrelated changes is common practice. If I had to rebase and re-run tests every time another PR got merged in while mine was awaiting reviews, I’d spend most of my time running tests
I thought it was clear: they’re implying JS is simpler/faster to write and deploy because transpilation is necessary when using TS (unless you use a modern runtime).
We had meetings with several people about 30min tasks being booked using the wrong category, despite both being part of the same budget. Absolute insanity.
The usual response is to overload them with work and basically hound them for ticket numbers, time allocation, budgets and adhere to a very rigid “no ticket, no work” version of the company policy. Preferably with all colleagues at the same time, just waiting at his desk before the boss walks in.
Basically, their work was moved into other teams and it was obvious, that within a rather short time frame their team would be dissolved. And one way they thought to avoid that was to appear inexpensive by pushing any accountability away. Didn’t work.
I’m pretty sure, that a lot of these policies are put in place as kompromat. If everyone technically violates policies, everyone can be fired or sued for breaking policies if something goes wrong. Management knows exactly what’s going on, but they also know that the company would collapse if everyone actually followed protocol.
Such incredible bullshit. Tracking is to learn and see where things go right and wrong.
The fact manglement then puts the onus on the employee to cook te books for them is bizarre. Once tasks go over budget you can have a talk about it in a retrospective or something. But half hours… makes no sense.
Yeah, exactly. My attitude is you can cook your own damn books, don’t expect me to log anything other than the actual accurate time. Although I work at a company where we have no time tracking at all, good to be free of it
Had the same once. At the beginning we discussed every Hour. I left the project after about half a year for various reasons. Being the only guy left from the initial team (as a freelancer!) I said I’ld still support the other guys but only from remote.
The annoying boss left shortly after. Initial project estimation (made by him) was wrong big time. The new boss stopped caring and the project is around 2500 hours above budget for one task alone.
That’s the project of three months for you that will reach its fourth year soon. To be fair the main machine is finished. But the scope is always changing… Customers doing customer things 🤷🏻♂️
I am aware that on a Windows machine, turning on a OneDrive subscription (or at least an E5 license, is where I'm very specifically talking about), certain folders get moved from c:\users[username] into c:\users[username]\OneDrive. Then OneDrive syncs those locations up to 365.
If you just open cmd (not as admin), it will put you at c:\users[username] and then if you just cd desktop ... yeah, that's empy now. dir in c:\users[username] and I bet you'll find a OneDrive folder.
Of note, the default user folder paths that get changed are \Attachments \Desktop \Documents \Pictures. \Downloads stays at c:\users[username]\downloads
Oh my god, you’re right. Thank you! You just saved me a lot of stress. Because it finally finished and I selected to keep my files locally but the desktop was still “gone.”
There are still some other weird things going on but they’re minor. My desktop background is just solid black instead of the image I was using and none of the icons on my desktop have the little arrow thing saying they’re shortcuts.
Desktop background (or other theme stuff) - easiest way is to just reset that to what you want.
The arrow overlay on .lnk files, you could check regedit HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer for a "Shell Icons" key ("subfolder"), which should only be there if it was added manually, but I'd be interested in what it was if it was there.
I have to think that both of these have something to do with the system looking in the "old" place for the desktop background image and the icon cache, and not finding them there.
programmer_humor
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.