Details
-
SkillsC#, C++
-
LocationUkraine
-
Github
Joined devRant on 8/5/2017
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
The entire modern gaming ecosystem is a scam.
I added The Crew: Motorfest trial version to my library for free.
Click on Install and it downloads 43 GB of data.
Now it's time to launch.
Click on launch and Ubisoft Connect takes over and it starts downloading another 43 GB??????
WTF ??
If I can't even get the trial version of a game without nearly wanting to kill myself, how does the company expect me to pay full price for it?
Piracy FTW. Fuck all the companies.16 -
lol someone went systematically through my posts and downvoted each of them, i'm down like 200 points from weeks ago
imagine caring that much
"he who angers you controls you"
🤡🤡🤡🤡🤡🤡20 -
A PR I raised was left un-reviewed for 3 months. And finally when shit hit the fan, I was asked why I never worked on the fix.
I pointed to the PR I raised 3 months ago and I got absolutely flamed for it because obviously, it was my fault that I did my part, asked for a review and moved on to other tasks.
According to my manager, I should have kept pushing for the PR to be reviewed.
I wanted to set the office on fire that day.5 -
4+ years ago, in an interview, I was asked if I was familiar with keeping backups of my code on Google Drive.
When I asked them to explain what that is, they said that after a deployment, they make a ZIP file of the project and keep it on Google Drive.
When I asked about using GitHub/BitBucket they said they don't know what that is and neither do they intend on using it.
So yeah .....12 -
Manager: *taps dev on shoulder* We need to do B
Dev: I know, you created a ticket for it yesterday
Manager: Yeah but it hasn’t been done yet. It needs to get done.
Dev: I’m currently working on A which is higher priority
Manager: Ok but B needs to be done too
Dev: I know, it’s next on my board
Manager: I’m just making sure you are aware of it
Dev: I am aware of it, it’s next on the board
Manager: Ok but make sure you do it after A
Dev: Yup it’s next up
Manager: Ok, don’t let anyone distract you
Dev: …9 -
Recently i had to interview a guy with 10 years of frontend experience for a react developer role
Me : Do you know what ecmascript is ?
Him : Yes
Me : Which version would you prefer to use and why ?
Him : I dont use it. I am more comfortable with JavaScript.
Me : (totally confused) 😶
Him : (trying to be oversmart) I know you young guys prefer to use these fancy frameworks because you dont know how powerful raw javascript is.
Me : (Trying hard to not "react") Ok.
How would you "react" to this ?31 -
I am in tears.
My manager had a lot of pressure to relocate to the US.
She wasn't able to do so and had to leave the company on mutual terms.
Not only we'll be working with someone new but also my manager was fucking amazing person.
A gem who walked into my life, flipped my life and now goes away.
Why the good people have to leave...
I was so wrong to think about her the wrong way even when I saw this coming.
I really hope that I stay in touch with these awesome people and grow along with them for a long time.
It hurts me when I lose good connections.
Fuck me! Can't even think clearly right now.6 -
The lead dev left the company two weeks ago. His last hurrah involved committing a bunch of complicated code into our API. The code he writes is generally overly coupled but this particular code is INSANE.
It is so coupled that the tests for it almost mock the entire application end to end. I only found this heap of garbage when the deployment tests were hung after I made a simple change in a totally unrelated file. THEY DIDNT FAIL. JEST GOT INTO A STATE WHERE IT CANT CONCLUDE AND HAS NO ERROR MESSAGES. We are taking about entirely different parts of the code. As far apart in the code as it can get. It took six hours of playing Sherlock Holmes to figure out what was breaking.
He got the most junior developer to approve the garbage PR as well.26 -
Well, I did it.
I spent 45 minutes writing my first hacky, shell-and-python automation script to save me 15 seconds every morning.12 -
Devs: Feature A is done! Faster than planned even.
Manager: Hmm... what about feature A+B?
Devs: That requires feature B, and you said that feature B was not as important as feature A during our last meeting, remember? So we planned to do A, B, and then A+B. It's there in the meeting minutes.
Manager: But feature A does not make sense without feature A+B. Let's not release feature A just yet until we have feature A+B.
Then why didn't you say so during our last meeting?!9 -
Client: So we want you to redesign the frontend for this app
Me: Ok, sounds easy enough, send me the source code and API documentation
Client: yeaaaaaah, here's the thing, we don't have the frontend source code anymore, we originally wrote it in React and then we lost the source code, we only have the bundles now
Me: ok fine, I can handle it, can I have the API doc?
Client: yeaaaaaah, here's the thing, we didn't write API docs, but we have the source code if you want
Me: fml7 -
One more reason to hate Windows - Changing default browser will be made difficult in Windows 11. Thank you Microsoft
https://theverge.com/22630319/...14 -
Redux is weird, and I don't like it because it violates the most basic principles of responsibility. The concept of expressing state changes as reducers is nice because it can be duplicated, saved and restored and compared for equality. So is creating isolated accessors and selectors. However, I really don't think a reducer should be aware of its own position in the hierarchy. When specifying an action you aren't addressing a reducer, you're addressing the tree. That the tree doesn't manage this addressing and expects reducers to identify themselves is a bit strange, especially considering that the whole point of having a tree is that reducers shouldn't be affected by their position in that tree because they're pure. Same goes for selectors, they should belong to the tree, not to any particular sub-reducer. Separating the slices is reasonable structure, but if you specify parts of the addressing in the slice and parts of it in the root you might as well just use separate reducers for each of your slices. It's functionally equivalent.12
-
The previous developer didn't write a freaking single test for a system that does a lot of calculations. Performance was shit so I got tasked with re-writing everything from DB queries to the actual calculation functions.
This has been the worst developer hell I've ever been. Without tests I cannot change anything without knowing if something breaks!!!
I gotta understand first the mess this guy left behind, then freaking write the tests that are missing and finally refactor the stuff. FML.
Btw, its Python and the guy didint even bother to do some basic type annotations so it's even worse. Function arguments are "data", "score", some are dicts, some are floats, some are lists.
Faaaaaaaaaaaaaack!!!!4 -
Today I discovered that we have a CSV export button for an order transaction system, on a page which is completely disconnected from the rest of the website.
It is only being called by an internal server, used by our Data department.
They run selenium to click the button.
Then they import the CSV into a database.
That database is accessed by an admin panel.
That admin panel has an excel export button.
Which is clicked by our CFO. But he got bored of clicking, so he uses IFTTT to schedule a download of the XLS and import it in Google Sheets.
That sheet uses a Salesforce data connector.
Marketing then sends email campaigns based on that Salesforce data...
😒11 -
On my former job we once bought a competing company that was failing.
Not for the code but for their customers.
But to make the transition easy we needed to understand their code and database to make a migration script.
And that was a real deep dive.
Their system was built on top of a home grown platform intended to let customers design their own business flows which meant it contained solutions for forms and workflow path design. But that never hit of so instead they used their own platform to design a new system for a more specific purpose.
This required some extra functionality and had it been for their customers to use that functionality would have been added to the platform.
But since they had given up on that they took an easy route and started adding direct references between the code and the configuration.
That is, in the configuration they added explicit class names and method names to be used as data store or for actions.
This was of cause never documented in any way.
And it also was a big contributing cause to their downfall as they hit a complexity they could not handle.
Even the slightest change required synchronizing between the config in the db and the compiled code, which meant you could not see mistakes in compilation but only by trying out every form and action that touched what you changed.
And without documentation or search tools that also meant that no one new could work the code, you had to know what used what to make any changes.
Luckily for us we mostly only needed to understand the storage in the database but even that took about a month to map out WITH the help of their developer ;)
It was not only the “inner platform” it was abusing and breaking the inner platform in more was I can count.
If you are going down the inner platform, at least make sure you go all the way and build it as if it was for the customers, then you at least keep it consistent and keep a clear border between platform and how it is used.12 -
I bought some shoes from a drug dealer. I don't know what he laced them with, but I was tripping all day!