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
Search - "order"
-
Recruiter: This is a 100% remote position
Dev: Good! That’s what I’m looking for.
Recruiter: But the company does require you to come into the office “on occasion”
Dev: I live 5 hours away from your office so that would be not a good fit
Recruiter: And once covid is over the ability to work remotely will be getting reconsidered. You’ll likely need to move cities in order to continue your employment with them.
Dev: Yeah I’m looking for 100% remote work
Recruit: This is 100% remote! Just with the need to come into the office sometimes now and potentially more later.
Dev: …15 -
Manager: THE SERVER IS DOWN THE SERVER IS DOWN!!!!
Dev: Ok I’ll look into it
*5 mins later
Dev: Wow these are really strange logs, it’s like config values are being changed all over the place while I’m looking at it
Manager: Well I figured while you were looking into it I’d go i to the server settings and change everything I could find in order to try and get the server back up again. Two sets of hands are better than one, Is it up yet???
Dev: …No.
Manager: I THOUGT YOU SAID YOU’D LOOK INTO THIS. I NEED ANSWERS NOW. WHAT IS TAKING SO LONG?!?!?
Dev: …14 -
A story about the shittiest boss I ever had.
We were a consulting company, I was leading the dev team. We're on the phone with a client who needs a change to the software we're maintaining for them.
Boss (mouthes at me): How long?
I (hold up 3 fingers, mouth back): 3 days
Boss (to client): You have it by tomorrow. *hangs up*
I: What the actual fuck?
Boss: You said 3 days, 3 times 8h is 24h, better order some pizza and Red Bulls for your guys.
He pulled stunts like this all the time and yet genuinely seemed surprised when I quit.7 -
Manager: How come the push to prod didn’t happen?
Dev: We told you at the scrum yesterday. To reiterate, our dev environment was crashing so it’s not safe to push to prod until that is fixed.
Manager: Ok well lets set a goal to fix that and push to prod happens today so that it guaranteed happens.
Dev: That was our goal yesterday and it definitely didn’t happen.
Manager: I AM AWARE OF THAT. The corrective action is that this time compliance with the goal is 100% ABSOLUTELY MANDATORY!!
Dev: We’ll do our best, can’t guarantee anything until we figure out what the nature of what is occurring on dev though.
Manager: NO. I AM THE BOSS. YOU WILL 100% ABSOLUTELY COMPLY WITH THIS. THAT IS AN ORDER. YOU WILL SUCCESSFULLY GET THIS UPDATE OUT TO PROD TODAY. ANYTHING LESS THAN THAT SHALL BE CONSIDERED INSUBORDINATION. I WANT STATUS UPDATES EVERY 15 MINUTES ON WHERE WE ARE AT WITH THIS.
Dev: …
Dev: Can I get you to send me that request in an email?
*Manager leaves the meeting*
// *****************************
Job search is ticking along. It’s tough going though because I currently make ~120k and the best offers I’ve received so far are all ~70k because “You only have 2 years experience so you couldn’t possibly have the skills to be worth 120k. You are are junior level developer and 70K is already overpaying for you. We can pay you more later™. No we will not give you that in writing”. Ah well, the hunt continues.17 -
Manager: In order to increase business resiliency we will be doing cross training this week.
Dev: What does that involve?
Manager: Everyone will do everyone else’s job for one day each. After this you will all be considered trained so that if anyone can easily fill in for anyone else.
Dev: …9 -
I’m getting fucking tired of having this conversation:
Company “we need x”
Me “ok. In order to deliver x I need y”
Company “we can’t do that”
Me “ok. Then can I have y”
Company “nah ah”
Me “what about Q?”
Company “nope”
Me “okay. Well until you decide to provide me with the resourcing needed, this is getting deprioritized”
Company “wait this needs to be top of mind”
Me “okay. Provide me with y, and I’ll deprioritize other work”
Company “wait we also need that other work”
Me “you’re only getting one. Pick which one you want first”
Company “we’ll get back to you”
Me (muttering) “no you won’t”
Company “what?”
Me “what?”10 -
So the new robot (Dingo) arrived yesterday. Today I did the unboxing, and damn was it disappointing. I realized the university purchased it not from the company I recommended, and they messed up the delivery.
The robot controller was missing, and the charging cable did not match the charging station input. Like dude, you had one job!
Since the lady in administration decided to disregard my recommendation and order from a random shop, she might as well assemble the robot herself....15 -
Ah yes, write your own fucking website crawler in PHP and deoptimize so hard that it uses some gigabytes of RAM and takes about 1 hour to crawl the very own website it's running on.
Oh and don't forget to download every single image and video file in order to "crawl" it for extremely valuable text content.
What a genius move! I'm really impressed.6 -
Companies who geo block their sites for no fucking reason can go fuck themselves.
So a bunch of retarded pharmacies in India, geo block hits from anywhere outside of India.
A thousands of Indians are living abroad with their parents and family living in India.
Imagine, I have to order medicines for my parents since they are not very tech savvy and I cannot do that because some rotten brained guava thought that it's a good idea to geo block access.
What is the fucking point in doing so? There are many such companies, especially Indian who do so. I have keep toggling my VPN because of this.17 -
A brief, and biased opinion of what love is in the dev world:
Love is my employees bringing me something to eat when they know I stay back so that they can all go out do whatever they can do.
Love is my CMS admin getting his ass up and walking all the way to my office when the director walks in to say some STUPID FUCKING SHIT to me that he(CMS Admin) knows would have me 2 fucking seconds away from getting out of my chair and drop kicking the fuck out of him.
Love is the rest of my employees getting up to follow along in case(certainly) one dude is not able to hold me down.
Love is them knowing that I know that their mere presence there will make me chill the fuck out and not choke the fucking director
Love is the CMS Admin proof reading every email I send to a bitch that was trying to get smart, to make sure that I was not being agressive.
Love is said CMS Admin bringing me coffee or a coke congratulating me on listening to him about X email not being aggressive (there is no passive in my vocabulary, just balls out "isn't this your fucking job" aggressive)
Love is my lead developer showing to work after medical treatment fucked up as all hell because he knows that if he is not there I will do a billion things myself in order to give him some rest.
Love is taking my CMS admin and lead dev out to eat when a major stakeholder shits on something I damn well know it took them a while to finish. Love is also letting me open up to said stakeholder to tell them how much of a fucktard they are, sometimes they let me loose, and I appreciate that.
Love is every small person in the company approaching you to tell you of their issues, becuase they care more about the productivity they give to their users, rather than the bullshit numbers their managers care about.
Love is the staff of other places taking care of you because you are not a VP dickhead that treats them like shit.
Love is the HR reps sending you personal e-mails asking you for help because their shitbag of a boss does not count for help and leaves them in the blank with shit software, for which said HR go above and beyond for you later on even though said shitbag manager said no.
Love is your team getting angry and responding respectfully at people when they talk shit about their manager on their emails (manager being me)
Love is your employees closing your door for you when they know you are overwhelmed and you need a quick second to pull yourself up.
Love is not wanting to leave this miserable place because you know some dickweed will be left in charge of the people that care for you, trust you, work for you regardless of the date, and confide in you.
They got me locked in, this shitty institution, for now. Until I find a way to bring my entire team with me.8 -
the most incompetent person that ever worked with me had no proactivity, always waited for an explicit order to start to do anything and had absolutely no autonomy. this guy would frequently ask me stuff that he could find with a google search.
when the IT team was let go, the company lined me up for another job, and my boss actually told me "you work well so i can refer you, but i can't do the same for <that guy>". i honestly thought that was his first job, but no. i have no clue how he managed to work in a hospital before that.6 -
Here I am trying to get some tickets for a theater, and I noticed an interesting thing. It seems that the website holds no session persistence. In other words it doesn't check to see if the user has stopped trying to order tickets, instead it holds the seats for about 30 minutes. This is kind of stupid because when you back out, your treated as a completely new session, you have no way of trying to get back the seats you had chosen.
Sooo, what does this mean? It means that I can start selecting a bunch of seats and continue selecting a bunch of seats. There appears to be no server-side checks to prevent someone from just booking the entire theater.
Soooooo, what does this mean? I could potentially spam the entire country's theaters (any that use this website as a booking system) and make it impossible for people to book seats through this website.
What do you guys think? Is this a bug or feature?7 -
Biggest challenge was to accept that no matter where you go, what you do, you will have to deal with stupid people.
They come in all ranges, starting from hr, interns, juniors, coworkers, code reviewers, seniors, managers, boss, clients.
And in order to grow in life, you have to learn to deal with them. Better even if you could make them a little less stupid.3 -
I used to work for a company that had a main website and a lightweight app. LW app was distributed to partners and added to other sites using an iframe.
Someone decided a requirement was to retain the shopping cart for anonymous users. Some dev thought the best way to do that was to issue auth cookies to anonymous users.
The auth cookie issued by the LW app was actually for the main site. A few users for LW app decided to just come to main site to make a purchase. Since they already had an auth cookie (issued from LW app), they were never prompted to log in, create an account, or use guest checkout on the main site. They were still able to complete their order and we had their shipping address, but we didn’t have their email address so we couldn’t contact them about their order.
Customer service had no way to email customers if something went out of stock or if there was a product recall. CS would have to call these customers and ask for email addresses. Good luck getting anyone to answer or return a call nowadays. Customers were asking where their confirmation email was. The admin website was polluted with “users” that had the placeholder email for non-logged in users.
This happened because of a combination of an understaffed and overextended engineering department. Of course when something goes bad it’s going to be bad. -
Holy fuck nvidia. Why the fuck you want me to login to your fucking app in order to download a fucking driver. You also want me to click a fucking link that you sent to my email for verification on every fucking login? Why on earth someone would stole my fucking nvidia account? To see which drivers I use? What the fuck nvidia? Oh wait. DO YOU DARE ASK ME TO SETUP TWO FACTOR AUTH TO SECURE MY ACCOUNT?!? What the fuck? Even if I put my credentials online no one would care to login my fucking nvidia account. Just let me download my fucking driver!6
-
Found a bug which occures because a certain array has not the right order. At the place where it gets relevant, I found a comment written by myself ages ago 'sorting the array is not necessary because blabla'
... NICE TRY PAST SELF, BUT YOU WHERE JUST FUCKING WRONG.3 -
EoS1: This is the continuation of my previous rant, "The Ballad of The Six Witchers and The Undocumented Java Tool". Catch the first part here: https://devrant.com/rants/5009817/...
The Undocumented Java Tool, created by Those Who Came Before to fight the great battles of the past, is a swift beast. It reaches systems unknown and impacts many processes, unbeknownst even to said processes' masters. All from within it's lair, a foggy Windows Server swamp of moldy data streams and boggy flows.
One of The Six Witchers, the Wild One, scouted ahead to map the input and output data streams of the Unmapped Data Swamp. Accompanied only by his animal familiars, NetCat and WireShark.
Two others, bold and adventurous, raised their decompiling blades against the Undocumented Java Tool beast itself, to uncover it's data processing secrets.
Another of the witchers, of dark complexion and smooth speak, followed the data upstream to find where the fuck the limited excel sheets that feeds The Beast comes from, since it's handlers only know that "every other day a new one appears on this shared active directory location". WTF do people often have NPC-levels of unawareness about their own fucking jobs?!?!
The other witchers left to tend to the Burn-Rate Bonfire, for The Sprint is dark and full of terrors, and some bigwigs always manage to shoehorn their whims/unrelated stories into a otherwise lean sprint.
At the dawn of the new year, the witchers reconvened. "The Beast breathes a currency conversion API" - said The Wild One - "And it's claws and fangs strike mostly at two independent JIRA clusters, sometimes upserting issues. It uses a company-deprecated API to send emails. We're in deep shit."
"I've found The Source of Fucking Excel Sheets" - said the smooth witcher - "It is The Temple of Cash-Flow, where the priests weave the Tapestry of Transactions. Our Fucking Excel Sheets are but a snapshot of the latest updates on the balance of some billing accounts. I spoke with one of the priestesses, and she told me that The Oracle (DB) would be able to provide us with The Data directly, if we were to learn the way of the ODBC and the Query"
"We stroke at the beast" - said the bold and adventurous witchers, now deserving of the bragging rights to be called The Butchers of Jarfile - "It is actually fewer than twenty classes and modules. Most are API-drivers. And less than 40% of the code is ever even fucking used! We found fucking JIRA API tokens and URIs hard-coded. And it is all synchronous and monolithic - no wonder it takes almost 20 hours to run a single fucking excel sheet".
Together, the witchers figured out that each new billing account were morphed by The Beast into a new JIRA issue, if none was open yet for it. Transactions were used to update the outstanding balance on the issues regarding the billing accounts. The currency conversion API was used too often, and it's purpose was only to give a rough estimate of the total balance in each Jira issue in USD, since each issue could have transactions in several currencies. The Beast would consume the Excel sheet, do some cryptic transformations on it, and for each resulting line access the currency API and upsert a JIRA issue. The secrets of those transformations were still hidden from the witchers. When and why would The Beast send emails, was still a mistery.
As the Witchers Council approached an end and all were armed with knowledge and information, they decided on the next steps.
The Wild Witcher, known in every tavern in the land and by the sea, would create a connector to The Red Port of Redis, where every currency conversion is already updated by other processes and can be quickly retrieved inside the VPC. The Greenhorn Witcher is to follow him and build an offline process to update balances in JIRA issues.
The Butchers of Jarfile were to build The Juggler, an automation that should be able to receive a parquet file with an insertion plan and asynchronously update the JIRA API with scores of concurrent requests.
The Smooth Witcher, proud of his new lead, was to build The Oracle Watch, an order that would guard the Oracle (DB) at the Temple of Cash-Flow and report every qualifying transaction to parquet files in AWS S3. The Data would then be pushed to cross The Event Bridge into The Cluster of Sparks and Storms.
This Witcher Who Writes is to ride the Elephant of Hadoop into The Cluster of Sparks an Storms, to weave the signs of Map and Reduce and with speed and precision transform The Data into The Insertion Plan.
However, how exactly is The Data to be transformed is not yet known.
Will the Witchers be able to build The Data's New Path? Will they figure out the mysterious transformation? Will they discover the Undocumented Java Tool's secrets on notifying customers and aggregating data?
This story is still afoot. Only the future will tell, and I will keep you posted.6 -
Most successful? Well, this one kinda is...
So I just started working at the company and my manager has a project for me. There are almost no requirements except:
- I want a wireless device that I can put in a box
- I want to be able to know where that device is with enough accuracy to be able to determine in which box the device was put in if multiple boxes were standing together
So, I had to make a real time localization system. RTLS.
A solo project.
Ok, first a lot of experiments. What will the localization technique be? Which radio are we going to use?
How will the communication be structured?
After about two months I had tested a lot, but hadn't found THE solution. So I convinced my manager to try out UWB radio with Time Difference Of Arrival as localization technique. This couldn't be thrown together quickly because it needed more setup.
Two months later I had a working proof of concept. It had a lot of problems because we needed to distribute a clock signal because the radio listeners needed to be sub-nanosecond synchronous to achieve the accuracy my manager wanted. That clock signal wasn't great we later found out.
The results were good enough to continue to work on a prototype.
This time all wired communication would be over ethernet and we'd use PTP to synchronize the time.
Lockdown started.
There was a lot of trouble with getting the radio chip to work on the prototype, ethernet was tricky and the PTP turned out to be not accurate enough. A lot of dev work went into getting everything right.
A year and 5 hardware revisions later I had something that worked pretty well!
All time synchronization was done hybridly on the anchors and server where the best path to the time master was dynamically found.
Everything was synchronized to the subnanosecond. In my bedroom where I had my test setup I achieved an accuracy of about 30cm in 3d. This was awesome!
It was time to order the actual prototype and start testing it for real in one of the factory halls.
The order was made for 40 anchors and an appointment was made for the installation in the hall.
Suddenly my manager is fired.
Oh...
Ehh... That sucks. Well, let's just continue.
The hardware arrives and I prepare everything. Everything is ready and I'm pretty nervous. I've put all my expertise in this project. This is gonna make my career at this company.
Two weeks before the installation was to take place, not even a month after my manager was fired, I hear that my project was shelved.
...
...
Fuck
"We're not prioritizing this project right now" they said.
...
It would've been so great! And they took it away.
Including my salary and hardware dev cost, this project so far has cost them over €120k and they just shelved it.
I was put on other projects and they did try to find me something that suited me.
But I felt so betrayed and the projects we're not to my liking, so after another 2-3 months I quit and went to my current job.
It would've so nice and they ruined it.
Everything was made with Rust. Tags, anchors, RTLS server, web server & web frontend.
So yeah, sorry for the rambling.5 -
I FUCKING HATE IT WHEN I HAVE TO BUILD SOMETHING FROM SOURCE!!!!
So I wanted to install a package with pip. Shouldn't be that difficult, right? RIGHT? Lmao
Things I encountered on this adventure in no particular order:
- multiple undocumented dependencies, only explained on stackoverflow or some github issues
- inconsistent and outdated documentation spread over multiple pages on multiple websites
- Python version can't be too old or too new
- other external software version incompatibilities
- Build process that takes several minutes just to fail, then try again and fail with exactly the same outcome after a few minutes
- fucking SVN is needed?!?!?!
- VS Code is needed for completely manual build ????
- cmd/powershell incompatibilites
- required reboots
At some point I just gave up... Now I don't even remember what I crap I installed that I don't need anymore.
Please for the love of god provide prebuild packages or at least a very SIMPLE build process -_-10 -
Today another story in this stupid company:
A freelancer created a feature to pay orders online . It took him 3 months (!)
Problem: sometimes people pay, but orders are not stored. Every morning, it takes 1 hour to check in db if the orders are stored, and if not, create them manualy
Yes, orders are created after payment.
Manager wants to fix it by creating the order before the payment, in 3 days (!)
Turns out that the freelancer has written a lot of obsolete code, I now have to clean up. 3 fucking months vs 3 fucking days!
And on top, the shoppingcart was stored in localstorage! (Already fixed by now)
Fuck this, I'm getting another wodka4 -
This is the third part of my ongoing series "The Ballad of the Six Witchers and the Undocumented Java Tool".
In this part, we have the massive Battle of Sparks and Storms.
The first part is here: https://devrant.com/rants/5009817/...
The second part is here: https://devrant.com/rants/5054467/...
Over the last couple sprints and then some, The Witcher Who Writes and the Butchers of Jarfile had studied the decompiled guts of the Undocumented Java Beast and finally derived (most of) the process by which the data was transformed. They even built a model to replicate the results in small scale.
But when such process was presented to the Priests of Accounting at the Temple of Cash-Flow, chaos ensued.
This cannot be! - cried the priests - You must be wrong!
Wrong, the Witchers were not. In every single test case the Priests of Accounting threw at the Witchers, their model predicted perfectly what would be registered by the Undocumented Java Tool at the very end.
It was not the Witchers. The process was corrupted at its essence.
The Witchers reconvened at their fortress of Sprint. In the dark room of Standup, the leader of their order, wise beyond his years (and there were plenty of those), in a deep and solemn voice, there declared:
"Guys, we must not fuck this up." (actual quote)
For the leader of the witchers had just returned from a war council at the capitol of the province. There, heading a table boarding the Archpriest of Accounting, the Augur of Economics, the Marketing Spymaster and Admiral of the Fleet, was the Ciefoh Seat himself.
They had heard rumors about the Order of the Witchers' battles and operations. They wanted to know more.
It was quiet that night in the flat and cloudy plains of Cluster of Sparks and Storms. The Ciefoh Seat had ordered the thunder to stay silent, so that the forces of whole cluster would be available for the Witchers.
The cluster had solid ground for Hive and Parquet turf, and extended from the Connection River to farther than the horizon.
The Witcher Who Writes, seated high atop his war-elephant, looked at the massive battle formations behind.
The frontline were all war-elephants of Hadoop, their mahouts the Witchers themselves.
For the right flank, the Red Port of Redis had sent their best connectors - currency conversions would happen by the hundreds, instantly and always updated.
The left flank had the first and second army of Coroutine Jugglers, trained by the Witchers. Their swift catapults would be able to move data to and from the JIRA cities. No data point will be left behind.
At the center were thousands of Sparks mounting their RDD warhorses. Organized in formations designed by the Witchers and the Priestesses of Accounting, those armoured and strong units were native to this cloudy landscape. This was their home, and they were ready to defend it.
For the enemy could be seen in the horizon.
There were terabytes of data crossing the Stony Event Bridge. Hundreds of millions of datapoints, eager to flood the memory of every system and devour the processing time of every node on sight.
For the Ciefoh Seat, in his fury about the wrong calculations of the processes of the past, had ruled that the Witchers would not simply reshape the data from now on.
The Witchers were to process the entire historical ledger of transactions. And be done before the end of the month.
The metrics rumbled under the weight of terabytes of data crossing the Event Bridge. With fire in their eyes, the war-elephants in the frontline advanced.
Hundreds of data points would be impaled by their tusks and trampled by their feet, pressed into the parquet and hive grounds. But hundreds more would take their place. There were too many data points for the Hadoop war-elephants alone.
But the dawn will come.
When the night seemed darker, the Witchers heard a thunder, and the skies turned red. The Sparks were on the move.
Riding into the parquet and hive turf, impaling scores of data points with their long SIMD lances and chopping data off with their Scala swords, the Sparks burned through the enemy like fire.
The second line of the sparks would pick data off to be sent by the Coroutine Jugglers to JIRA. That would provoke even more data to cross the Event Bridge, but the third line of Sparks were ready for it - those data would be pierced by the rounds provided by the Red Port of Redis, and sent back to JIRA - for good.
They fought for six days and six nights, taking turns so that the battles would not stop. And then, silence. The day was won, all the data crushed into hive and parquet.
Short-lived was the relief. The Witchers knew that the enemy in combat is but a shadow of the troubles that approach. Politics and greed and grudge are all next in line. Are the Witchers heroes or marauders? The aftermath is to come, and I will keep you posted.4 -
My project manager just asked me if we need to do a release in order for the changes we have done to be seen in prod.
Yes… what do you think a release means?4 -
HP makes shit devices. How the fuck you gonna regress with product design from 7 years ago?
Like whos the fucktard that thinks “how about in order to swap a keyboard, we make the user take EVERYTHING out and then put it into a new upper housing?”
Or my favorite is “instead of screwing a screen panel in, lets use some painfully difficult to access stretch tape?”
Fuck HP’s product design team. If by some off chance any of yall know anyone who’s part of that team, tell them i said they can eat a fat dick and get aids.8 -
Brazilian health ministry got a ransomware attack this night.
Why? Not because every city is demanding you to show you're vaccinated in order to go somewhere. Because you have to show it using a 20+ year old system.
Don't get me wrong the UI is nice.
But the servers...
Well, at least I have a document where my shots are registered.
And good luck to us living in this country, where we're known for gorgeous cities (people too) but also for a government that earns 200k+ while working 2 days a week and can employee 40+ people for sitting there and do no fucking shit.
No wonder if you get bad news from here every now and then, it's all true.
The ministries are dumb.
The president is dumb.
And worst. People too.
People don't care. Because they don't know they are part of 94% of more than 200 MILLION that earns minimum wage and strive to live bc the country BUYS things that we ALREADY PRODUCE and have to put a tax to every product to compensate them paying 5x times more to buy in dollars.
Well,
At least I'm not depending on this sucker of government, never cared about it.
You guys deserve to collapse and become poor again6 -
Right to repair by Corsair
My mouse has double click glitch...
To disassemble the mouse, first skates need to be peeled off and destroyed in order to get to mounting screws...
I was unable to find those skates online, so I reached directly the Corsair to check if they sold them. Of course they don't sell them...
Next I tried to find professional shop. I found one willing to replace switch for 50$ while brand new mouse costs 60$.
FUCK YOU CORSAIR7 -
Kinda pissed. Ordered a WD red plus 8TB on November 20th from newegg along with some other stuff. He drive showed up DOA on the 26th, tested everything I could to make it work. But in the end I couldn't even get it to initialize.
Ok. No problem this happens. request a return and replacement.
Got that in today. Over 2 weeks later. Fucking EXACT same problem.
and just to make sure I'm not fucking crazy I grabbed a 1tb thats been sitting on my desk unused for years. Plugged that into my NAS. Works fucking perfectly. Even able to pull it and wipe it using my USB drive reader on my desk after. I can even fucking reinitilize it back and forth from mbr to gpt.
Not asking for replacement this time. Just refund. Gonna order directly from WD. If this one fucks up I'm switching to Seagate for a couple of years4 -
TL;DR; do your best all you like, strive to be the #1 if you want to, but do not expect to be appreciated for walking an extra mile of excellence. You can get burned for that.
They say verbalising it makes it less painful. So I guess I'll try to do just that. Because it still hurts, even though it happened many years ago.
I was about to finish college. As usual, the last year we have to prepare a project and demonstrate it at the end of the year. I worked. I worked hard. Many sleepless nights, many nerves burned. I was making an android app - StudentBuddy. It was supposed to alleviate students' organizational problems: finding the right building (city plans, maps, bus schedules and options/suggestions), the right auditorium (I used pictures of building evac plans with classes indexed on them; drawing the red line as the path to go to find the right room), having the schedule in-app, notifications, push-notifications (e.g. teacher posts "will be 15 minutes late" or "15:30 moved to aud. 326"), homework, etc. Looots of info, loooots of features. Definitely lots of time spent and heaps of new info learned along the way.
The architecture was simple. It was a server-side REST webapp and an Android app as a client. Plenty of entities, as the system had to cover a broad spectrum of features. Consequently, I had to spin up a large number of webmethods, implement them, write clients for them and keep them in-sync. Eventually, I decided to build an annotation processor that generates webmethods and clients automatically - I just had to write a template and define what I want generated. That worked PERFECTLY.
In the end, I spun up and implemented hundreds of webmethods. Most of them were used in the Android app (client) - to access and upsert entities, transition states, etc. Some of them I left as TBD for the future - for when the app gets the ADMIN module created. I still used those webmethods to populate the DB.
The day came when I had to demonstrate my creation. As always, there was a commission: some high-level folks from the college, some guests from businesses.
My turn to speak. Everything went great, as reversed. I present the problem, demonstrate the app, demonstrate the notifications, plans, etc. Then I describe at high level what the implementation is like and future development plans. They ask me questions - I answer them all.
I was sure I was going to get a 10 - the highest score. This was by far the most advanced project of all presented that day!
Other people do their demos. I wait to the end patiently to hear the results. Commission leaves the room. 10 minutes later someone comes in and calls my name. She walks me to the room where the judgement is made. Uh-oh, what could've possibly gone wrong...?
The leader is reading through my project's docs and I don't like the look on his face. He opens the last 7 pages where all the webmethods are listed, points them to me and asks:
LEAD: What is this??? Are all of these implemented? Are they all being used in the app?
ME: Yes, I have implemented all of them. Most of them are used in the app, others are there for future development - for when the ADMIN module is created
LEAD: But why are there so many of them? You can't possibly need them all!
ME: The scope of the application is huge. There are lots of entities, and more than half of the methods are but extended CRUD calls
LEAD: But there are so many of them! And you say you are not using them in your app
ME: Yes, I was using them manually to perform admin tasks, like creating all the entities with all the relations in order to populate the DB (FTR: it was perfectly OK to not have the app completed 100%. We were encouraged to build an MVP and have plans for future development)
LEAD: <shakes his head in disapproval>
LEAD: Okay, That will be all. you can return to the auditorium
In the end, I was not given the highest score, while some other, less advanced projects, were. I was so upset and confused I could not force myself to ask WHY.
I still carry this sore with me and it still hurts to remember. Also, I have learned a painful life lesson: do your best all you like, strive to be the #1 if you want to, but do not expect to be appreciated for walking an extra mile of excellence. You can get burned for that. -
I did not think that making a serverless Discord bot would be such a learning experience. The code itself was easy. The hard part was the infrastructure, because I decided to automate it all with Terraform and deploy it on AWS.
Before this project, I had no idea how API Gateways worked. Now I still have very little idea how they work but I managed to build one anyway. Eventually. And then I had to figure out how to automate the deployment of a lambda layer and function that would both still be managed in the Terraform state, with any code changes triggering a rebuild and update for the resource.
And then I had to untangle a dependency mess because API Gateways have some weird issues where two resources that have no explicit dependencies on each other will throw an error if they don't deploy in the right order.
And then I went the wrong way with Github actions trying to conditionally chain multiple workflows together before I realized I could just put multiple jobs with conditions in a single workflow.
And now after all that work over the course of 2 days, I have a bot that does this:2 -
Today was a bad dev day working on a shitty React project. Not that React in itself is bad, but it can be hell to work with when the code is a big pile a crap full of anti pattern code. I spent the day refactoring to try to fix a bug, but to no avail. It would take days if not weeks to put some order in this mess and to prevent such bugs.5
-
How to reproduce:
- have a single login form for admins and ordinary users
- add a second button right next to 'login' which reads 'login as admin' in order to have a separate login for them
- release a new version of software with this change solely and changelog informing about it
- have customers admin tell you everybody is complaining about not being able to login with thwor admin accounts5 -
YouTube Music is so fucking shit
No continue playing on refresh. Queue / Currently playing gets cleared (Wtaf?)
No logical playlist sorting by alphabet
Alphabetical order seems to restart several times and gets fucky with mixed starting letters towards the end
Absolutely no sorting options by any attribute
No continue listening on another device
No song search ability in playlists (Excuse me but what the fuck?)
SS attached shows how playlist goes from W -> Y -> axbyz2 -
Hey guys... Broke up with my girlfriend that I spend 1.3 years with her and all I think about is "I have to come back to work in order to forget this sadness and depression " ... Sometimes I feel that programming is making me feel like a robot with cold to no feelings25
-
Follow-up on https://devrant.com/rants/5001553/...
How the fuck are Jupyter notebooks so popular in research? Like some dude had an idea to take perfectly good markdown and python code, add a whole lot of transitional properties to make version control impossible, encode it as JSON on the assumption that a human could somehow look at it and make sense of countless escaped characters and base64 encoded data, create dedicated software people need to install in order to read what used to be simple plain text, and think "This. This is what 99% of data researchers will use from now on." And somehow, overwhelming majority of researchers agreed that this extremely inefficient data format is the best there is and they should develop all their tools around it.12 -
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5 -
I have stopped Windows updates in my laptop. But no windows has to do some shit in order to maintain its reputation. Every 10 min I get this pop up.9
-
Don't you hate it when you order something, its in the postal service, and then it never arrives..
Then you have to get a refund, and order it again, probably from somewhere else in case the first vendor really didn't put it in the post, and has a bad score..
Good thing I'm not dying of anything that I could do with the pills for . . .2 -
Fuck Apache TIKA.
Its supposed to be a "universal file reader" or some shit. Im trying to use it as a PDF/image parser that does OCR when needed and yelds a full-file string. It does so, but the text ends up being IN THE WRONG FUCKING ORDER.
WTF would I want to parse the text out of a PDF in any order that is not the one the text is supposed to be read?!?!
"It is more efficient to work in random ordering", says the docs. No shit, really? Wouldn't it be even more efficient to just spit out random strings? Just as useful and 100% CPU-bound.
"You can add a property to forcefully put the text in the right order". THEN WHY THE FUCK IT IS NOT THE DEFAULT SETTING?
Srsly, what's the use case to a parser that yields scrambled text?!?1 -
I don't wanna work 😭. My company is making me work like a donkey. I have to commute for a total of 4 hours (to and fro). I get hella tired when i reach home. I don't have any energy or life. I feel lifeless and everything makes me irritated. They are paying me $5300 in a year( i am from india) with a bond. It just seems like they are exploiting me. 😭 I can concentrate on preparing for DSA and make projects in order to switch my job. I just can't keep working, working and working at the same place with the same people inside the same cubicle. I feel so fucking irritated, lifeless and sleep deprived. They are recruiting freshers and paying more salary to them who doesn't even know how to code! And here i have been working straight for 1 year(including internship) with very good feedbacks from everyone. When i asked if i could get wfh permanently, manager said no but at the same time gave permanent wfh to the other team member having much greater experience. I feel so so sad. I finish all my work on time no matter where i am and always gets good feedback. 😭21
-
we are living in a very fucked up society.
- the poor is fantasize the minimum wages nd life supplies( aka more money) . they work and becoms the minimum wage worker.
- the minimum wage worker fantasize a little more comfort, better lifestyle and therefore works to become an average earning worker.
- the average earning worker is mostly happy in present but worries about the future and wants to save, so fantasise an above average income and works hard to become an above average earner.
now here gets everything messed up. the above average worker is supposed to be the ultimate position where you are not really required to upgrade yourself( previous ones were a real necessity for existence). however a person cannot stop here :
1. resources gets depleted , people get greedy, life happens , or just any big firm go crazy and increases the price of their goods. you were filling your stomach whole day for $1? boom, you can't afford a single meal in $1. so the above avg person has to compete with inflation
2. government gets greedy the moment they see you as someone earning more than average. boom, income taxes, tax slabs, "pay for what we gave you when you were poor, bitch"- tax . its an unwanted monthly expense that you can't , much like the offerings old people would do to the village's goon.
3. tempting offers that shuts down the logical part of brain (or rather makes the part have orgasm).
- "dude , you wanna earn 250 bucks? buy 10 burgers worth 50 bucks each for 25bucks each, and you saved 250 bucks!" "but dude, i can have a whole meal for $2?" "but dude , you won't be saving anything" "🧐😐😶" (aka e commerce and other coupons/cashback companies)
- "dude, bet 1000 bucks on this 5 letter image. there is a good chance that other people will also bet their money on it and then your 1000 bucks worth of 5 petter image will be worth 1500 bucls" " but what if they doesn't? do i still get my 1000 bucls back" "nah , you get wjat the market price pf your share price is" (meanwhile someone whispering from the govt :" minus the capital gain tax") (aka shares and investment)
- "hey dude, the 1000 bucks you deposited with me for safekeeping, i am only going to give 2% interest per month from the previous 5% and will also add additional charges, therby giving you a 0$ profit." "WHY? " "because i can" (aka the banks)
so in short, the above avg person can see that in the long run, every service, every deal is going to cost him an approx 20-60% percentage of the income he would ideally be making , so he wants to earn more and more in order to have a good number in his savings for his initial tension of the future.
so from above average to ultra rich, everyone is just running to get a better deal , where oftentimes the other people involved in the deal are getting more than what our above avg guy is earning
plus after a time, these deals are no longer a pain for us, rather we start liking them because that was their goal from the start: to get people addicted to involved in complex cashback/cash delay/cash growth deals.
and this becomes the stereotype rich lifestyle : investing in shares, taking loans, giving taxes/trying to find loopholes in taxes by investing somewhere else, buying unnecessary stuff for the sake of offers and deals .
and in between this stereotype lifestyle (portreyed by everyone from above average to ultra rich), sone factors of boasting and showoff comes from peer pressure/osmosis and then we truly embrace this stereotype by buying extra costly stuff and showing it off.
remember, the original goal of the above average common man was just to fill their stomach both today and tomorrow. his crime? he worried about tomorrow too6 -
In order to be handsome, I tried to wash my face with handsoap.
So this is the only hands-on hand-job I got into. -
I did some online shopping on the weekend. And oh man, this retailer’s checkout had so many problems.
I placed an order for a 2022 edition of their magazine. My confirmation page lists the 2020 edition. I didn’t get a confirmation email and I’m sure my email was right.
I chat with customer service and they said my order was for their car buying guide. You bet my my response was what the fuck.3 -
Curious how devRant's "Top" (weekly) feed works? How are the posts sorted? ++ count? ++ count + comments? ++ and comments each have different weightage?
The posts seem to be in a haphazard order10 -
For a moment I thought I was living in a crazy world..
Then I realised I was..
Reference:
https://help.archive.org/hc/en-us/...
So.. let me get this right, a huge digital library of text, can only let one person at a time, look at a copy they have..
I can't for the moment, think of a more absurd thing !
I mean..
"You are number 1,392,293,943 in queue to read the book you have requested, estimated time for delivery is 134 years, 3 months, and 4 days, do you wish to continue waiting ?"
It's going back to the old days, when I'd order a book at the library, and wait 2 years to get to read it..
Your kidding me right !
No, I think this is real, and I guess one of the conditions for it being available online..
I did ponder this kind of crazy idea myself a few years ago, but everyone else said it would never work..
But I had in mind to have more than just one copy available for folk to view..
I mean, if you own 10 physical books, you can lend them out to 10 different people at once.
So, if you have 10 physical books, and one digital scan, then you should be able to lend out 10 digital scans at once right ?
That was the idea..13 -
So the company that asked me to join them for work in a somewhat illegal way, has just sent me a small project to understand how I think inside a project in order to understand whether they should hire me or not.
I have a week to finish that.
It's only frontend, in ReactJS+Tailwind, based on a theme/framework.
I fucking despise ReactJS and specifically told them I much rather work on Angular.
I feel like
I'll just do this project at best, give it to them, wait until they give me the contract and they tell them they'd need to double my pay to have my ass.
Yeah, I just want them to waste time, just like they're wasting my time. -
Few things hack me off more than devs who can't be bothered to do a task properly, so just submit some random crap as a PR that looks half correct at some surface level in the vague hope it gets approved.
This team is about creating decent, tested, reliable, resilient backend infrastructure, and we need to trust devs in order to do that. If you want to pull the half-arsed, do as little as possible and get paid as much as possible approach then sod off to higher management somewhere.1 -
I had to contact technical support for an API. I’m pretty sure I was emailing with a bot because I was getting all sorts of stupid replies.
Me: I’m using your SDK for language X. It’s returned null for some properties. In the user portal, I can see there are values for those properties for the transaction. I don’t know why I’m not receiving them on my end.
Tech Support: Hi! I see the following was sent in the API response. [Sends api response to me.] You can also go the the portal to see those values.
Me: Yeah, I know. You just repeated everything I wrote to you. I don’t want to go to the portal. I told you I want to figure out why your SDK doesn’t seem to map those properties correctly when I receive the api response.
TS: Let me look at the docs. I think you need to send the properties you want in your request in order to get them back in the reply from the api. Such as <property>value<property> in the xml message.
🤨 The docs do not say that. They don’t even imply that.
Me: What the fuck?! That makes absolutely no sense. We have already established that the api **is** returning values for those properties. I want to troubleshoot why your SDK is mapping them as NULL. -
I just experienced a new level of wut at my job. Web Engineering has a Google group email. This morning someone at work sent us an email about canceling a work order (and he didn’t know how to cancel it)…for a plumbing issue 😑Wrong engineering department, my dude. And you can cancel your work order by going to the request system where you submitted it or the email receipt of you request, which was certainly not to this Google group email. You have the work order number, so you must have an email somewhere about your request. And how’d he get this email?? I’m seriously wondering if this is a weird phishing attempt.2
-
My phone was stolen so that's why I wasn't getting here to rant about this, but today I had to make a back up and remembered.
adminer's export function doesn't export the tables in the correct order for import. Doesn't take foreign keys into account.
Dude, that's the whole point of a relational database, relations between tables; if you don't take that into account then what's the point?
Is this the same for the rest of database managers or is it just adminer? Please tell me this isn't normal.4 -
One of our senior colleagues in my last project at TCS had brought a pen drive with him, not sure why! He worked on a client system, which he believed was not monitored by TCS. So what he did was, he plugged in the pen drive in his computer and tried to copy some files from his pen drive to the computer. However, he wasn’t able to copy the files.
We weren’t aware of this until our project manager, who sits at the farthest end of the ODC shouted at the top of his voice, calling out his name. In front of the entire ODC, he was scolded since the HR team had called the manager informing that the machine assigned under this employee’s name has detected a security breach.
He had to explain the reason; where he said he wanted to copy some codes that he had to office machine in order to reduce his manual effort, which was probably very silly of him! For the next few days I hardly saw him inside the ODC, probably had to visit people to show cause or other things and was harrassed by our manager, insulted every time he passed by him.
He was not suspended although, maybe the manager or someone else saved him, although normally such violations would have seen him terminated.3 -
3 days before, I talked with the owner of a small LLP Company along with other devs on discord. He told those who met with some skills can join their company (basically game development). I asked if they need any blog website or kind of portfolio for such (because the existing one sucks so much). He replied in affirmation and wanted me to contact him on Ig with a project link. I did the same in order. Now, he replied that Wix suits them perfectly. I was like
WHAT THE FUCKING HELL I CAN DO ABOUT THAT, why did he not tell me before -
Zx81…loved typing machine code directly ..make sure you get those 1’s and 0’s in the right order else Whoosh and start again!
-
OOP question: Can someone fucking explain to me what does it mean to hide complex implementation behind an interface?
Also whats the point of using interfaces when you can define methods in an abstract class and just override them in subclasses in order to get class specific implementations?18 -
Can you recommend me some simple php+mysql based backend framework in order to build a simple rest api (with login, signup, scope data) ?6