Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "errors everywhere"
Is this the code life
Another scrum meeting
Caught in the the Node life
No escape from reality
Open your eyes
Look up to the screens and see..
I'm just a dev boy
Doing some debugging
Because there's warnings here
Anytime you distract
Takes another hour from me
Mama. Just committed a bug
Merge the branch to production
Did it fast for milestones
Mama. The repo has just begun
But now they going to throw the stack away.
Mama. U u u uu
Didn't mean to code in LAMP
But it's the only stack i know how to setup
In Ubuntu. Without docker
I really don't get vagrant
It's too late
My team is done
Some dev is working in Nepal
A UX dev. Now what is that?
I've got to go
Gotta leave this lame meeting
And face the truth
Oh nooooo. I i interns
(they have questions)
I want to debug
I don't want to stay till 3 in the morning
I see a litlle dev over there
Let's code review, let's code review
Did he do the last commit?
Coding in the white board
Very very frightening me
That's bug(that's a bug)
That's a bug (that's a bug)
What the f*ck did you do that?
I was just coding and nobody liked it
He was coding and nobody liked it, spare his some time to do his debugging
Easy man. Here go. Will you let me code?
A meeting. No,we will not let you code. ( let me code)
A meeting. we will not let you code. ( let me code)
A meeting. we will not let you code. ( let me code)
We will not let you code
Never never let you go
Never let you code, oh
No no no no no no no
Oh mama mia, mama mia ( dude, you've gotta let me code)
Screw you guys, I'm gonna code and commit. Commit. Comiiiiitt!
So you think you can review me and spit in my eye?
So you think you can dump me and erase my branch?
Oh baby, cant do this to me baby
I've just have to log out.
I've just have to log outta here
*epic guitar solo
Nothing really matters
The users will not care
Nothing really matters
Any way this code blows10
Okay, so get this..
1. I made a hacking simulator in Python2.7
2. I am relatively 6-8k lines in, ready to release EA ALPHA-1.0.0
3. I try to do a test build, and am flooded with errors.
4. I do research into the errors, and apparentally I coded my game in a way that makes it imposible to compile, and have to start over
5. Rages, Crys, and downloads this app.33
Spent most of the day debugging issues with a new release. Logging tool was saying we were getting HTTP 400’s and 500’s from the backend. Couldn’t figure it out.
Eventually found the backend sometimes sends down successful responses but with statusCode 500 for no reason what so ever. Got so annoyed ... but said the 400’s must be us so can’t blame them for everything.
Turns out backend also sometimes does the opposite. Sends down errors with HTTP 200’s. A junior app Dev was apparently so annoyed that backend wouldn’t fix it, that he wrote code to parse the response, if it contained an error, re-wrote the statusCode to 400 and then passed the response up to the next layer. He never documented it before he left.
Saving the best part for last. Backend says their code is fine, it must be one of the other layers (load balancers, proxies etc) managed by one of the other teams in the company ... we didn’t contact any of these teams, no no no, that would require effort. No we’ve just blamed them privately and that’s that.
After 3 hours of trying to implement a feature, I’ve moved from 10 errors to 7 errors!
At least I’m doing some progress, I guess... 🤷♂️6
When it's your job to fix the 15,000 errors picked up after suggesting to add ESLint to an existing project 😣9
1. Fucking MySQL database clusters.
There's nothing fun about MySQL clusters. Sometimes they start producing deadlock errors for no apparent reason... well, there's probably a reason, but it's never a transparent easy to find reason.
What was even less fun is that those errors took down a Sentry server. When your error log server goes down through ddos from your database messages, it's time to rethink your setup.
2. Wiring up a large factory with $2 arduino clones, each with a $2 esp8266 wifi chip, with various sensors for measuring flow of chemical solutions (I wanted cheap real time monitoring as an early warning system next to periodic sampling).
The scaling issue was getting over 500 streaming wifi signals to work in a 55c moist slightly corrosive atmosphere with concrete and steel everywhere, and getting it all into a single InfluxDB instance for analysis.12
That weird moment when you write a Python script and errors pop up everywhere, only after an hour of debugging (pulling hair out) to find that you started putting a semicolon at the end of each statement again.3
So I once had a job as a C# developer at a company that rewrote its legacy software in .Net after years of running VB3 code - the project had originally started in 1994 and ran on Windows 3.11.
As one of the only two guys in the team that actually knew VB I was eventually put in charge of bug for bug compatibility. Since our software did some financial estimations that were impossible to do without it (because they were not well defined), our clients didn't much care if the results were slightly wrong, as long as they were exactly compatible with the previous version - compatibility proved the results were correct.
This job mostly consisted of finding rounding errors caused by the old VB3 code, but that's not what I'm here to talk about today.
One day, after dealing with many smaller functions, I felt I was ready to finally tackle the most complicated function in our code. This was a beast of a function, called Calc, which was called from everywhere in the code, did a whole bunch of calculations, and returned a single number. It consisted of 500 or so lines of spaghetti.
This function had a very peculiar structure:
If SomeVariable Then
If Not SomeVariable Then
(the most important bit of calculation happened here)
But for some reason it actually worked. For days I tried to find out what's going on, where the SomeVariable was being changed or how the nesting indentation was actually wrong and didn't match the source, but to no avail. Eventually, though, after many days, I did find the answer.
SomeVariable = 1
Somehow, the makers of VB3 though it would be a good idea for Not X to be calculated as (-1 - X). So if a variable was not a boolean (-1 for True, 0 for False), both X and Not X could be truthy, non-zero values.
My colleague asked for some help with an issue. I went over and the app they are working on was like1
It is once again that time of year when we say farewell to our current interns and say hello to a brand new batch.
The two groups overlap for a few days. During this time the old interns show the new interns the ropes, while the mentors silently weep in the lunchroom having realized that nothing that they've said over the last 12 months has had any effect whatsoever.
Some choice quotes:
New Intern: It says 'uncaught exception'.
Old Intern: Oh don't worry that will fix itself on production.
OI: Did you pull the code?
NI: Yeah, but I have all these weird brackets everywhere... [merge conflict]
OI: Oh yeah that happens sometimes, just delete them.
NI: It says "push to master rejected". [we enforce code reviews]
OI: Ohh that means the server is broken. You should tell someone, they have to reboot it.
NI: Where did that file save to? [we use ONLY macOS and Linux]
OI: C:\Users\<your name>\My Documents\...
OI: You can use either pgAdmin or MySQL Workbench. I like Workbench better but I couldn't get it to work, it kept giving me errors.
And of course...
OI: No, we don't use Linux. We use CentOS.
I did the math today. Only 35 more years and I can retire.5
This rant affects me indirectly.
It was our diploma project, me, and DrugKidProgrammer.
He was lazy, late, and all the shit that comes with and used to party hard on weekend.
I told him that while on vacation he’d better fucking manage to get the backend done, or at least ready to debug.
Well, actually it was mixed.
When he came back he gave me the files he worked on (no version control at the time), and nothing was working, 500 errors everywhere. When I opened the files I found out String concaténations using ‘+’ and shit like this.
I spend 1 and a half day correcting this shit.
Fuck you mate.2
OutfofMemoryError thrown while trying to throw OutfofMemoryError; no stack trace available.
What the.... ????
*Writes code, doesn’t test* “Ah this works, I’ve done it before”
*Finishes project, runs test, errors everywhere* “FUCK!”
I do it on non-important projects... but I need to stop before I start doing it on important projects 😑2
Anyone else ever had to install Jekyll on Windows?
Man, what a displeasure the last four hours were. SSL errors everywhere because Ruby versions have differing SSL certificates for downloading gems or something, having to install the devkit three times, messing with Linux Subsystem and finding out the Ubuntu repos do not have a new enough Ruby version to support what you're doing.
All this to have some fun with GH pages. It's physically exhausting.2
1st week of doing proj: "hello there sexy, u are gonna one beautiful project. ill be doing all my best to finish you and you may actually one of my best projects."
after a month: "aaaaa ERRORS EVerywhere, tf is wrong with u. imma start another project if u dont start running properly like i planned"
after another month: *procrastinates while debugging* "yaass it works now, lets finish u baby"
takes some time to finish projects but if theyre really good, i usually finish them, especially when i am motivated and full of determination.2
Coworker#1: Our client's website is broken, there are 504 errors everywhere, and their customers aren't able to register accounts.
Coworker#2: Our machine that hosts everything won't start up.
How is your Friday going?5
Am I the only one who forgets to declare data types in Java after months of coding in only Ruby and Python? 😵1
One hour before demo.
clone,compile and run.
Most of the key module aren't working
I forgot to push final changes to git (after pulling an all nighter)
Xcode is pissing me off:
- Suddenly it starts force quitting every 2 minutes
- Every second time it doesn't know everything and only can autocomplete words that were already in the document
- Playground pages: Good idea, works horribly.
- when I use modules from CocoaPods the first time, I need to restart Xcode and the computer 5 times till I don't run into build errors
- it likes to just throw random errors everywhere and leaving you unable to build anything
- it only copies new files every second or third time into the project folder.
I'm really pissed. I just wanted to code...
> wanting to add an embed google maps to a website I'm working on for fun, with React
> Check the API documentation, excepted their iframe they create from your needs, not much info about how to set in a a js framework
> decide to check if anyone has already created something with React
> They did! 1 american dude, one polish, one last from idk where
> The rest is basic doc so let's try each of them
> Errors, errors everywhere
> Screens stays awefully white
> Spend 2 hours checking, checking and checking again each library
> Each of them have a different problem
> Fuck this, let's copy the iframe thingy from Google's doc, adapt 1 or 2 things because of React and run npm
> Google maps works on first try
Whoo, 4 days into my new project, and a lot of mess already happening all over the place, in short, everyone in here consisted of the human population that fill up the average (and below) margin on everything (especially their IQ, seriously, by the time I finished telling this story, you'll wonder how the hell are these guys able to finish uni, not to mention working in IT)
Okay so, backstory, I was cut off from my previous project (the product was finally launched, but only a handful developers are kept to maintain & do enhancements, why wasn't I included? That's a story for another time), and I was sent to a new (shitty) project, by the order of the (shitty) manager, in the same institute, but different division, whom tries to copy paste everything the golden child (my previous project) has been doing, technology, environment, work culture, etc
And I'm faced with another react native application (let's call it project N), in which the team leader was so proudly explained to me, that it got released way earlier than my previous project (let's refer to it project X) even though X started a long time before they have any plan for N, N was passed down from a vendor to the internal devs whom has very little knowledge of react native, and I was supposed to "help" them with it
Day one, I learned a new english term for this, sinecure, nothing done on the first day, just introductions, a long boring meeting and got assigned to the project N, I did skim through the source code for a while, at a glance it looks like a student's assignment done overnight, reminds me of the first website I made, and this is supposed to be an app that handles monetary transactions,
Day 2, still no task given, due to their "end of sprint" session, 4 days of not having anything to work on, I analyzed the code further, and yep, it's rubbish,
- first, the code convention is shit, based on the git log, only 2 guys were working on this and neither of them had any standards with their coding, spaces, semicolons, indentations, everything is a mess, folder & file names and their placement too, not to mention redundancy everywhere, nothing is reusable, this is the first time I saw a react application that keeps defining & creating new components on every pages, and no documentation at all
- second is, the warnings, I was in awe with the disappearance of yellow warnings in the app since I found a bunch of yellow box errors on the debugger console, then I checked the main app.js file and lo and behold
console.disableYellowBox = true
Whoooo, a new breakthrough in software debugging, you won't find any potential bugs if you hide the warnings altogether, fuck, not even any config to diferentiate debugging & release environments (my last project had one)
Well worse is that ALL of the components doesn't have any proptype checking (prop is something like an attribute that is inherited from parent component to child component, CMIIW), and this cause for some issues that already happened a bit later,
- third, but not last, the software is buggy as hell, not to mention the flow & logic is messy as fuck, who the hell put a splash screen as it's own navigation entity,
After opening the app, splash screen is showing, then redirect to login page, and if user pressed back button while on login page, they'll be stuck on the splash screen, unable to navigate anywhere
Then, later that evening, one of the PO suddenly came to me and said something about telling him if I had any issues/concerns, given the opportunity, I immediately pointed out the problems, only to add up to my dissapointment, the conversation went like this,
Me: I do have concerns, 3 of them at the moment (explained like above but with more polite words)
PO: really? Well, us from the product team doesn't really care for cleanliness as long as it works
Me: bla blah (explaining about current & potential bugs and maintainability)
PO: like I said it's not urgent, we have more important goals to achieve
Me: blah blah (up to you, but I insist that at least consider this matter)
PO: A foreigner made this you know?
*how the fuck is that information even relevant? Fucking victim mentality
Me: So? It's still rubbish (continue explaining the current bugs)
PO: do you know how much this project has cost?
*cool, now you want to justify this farce by overpricing it?
PO: this much (after googling, it's around 3 years worth of average salary for senior dev in US)
*well my previous project cost almost twenty times that
PO: bla blah (saying something like, And don't go introducing changes and new stuff too much, since you're the new guy, unless you want to be seen as a show off, you gotta mingle with the devs first and once you got in a friendlier term, then you can give your opinion)
I just nods and didn't continue the convo after that, but suddenly the PO reaffirms
PO: OKAY? (in a tone like "capische?")
Okay, I'll consider that as a warning,
To be continued...
Going to develop a electron desktop..
saddest part: doesn't even install on my machine.. don't know why... errors errors everywhere 😢😢
npm install -g electron8
Still supporting the “production deployment”,
Unknown Errors everywhere,
API url not responding,
No finish line in sight,
I’ll doze off for a while,
So the class I TA is learning how to use heroku for website testing. It is going up on fire because of a shit tonne of errors everywhere. The professor is adamant heroku is what is used nowadays for testing (over using FTP) so we will have to help 200+ people troubleshoot without knowing much ourselves.
My question is what are some other modern website testing mechanisms? Preferably some that have retard proofing in them.3
Got a small college assignment based on Java and Cassandra(database). The database shell was running fine. Spent 5 days removing the random java exceptions and working on the basic connectivity, searched everywhere on Stack overflow and other forums for solutions and still no help.
So, I decided to write a program that would print only the output as I knew what would be the output when it will run. Took a screenshot of it and made up a cover story to tell my professor that I did it on a friend's computer.
But while I was taking a screenshot of the Eclipse with code window and output window, some random syntax errors popped up.(but they weren't syntax error).
So I created a new project and copied the pom.xml file and the code into the new one(I tried this one before and it didn't work). And there were no errors. So I took a screenshot of it with output of different file and opened a different file.
But then, don't know what came across my mind and I clicked on run just to see if this works, and it worked fine. And now I'm like.. WTF JUST HAPPENED!!
This one is easy: Visual Studio!
More time than I'd like it suddenly stops working properly. For example, without changing anything, it starts to show errors on the code that worked before, or says that included libraries aren't included or are missing and showing errors everywhere. When working with the Win32 API it was a hassle to work with resources. When working in .NET I didn't have a pleasant experience either.
However, most times, all I had to do to get VS magically (exactly the same code) working properly again was to close it and open it again (or reboot the computer).
I had a couple of University projects delayed because of VS 😡
But VS has it's advantages and cool (working) features...1
Fun times with postscript:
I have two EPS files that are generated by a program.
In there there is the postscript describing the file (~6000 lines) and then the preview image as TIFF. Each ps and TIFF image on its own renders correctly and looks good.
Now the fun part: The ps in combination with one of the images works, with the other image it doesn't. Somehow the ps-renderer tries to interpret the TIFF-data, which yields nonsense and the renderer stops altogether. But only for one file not for the other. And it's definitely not the ps, because if I switch the preview images the other file doesn't work.1
About to submit a form to get a scholarship to a government website, and guess what. Errors everywhere. Why are they like this? These government websites are also known to be very vulnerable to hackers3
Been working on an Android app for some time. Silly me too lazy to use VCS. Anyway, one day android studio just could not build my project and errors that should not be errors popped up everywhere and nothing I did fixed the problem. Somehow my project got corrupted. 3 hours later of googling and trying to recover my project I had to resort to creating a new project and manually port the old files in one by one :( but all I have to say is WHAT THE FUCK ANDROID STUDIO3
I HATE VPN SETUP
- Trying OpenSwan
Installing open swan on a Debian machine.. setting up the config.
Restarting openswan. Syntax error. No syntax error to be found.
Different tutorial.. it starts! Try to connect.. I can’t connect. Look at the logs. No errors.
Tcpdump. My traffic is coming through.. all fine.. try to connect again.. it works! (Nothing changed!)
Try to ping somewhere else.. no connectivity.
Try to ping an IP in the same network.. works fine. So I have connectivity, just no internet.
Spend an hour finding out about traffic directions of which no one seems to know what they really mean.
Boss tells me to stop using openswan because it’s deprecated and replaced by strong swan..
Reinstall Debian machine, install strongswan. Copy openswan config. Oh, they’re incompatible? Look up strong swan config, and the service starts.
Connect to the VPN.. it works! Again, no internet, just connectivity in the same network. Spend 2h debugging the config, disable firewalls everywhere, find an ancient bug in the Debian package related to my issues.. ok, let’s try compiling from source.. you know what, let’s not. I’ll throw this Debian machine away and try something completely different.
Ok, this looks easy enough! Let’s just click through the initial setup, change some firewall rules, create an L2TP VPN with a simple wizard.
Try to connect to VPN. First, it times out. Maybe a firewall issue? Turn off firewall.. ah, something happens now. I get an error message right after trying to connect to the VPN. Hmm, the port doesn’t even get opened when I enable the firewall.. this implementation seems a bit buggy.. let’s try their OpenVPN module.
Configure OpenVPN. Documentation isn’t that clear.. apparently a client isn’t actually a client but a user is a client.. ok, there’s a hidden checkbox somewhere.
Now where do I download my certificate? Oh, I need a plug-in for that.. ok, interesting. Able to download the certificate, import it, connect and.. YES!!! I can ping! But, I have no DNS..
Apparently, ICMP isn’t getting filtered but all outbound ports are.. yet the firewall is completely disabled. Maybe I need outbound NAT? Oh. There’s no clear documentation on where to configure it. Find some ancient doc, set it up, still no outbound connectivity.
Then I tried VyOS. I had a great L2TP VPN working in less than 15 mins. Thank you VyOS for actually providing proper docs and proper software.3
Today I was revisiting my first ever WPF project made, turns out that a baboon could have written better code than this.
The project literally has messages going everywhere to every viewmodel even if it's not supposed to.
I'll spare the details, but let's just say I'd rather jump in a mountain of needles than try to add a feature in this mess.
So I am now refactoring without my bosses permission since I am the only one in this company able to work with WPF and I still have enough time for a simple refactor.
Already on about 200 errors by just changing a few lines of code because everything inherits everything.
nothing new, just another rant about php...
php, PHP, Php, whatever is written, wherever is piled, I hate this thing, in every stack.
stuff that works only according how php itself is compiled, globals superglobals and turbo-globals everywhere, == is not transitive, comparisons are non-deterministic, ?: is freaking left associative, utility functions that returns sometimes -1, sometimes null, sometimes are void, each with different style of usage and naming, lowercase/under_score/camelCase/PascalCase, numbers are 32bit on 32bit cpus and 64bit on 64bit cpus, a ton of silent failing stuff that doesn't warn you, references are actually aliases, nothing has a determined type except references, abuse of mega-global static vars and funcs, you can cast to int in a language where int doesn't even exists, 25236 ways to import/require/include for every different subcase, @ operator, :: parsed to T_PAAMAYIM_NEKUDOTAYIM for no reason in stack traces, you don't know who can throw stuff, fatal errors are sometimes catchable according to nobody knows, closed-over vars are passed as functions unless you use &, functions calls that don't match args signature don't fail, classes are not object and you can refer them only by string name, builtin underlying types cannot be wrapped, subclasses can't override parents' private methods, no overload for equality or ordering, -1 is a valid index for array and doesn't fail, funcs are not data nor objects when clojures instead are objects, there's no way to distinguish between a random string and a function 'reference', php.ini, documentation with comments and flame wars on the side, becomes case sensitive/insensitive according to the filesystem when line break instead is determined according to php.ini, it's freaking sloooooow...
enough. i'm tired of this crap.
it's almost weekend! 🍻2
I ranted about my new laptop and linux mint on it https://devrant.com/rants/1919501 and I said there will be a rant about the OSs I tried
So my new laptop is the Xiaomi notebook pro, with the highest config: i7/16g/256g/mx150 gpu/alu body/10h battery/perfect keyboard/great screen. Its Chinese, but Xiaomi... you kinda expect flaws, problems, but i watched all the reviews and knew about all the things, and the price was 35% down (836 + taxes = 997EUR) for a macbook pro clone? its a no brainer.. but i had a rattling vent (fixed with shoe glue lol) now its just loud in windows but not in linux, strange
I changed the Chinese windows on it to EN... worked perfect... but... It has 2 slots for NVMe ssd so i bought a 500gb one for the second slot, I put windows on that (because games, occasional insta story video edit, big files, anyway...) and put Ubuntu on the 256gb original ssd.. (to develop on that) and it was slow as fuck, I got errors all over the places, problems I never had before with ubuntu.. and mind you Windows had over 3000 MB/s for read and almost 2000 MB/s for write speeds on that disk... I was disappointed af. MIND YOU all my life I had Ubuntu on secondary old/slow laptops/pcs working JUST FINE... I still don't know what the fuck happened.. the ui was choppy to say the least and I just was not ready to accept that on this HW while windows worked like a charm (yuck)
Then I went with Manjaro (based on arch, here on devrant people like that stuff, must be great)... well after I installed it, it booted up to the login page and black screen... something with the MX150 GPU according to the interwebs... by this time I was so frustrated and in time stress because of my flight home for xmas that I decided not to fix Manjaro but to go with another flavour
Linux Mint it is... everything kinda works out of the box, like they say... it has dark mode everywhere in the settings without downloading some bloated theme or plugin like on other flavours. So I sticked with Linux Mint. Im not saying its perfect, but I have it for like a month now and all its flaws are these small irrelevant settings not working, utilities like the battery showing funny numbers in the post I linked in the beginning.
Other than this I want to ask you guys. In all 3 distros I tried, they all had text scaling issues everywhere (os, apps, web). I think I have a regular fullHD display, its sharp, but I mean... I never expected resolution or scaling issues or things like that. On Windows I never had those scaling issues... other than the famous win10 "blurry apps"3
Having not touched my cordova/phonegap project for so long, so many updates... removing and adding of plugins... Ohhh the pain! Errors, errors everywhere!1
One of the worst practices in programming is misusing exceptions to send messages.
This from the node manual for example:
> fsPromises.access(path[, mode])
> fsPromises.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK)
> .then(() => console.log('can access'))
> .catch(() => console.error('cannot access'));
I keep seeing people doing this and it's exceptionally bad API design, excusing the pun.
This spec makes assumptions that not being able to access something is an error condition.
This is a mistaken assumption. It should return either true or false unless a genuine IO exception occurred.
It's using an exception to return a result. This is commonly seen with booleans and things that may or may not exist (using an exception instead of null or undefined).
If it returned a boolean then it would be up to me whether or not to throw an exception. They could also add a wrapper such as requireAccess for consistent error exceptions.
If I want to check that a file isn't accessible, for example for security then I need to wrap what would be a simple if statement with try catch all over the place. If I turn on my debugger and try to track any throw exception then they are false positives everywhere.
If I want to check ten files and only fail if none of them are accessible then again this function isn't suited.
I see this everywhere although it coming from a major library is a bit sad.
This may be because the underlying libraries are C which is a bit funky with error handling, there's at least a reason to sometimes squash errors and results together (IE, optimisation). I suspect the exception is being used because under the hood error codes are also used and it's trying to use throwing an exception to give the different codes but doesn't exist and bad permissions might not be an error condition or one requiring an exception.
Yet this is still the bane of my existence. Bad error handling everywhere including the other way around (things that should always be errors being warnings), in legacy code it's horrendous.4
So the company is launching this massive new project, I'm tasked with building a dashboard to track the performances of the whole thing in near real-time.
90% if the data comes from this one somewhat rubbish API (3rd-party).
I'm given plenty of time to build this, everything runs fine prior to the launch, manager happy.
Launch day, happening exactly at midnight.
I go and check my dashboard 5 min past the hour, all excited.
Errors, errors everywhere. "What is going on?" I exclaimed. #datHeartAttack
Took me a fair amount of time to figure out the issue.
Due to the time difference I was technically requesting the 3rd party servers for "tomorrow's data," and that instead of handling that in some sensible manner, the API just threw a "wrong fucking date error."
I mean, we're paying additional money, good money, for this API.
Image implementing angular universal which for it self is quite painful... Timeinvestment 8hours
Testing local 12 hours by the team
.. deploying to Google app engine because we need a nodejs server and we do don't have one yet ... Server crashing 24/7 with random errors most are memory related spend 3 days almost rewriting everything ... trying to find the memory leak
Then when I was about to give up stumble over a GitHub issue where someone is saying something about tiers on app engine.
Me going wtf there are tiers everywhere it just says automatically scaling instances ...
Googling .. setting to highest tier .. app works. Apparently I was in lowest tier which only has 156 MB ram app needs 150- 250 MB. Me now crying in corner about my wasted 4 days.