Skillsc#, vb.net, JS, TypeScript, Java, HTML, CSS
Joined devRant on 7/3/2019
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Another 'fun' rant
Wrote a new server application and got the request from customer services to make it compatible with a slightly older DB version.
Today, CS asked me to install everything on the customer's test environment so I made a build and installed it there.
Wanted to run the service, no .Net framework 4.7.1 installed. Fine, download the installer ...
Start installing .Net framework 'unsupported OS'. Started looking into it. Customer is still running an old unsupported Windows Server 2008 ...
Asked some colleagues whether this was normal. Apparently, yes.
Seems CS isn't capable of telling customers to at least have a supported windows version when they want our software. As if security issues due to people here not understanding TCP/IP isn't enough, we now have security issues due to old, unsupported Windows versions.
Note to self: never trust anyone who says that 'security is the most important thing in our software enviornment'.
A while ago when I was making some EF extension functions. I was trying to make a bulk update function that used a parallel for-loop and I wanted it to accept funcs as a parameter.
Took me a while to figure out that a func and an expression are 2 different things, but when I did, oh boy did a fun world open up.
I've been writing on this TCP server the last few days to integrate our software with some services used by the rest of the company.
Noticed the company service keeps making a new connection for every single message, and closes this at client side (without signifying the server).
So I contact the team who wrote these services and ask them what's happening. Team lead of that team doubts that I know what I'm talking about and tells me TCP automagically signals the server on disconnect, and this probably is a .Net only problem.
5 seconds of googlefu: half open tcp connection.
Apparently, the application doesn't care about dropped connections and losing connection states even though every service should be checked for licensing when connecting to the server. With this set-up everyone can just send a message other than the registration and pass through any 'validation' due to the fact there can be no connection state.
F*CKING INEPT IDIOT(S) OF TEAM LEAD/DEVELOPER TEAM!
So been doing a TFVC -> Git conversion the last 3 weeks. I'm finally seeing an end to this mind numbing frustrating mess, so I was thinking 'this is a good time to write down my experience in a rant'.
So first of all, I'm working on a project that's about 10 years old, and didn't have a serious refactoring in that time (still runs on .net 4).
The project structure is f*cked up and seriously complicated the git conversion. For example forms only used in the winform application were in a solution for a web app, and file referenced in the windows application. But due to the fact that these forms also needed references to some business logic in the winform app, I had to constantly jump from one project to the other, fixing references to get this shit in NuGet. Sadly this wasn't the only case, and the other 40 project I had to convert from TFVC to Git had equally f*cked up stuff.
Only thing positive to come of this, pretty much decided to leave and start as a freelancer. At least I'll get payed better for doing shit like this, and I know it'll be a temporary thing and can move on after it's done.6
(first post/rant on here)
So I recently started at a new company. I was kinda aware that the project I'm working on would be rather old school (to put it in a nice way :-)).
Part of my job is to 'industrialize' and update/clean up the existing code so there is less time spent on fixing bugs due to bad design.
One of the first things I had to do was to write a new interface to integrate with external software.
I already noticed some rather nasty habits, like prefixing every variable with m (don't know why), private fields for every property (all simple properties) and a whole lot of other stuff that either is obsolete or just bad practice.
Started writing clean code (simple classes with properties only, no m prefixing, making sure everything is single responsibility, unit tests, ...).
So I check in the code, don't hear much from it again besides the original dev/architect that started the project using my code to further work on that integration.
Now recently I started converting everything from TFVC to Git (which is the company standard but wasn't used by our team yet). And I quickly skimmed through my code to check if everything was there before pushing it to the remote repo.
To my surprise, all the code I had written was replaced by m prefixed private variables used in simple properties. BL classes were thrown in together, creating giant monstrosities that did everything. And last but not least, all unit tests were commented out.
Not sure what I got myself into ... but the facepalming has commenced.14