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 - "returning"
-
ERRORs are red,
INFOs are blue.
My logs look pretty,
But not as pretty as-
Wait, hold on. Why are there ERRORs in here?
Why is the homepage returning a 5- oh crap.
Can you just... Can you give me a minute?12 -
About 10 years ago my wife and I were buying a house. We found out late that we needed a lot more cash than we had previously thought we needed, and the deadline to deliver it was just a few days away. After returning home from my full-time gig at about 6pm, I took a break for a bit and then worked all night on a job for a client to make up the extra money. When 7am rolled around I had just finished up. Then I went back to work at my full-time job, and later met with the client to present my work. It was roughly 27 hours at a keyboard for me. That effort made it possible for us to successfully buy our first home. If you want something badly enough, make it happen!7
-
That sad sad moment you spot someone returning HTML in an ajax request 🥺
Why lord must you punish me?11 -
At the beginning of an interview...
HR girl: You know, that position you applied is already taken but I found some similar in our company.
Me: Uhm, ok?
HRG: What about this one? It's some programming... *pointing at some IT position regarding db maintenance* Do you want to try that?
Me: Sure, why not.
I was applying to student position at embedded firmware development at the time. I did some school project with MySQL but it was few years back and I happily forgot most about it.
Anyway, story continues.
IT manager: Hi, I heard you want to join our lines.
Me: That is what I heard as well.
IT: Eh?
Me: I came for completely different position actually.
IT: Uhm, ok. We have standardised test, let's see what you can do.
It was some basic stuff for db guys but I was totally lost. I was done after 3 minutes returning nearly blank paper.
We shaked hands, both agreed this is not well fit for me and I went away.
After this botched attempt HR girl remembered that there is another team looking for embedded developer students. I was accepted.
Corporates are marvelous.3 -
"Coding is solving puzzles".
I think everyone has heard that platitude. But it's not exactly right.
So I grew up in a very poor environment, a moldy building full of jobless addicts.
And in my town there was this shop where super poor parents could take their kids to borrow free toys and stuff.
So as a kid I remember being frustrated by these second hand jigsaw puzzles, because there were always a few pieces which had been teared up or chewed on, or were even completely missing.
That is what development is.
You pull in this seemingly awesome composer package, and that one super useful method is declared private, so you need to fork the whole thing.
Your coworker has built this great microservice in python, but instead of returning 404 not found, it returns 200 with json key/value saying "error": "not found".
There's a shitload of nicely designed templates for the company website, but half of them have container divs inside the components, the other half expect to be wrapped in container divs when included.
You're solving puzzles, but your peers are all brainless jigsaw-piece-chewers. They tried to mend a problem, but half way through got distracted, hungry and angry, started drooling over the task and used a hammer to fit in the remaining stuff.11 -
/*
It's a pretty long rant. Hope you didn't get bored :P
*/
So I have this friend of mine who has learnt Python at good level (that's what he says) and is with me in all classes in college. I have worked with C, C++, C# and Java only and hated Python when it was taught (wk44).
So the following happened in the last 2 weeks:
Once he wrote a Python function in terminal just returning a hard coded string (lame right) and will show me how cool is it and that it is sooo much easier.
Whenever we do a mini project together he will force that we use Python. Even in Image processing when everyone is ready to work on Matlab, he insists that Python would be a better option.
We asked that this XYZ is very easy to implement on Matlab.
We then had to listen about the large and great community of Python and that it has Libraries for everything and that it is the greatest programming language ever.
One day he saw my C# project for DFA and NFA simulation which was the greatest project I have "completed" myself, and went like "Hmph, if I was you, I would use python and make a more "professional" code" (then went on arguing as always)
This happened today in Networking lab-
(Sockets was taught and we are expected to learn its programming aspects)
All students: Open linuxhowtos.org and start reading on socket programming
He : Opens some websites and downloads books on Networking with Python or someting
Now while I am reading the documentation of sockets and bind, he opens spider IDE, copy-paste the code in the book and start bugging ME that he is getting all these errors like literally showing me those errors and whining about all those problems.
Me: We are supposed to learn this in C. Here take a look at this link.
HE: No I'll use Python cuz it is better than your C. It has libraries for everything and is much easier.
Me: Alright whatever I am fed up, do whatever you want11 -
So pm2 (a node process manager package on npm) just caused thousands of CI builds to fail because of an "optionalDependency" on a package called gkt which is requested as a tarball from a server that was returning 503. That package consists of one file which contains this16
-
This is not a joke. This is not something I wrote to be funny. This is not found randomly off the internet. This is a real part of the project I inherited: a function that not only is more cumbersome to use than the simple <Array>.contains that it wraps, but rather than returning the boolean result from the function, sends it through an if statement and returns hardcoded true and false values for... Good luck? I guess?47
-
So a coworker wrote this -- a function that returns a view if a specific object exists in the database. Now what would happen said object doesn't exist in the database? Forget about returning false and handling it properly, he decides that the function should print (echo) a zero! Not to mention almost all his if-else blocks prints a fucking zero when the if condition is false (there are 8 of them, if you're asking). Error messages? The hell with those.
He is now the PM btw. I've had enough of this shithole.14 -
Fullstack dev: Hey I need your help with one of this method in the service layer (We use Java).
Me: Sure. What’s up!
Fullstack dev: When you get a user ....blah blah blah...
Me (typing code):
if (user != null) { ... }
Fullstack dev: Wait! This won’t work. You need to write this:
if (null != user) { ... }
In Java, you write like this. In JS it’ll work, not in Java.
Me: (also fuck this guy)
He’s among the famous devs in the company - (A very very very famous European bank).
I checked his commits for the frontend (React Native)
switch (some_expr) {
case foo:
return stuff()
break // <— note this
case bar:
return moreStuff()
break // <— note this
// more cases here with break after return statements
}
Me: Hey if you’re returning from a case why are you using a break. It’s dead code.
Fullstack dev: It’ll fall through otherwise.
———————
You’re a fucking dunce! Please drink a litre of Carborane in a rusty HIV infested container! Cheers!
PS More to come!33 -
Someone on a C++ learning and help discord wanted to know why the following was causing issues.
char * get_some_data() {
char buffer[1000];
init_buffer(&buffer[0]);
return &buffer[0];
}
I told them they were returning a pointer to a stack allocated memory region. They were confused, didn't know what I was talking about.
I pointed them to two pretty decently written and succinct articles, the first about stack vs. heap, and the second describing the theory of ownership and lifetimes. I instructed to give them a read, and to try to understand them as best as possible, and to ping me with any questions. Then I promised to explain their exact issue.
Silence for maybe five minutes. They disregard the articles, post other code saying "maybe it's because of this...". I quickly pointed them back at their original code (the above) and said this is 100% an issue you're facing. "Have you read the articles?"
"Nope" they said, "I just skimmed through them, can you tell me what's wrong with my code?"
Someone else chimed in and said "you need to just use malloc()." In a C++ room, no less.
I said "@OtherGuy please don't blindly instruct people to allocate memory on the heap if they do not understand what the heap is. They need to understand the concepts and the problems before learning how C++ approaches the solution."
I was quickly PM'd by one of the server's mods and told that I was being unhelpful and that I needed to reconsider my tone.
Fuck this industry. I'm getting so sick of it.26 -
The exact moment when I understood what programming actually was.
I was getting hard times at my 3rd college grade, trying to implement the recursive sudoku solver in python. Teacher spent a lot of time trying to explain me things like referential transparency, recursion and returning the new value instead of modifying the old one and everything related. I just couldn't get it.
I was one of the least productive students, i couldn't even understand merge sort.
I was struggling with for loops and indexes, and then suddenly something clicked in my head, like someone flipped a switch, and i understood everything i was explained, all at once. It was like enlightenment, like pure magic.
I had sudoku solver implemented by the end of the lecture. Linked list, hash map, sets, social graphs, i got all of these implemented later, it wasn't a problem anymore. I later got an A for my diploma.
Thank you @dementiy, you were the reason for my career to blast off.7 -
So my ethernet randomly stopped working on Arch.
At first I thought it had to do with a conflict between it and my tethered phone, so I tried removing all my connections. Still wasn't working.
Next I tried to test the driver itself and make sure it loaded on boot. It loaded, but was disconnected.
Next I decided "fuck it, I know I was just using the internet on Windows, but I'll check the ethernet cable is still plugged in anyway". It was, and it was returning the right MAC address, but still no connection.
So I try debugging the driver further. Everything seemed fine, except it would time out trying to establish a dhcp connection.
Finally I figured, maybe Microsoft tried to troll me and lock out the ethernet waking on boot. So I restart my computer, load into windows and check my ethernet driver, it seems fine. I go to disable the shutdown of the card on OS shutdown. Turns out this driver no longer has that capability.
Wait a minute!? Windows is also having connection issues!?
I look to my left.
Fuck my life...
My router was off... I must of kicked the powerboard under my desk..........2 -
Would you like to smile for 10 seconds? Read this short story:
*Story begins*
During World War II, numerous fighter planes were getting hit by anti-aircraft guns. Air Force officers wanted to add some protective armour/shield to the planes.
The question was "where"?
The planes could only support few more kilos of weight. Mathematicians were called for a short consulting project.
Fighter planes returning from missions were analysed for bullet holes per square foot.
They found 1.93 bullet holes/sq. foot near the tail of planes whereas only 1.11 bullet holes/sq. foot close to the engine.
The officers thought that since the tail portion had the greatest density of bullets, it would be the logical location for putting an anti-bullet shield.
A mathematician said exactly the opposite; more protection is needed where the bullet holes aren't - that is -around the engines.
His judgement surprised everyone. He said "He said We are counting the planes that returned from a mission. Planes with lots of bullet holes in the engine did not return at all".
Moral: Not everything that counts can be counted, and not everything that can be counted, counts.
Source: From the book -
"How Not To Be Wrong", by Jordan Ellenberg.4 -
Some days I feel like I work in a different universe.
Last night our alerting system sent out a dept. wide email regarding a high number of errors coming from the web site.
Email shows the number of errors and a summary of the error messages.
Ex. 60 errors
59 Object reference not set to an instance of an object
1 The remote server returned an unexpected response: (413) Request Entity Too Large
Web team responds to the email..
"Order processing team's service is returning a 413 error. I'll fill out a corrective action ticket in the morning to address that error in their service. "
Those tickets are taken pretty seriously by upper mgmt, so I thought someone on the order processing team would point out the 1 error vs. 59 (coming from the web team's code).
Two hours go by, nobody responds, so I decide to jump into something that was none of my business.
"Am I missing something? Can everyone see the 59 null reference exceptions? The 413 exception only occurred once. It was the null reference exceptions that triggered the alert. Looking back at the logs, the site has been bleeding null reference exceptions for hours. Not enough for an alert, but there appears to be a bug that needs to be looked into."
After a dept. managers meeting this morning:
MyBoss: "Whoa..you kicked the hornets nest with your response last night."
Me: "Good. What happened?"
<Dan dept VP, Jake web dept mgr>
MyBoss: "Dan asked Jake if they were going to fix the null reference exceptions and Jake got pissed. Said the null reference errors were caused by the 413 error."
Me: "How does he know that? They don't log any stack traces. I don't think those two systems don't even talk to one another."
<boss laughs>
MyBoss:"That's what Dan asked!..oh..then Jake started in on the alert thresholds were too low, and we need to look into fixing your alerting code."
Me: "What!? Good Lord, tell me you chimed in."
MyBoss: "Didn't have to. Dan starting laughing and said there better be a ticket submitted on their service within the next hour. Then Jake walked out of the meeting. Oh boy, he was pissed."
Me: "I don't understand how they operate over there. It's a different universe.
MyBoss: "Since the alert was for their system, nobody looked at the details. I know I didn't. If you didn't respond pointing out the real problem, they would have passed the buck to the other team and wasted hours chasing a non-existent problem. Now they have to take resources away from their main project and answer to the VP for the delay. I'm sure they are prefixing your name right now with 'that asshole'"
Me: "Not the first, won't be the last."2 -
That awkward moment when you realize the code you have been debugging for an hour actually works fine and updating the entire dataset. You've just been returning only the top 1000 rows.2
-
*programming on some project*
*some function returning NaN*
*debugging for an hour with no different result*
*reverts to moment where the NaN came up first*
*works as if nothing ever happened*
WHAT THE ACTUAL MOTHERFUCKING FUCK.5 -
Coworker: I give up! Please help me!
Me: What's up?
C: Take a look at this. I have this function here that gets the tab index and I'm passing it to the Tabs component over there. I'm logging the index and as you can see it's 3, but the Tabs component isn't working. However if I replace the function call with a 3 it works!
Coworker 2: While you were explaining all that, shellbug already thought about at least 3 reasons why that isn't working.
Me: **sighs** Of what type is the value that function is returning?
C: **stares at me for a few seconds** It's a number.
Me: Are you sure?
C: Well, it's returning 3.
Me: Please do a typeof.
It was string.8 -
Returning back to use Java after 1.5 years to write an Android application.. after 4 attempts I finally successfully checked the version of java
> java -version
:facepalm:2 -
Dev checked in code (I suspect purposely not inviting me on the code review invite) saying he "fixed" the authentication bug in the web service.
Um no, like I told you last week, the authentication error is because the load balancer wasn't passing the user's authentication to IIS.
If I didn't overhear him telling a user "Still getting the error? I don't know, we might have to re-write that service", he might have gotten away with it.
Me: "Wait, that doesn't sound right. If I hit the server directly, authentication works. Its an issue with the load balancer, not the service"
Dev: "Admin said the load balancer is fine and it has to be the service."
Me: "I don't buy it. IIS is returning the authentication error, not the service."
Dev: "I added exception handling and nothing is being logged. Must be something in the service configuration."
Me: "No, IIS performs the authentication, not the service. I explained that last week, remember?"
Dev: "Oh yea. What changes do we need to make to the service?"
<my blood pressure starts to spike>
Me: "None. Give me a sec.."
<we have other apps on the same server farm that work just fine, so I re-configure the service pool settings to match theirs>
Me: "See, now going through the load balancer, the service works fine. For some reason, the admin had our service set up differently."
Dev: "OK, I'll let the users know the service is fixed."
Me: "Service was never broke and I'm not leaving it in its current state. In the morning I'll talk to the admin and see what he can do to fix."6 -
Series of events between me (Mi) and dude in office (DIO).
Instance 1
DIO: There is not psql installed on staging.
Mi: Install it.
DIO: YUM is not working.
Mi: *tries yum it works* It is
DIO: Oh. Didn't work earlier.
Mi: *blank* Make sure you install 9.6
DIO: Cannot find psql
Mi: *types psql, it is already installed*
DIO: Oh, didn't work earlier.
Instance 2
DIO: Made this change to the API, the endpoint is not returning the right value
Mi: *restarts server, shit starts working*
DIO: I am pretty sure I did that, don't know what happened.
Instance 3
DIO: Cannot alter role to give login to this db user.
MI: *runs alter role db_user with login* works
DIO: Don't know why it wasn't working before.
Instance 4
DIO: I have been stuck on this test for the past 1 day, cannot get the API to return the right data while the Rest Endpoint works fine.
Mi: You are hitting the wrong endpoint in the test.
DIO: Oh, I put an extra 's'
Mi: BTW you are testing Spring-Boot with that test and nothing else.
DIO: Yes but what if Spring Boot has a bug?
Mi: ok.7 -
Life of a junior self-taught dev with a sysadmin job:
1)At work, desperately try to script and automate every task, even when it isn't nessecary.
2)Learn dev skills from tutorials and web courses at every minute of your free time.
3)When returning home get self-guilt because you're procrastinating instead of doing an all-night development like your dev friends
4)The only productive thing you do is more tutorials and courses because you feel your dev skills aren't high enough for a self project
Frustrated.13 -
What's the point of using a framework if you don't use any of its features!? What the heck, I have to fix this damn web frontend that is so broken in many ways.
Instead of using an authentication middleware, every single view has the same block of code to check if a user is authenticated. Instead of templates, they used static HTML/JavaScript files and they passed data to pages through cookies.
The "REST" API is so messed up, nothing is resource-oriented, HTTP methods are chosen randomly as well as status codes. They are returning "412 Precondition Failed" instead of a plain simple "401 Unauthorized" when you're not authenticated! What the hell, did they even bother to check what 412 is about when they copied and pasted it from a crappy website!? I would never come up with 412, not even in my scariest nightmare.
What kind of drugs were they using when they wrote such code? Oh dear, I need a vacation...2 -
!rant
I just switched jobs, so there are no vacation days for me, besides the usual.
PM: "Are you returning for work on January 2nd?"
Me: "Yeah, but I'm kinda new at the company here, so I'll be available 26-28 if you want to reach me"
PM: "Screw those days. Nobody will be here anyways, you can take those off for me."
Me: "(cries in Spanish)"5 -
When I was in school I had some guys walk up to me and asked:
G: Are you Feeno?
Me: Yes, what's up?
G: We need our FY project on school management system done.
Me: Okay?
G: How much will that cost us?
Me: *confused because I was still a freshman. At that point the only programming language I knew was elementary qbasic. I couldn't even write a hello world program without the help of Google*
So played along because yes we're talking about money here.
Me: It will cost you guys N amount of money (*improvised deep voice*).
G: Okay. Fair price.
* Right there they transferred half the requested amount to me. *
Holy moly! This guys aren't joking around. I don't know shit! They clearly mistook me for a senior student whose first name is Feeno, to me that was a nick referred to me by my friends.
I'm in this one for sure and it's a do or die transaction cus I'm returning no fucking money. I told my friends what had happened and they insisted I return back the money to the students and admit I can't deliver the project they were requesting.
Fuck all of yah! I'm keeping this money. Same afternoon I visited the school library with the intension of writing the code using the help of YouTube tutorials. I didn't find anything useful for qbasic as I thought I could write a full fledged school management system using qbasic.
I was lucky enough to find an existing source code on Codeproject, God bless that Indian guy. The source was in PHP and the tutor gave a step by step guide to setup XAMP and MySQL. I really don't know PHP but I guess source code modification is a natural skill to all programmers as I was able to modify the code to meet the requirements of the students (i.e school name, logo and other minor changes).
Most of what I learnt in programming came from modifying the source of that project. I learnt how to connect a PHP source to a MySQL database, I learnt about functions and their usage, I learnt the basics of HTML, I really learnt a lot and I would say that the speed at which I learnt was proportional to the amount of pressure I received to deliver.
That was how my journey as a full stack developer started. By chance maybe.2 -
!drunk (yet)
It's whiskey and code tonight!
(Whiskey because I couldn't get to my rum. annoyed face.)
Why? Because rum is so much better. duh.
More seriously: My boss has thrown me every single one his current tasks and is refusing to answer simple questions about them, such as "oh, so you already know about this bug; what's the cause?" or "how do i test this once i've fixed it?" or "where the fuck are you?"
and I'm also getting lots of bugs from other people. They're all basically categorized "urgent, please fix immediately" but should instead be categorized "super-boring and not-at-all-important, and should get fixed on the off chance you happen to remember it next year". That's the best category of bug.
I just gave up on fixing a Rails pluralize bug which fits into the aforementioned category quite nicely. It's returning "2x round of golves" -- which is hilarious and I might leave it in just for the amusement. But now it's back to fighting with ActionCable! Everything has been getting in the way of me finishing that. I'm about to start biting.
Speaking of ActionCable, it turns out my code wasn't wrong after all (have I said that yet?). Since the official documentation and examples suck, I've been digging through the (generated) javascript source and working my way backwards to learn how to use it. I cleaned up my code a little, but it was still correct. The reason nothing is working correctly is that API Guy gave me broken code. ...Again! Go figure. So I'll be rewriting that today. or tomorrow. (Whiskey, remember?)
I also have some lovely netcode to debug and fix. So totally not looking forward to that. The responses are less bloody reliable than my boss's code ffs. *grumble grumble*6 -
Senior colleagues insisting on ALWAYS returning HTTP status 200 and sticking any error codes in the contained JSON response instead of using 4×× or 5×× statuses.
Bad input? Failed connections? Missing authorization? Doesn't matter, you get an OK. Wanna know if the request actually succeeded? Fuck you, parse potential kilobytes of JSON to get to the error code!
Am I the asshole or is that defeating the purpose of a status code?!14 -
I kid you not, one of my designer friends dipped his toes into coding, he ran into a problem...
Wondered why the following function wasn't returning a random number...
public Int getRandomNumber(){
return 4;
}
#facePalm #stickToDesigning7 -
Apparently `= NULL` is not a thing in mysql, instead you have to use `IS NULL`... Took me a while to figure out why the fuck my query wasn't returning any results.8
-
Summary: Burnout, and everything's broken.
I don't feel like doing a damn thing today. I look at the code and cringe. I look at Slack and think "ugh. i can't." Mental capitals are even too much work.
(I've started reading "Zen and the Art of Motorcycle Maintenance" to try and combat burnout. I'll write a rant/story about it here if I find it helpful. but all I want to do today is drink tea and read.)
But onto the story:
Heroku is deprecating support for and will automatically upgrade any old verisons of Postgres running on its platform after August something (like five days from now).
I performed the upgrade to PG10 on Sunday (and late into the night), provisioning a new follower, blah blah blah.
However, the version of Rails we're using (4.2.x) doesn't support PG10 sequences, so I manually added in support via a monkeypatch. I did this on our QA servers first, obviously, and everything worked as expected. After half a day of no issues, I did the same on production, and again: everything worked as expected.
But today? I keep hearing about new things that are broken. One specific type of alert doesn't work for one specific person (wat). Can't send [redacted] at all. Can't update merchants! Yet there are magically no errors logged.
That last one (well, two) are just great; let me explain: when there's an error concerning merchants, the error gets caught, isn't logged or recorded anywhere so it just disappears, and the rescue block triggers a json response instead and happily exits. This is for an internal admin tool, so returning a user-friendly error is kinda stupid anyway, but masking what actually happened? fuck that dev with an obelisk made from spikes and solidified pain. That json response is also lovely: it's a 200 OK returning {status: 1, data: "[generic message containing incorrect IT jargon]"}. Doesn't even say "error" anywhere. Bloody everything about this pattern is absolutely wrong. Even the friggin' text.
Fucking hell. I want to pipe the entire codebase into shred and walk out the door.
But I digress. So many things are broken, my motivation is wanning to a sliver, and I have a conference call today where I'll undoubtedly be asked why everything is on smoking and/or on fire, and my huge and overly productive week last week will ofc mean nothing by contrast.
Ugh.
`shred ~/dev/work -zfu -n 32 &; ./brew tea --hot && wine ~/takeabreak.exe`rant zen and the art of motorcycle maintenance postgres heroku ship's sinking and the fixer's all fixed out burnout21 -
One of our newly-joined junior sysadmin left a pre-production server SSH session open. Being the responsible senior (pun intended) to teach them the value of security of production (or near production, for that matter) systems, I typed in sudo rm --recursive --no-preserve-root --force / on the terminal session (I didn't hit the Enter / Return key) and left it there. The person took longer to return and the screen went to sleep. I went back to my desk and took a backup image of the machine just in case the unexpected happened.
On returning from wherever they had gone, the person hits enter / return to wake the system (they didn't even have a password-on-wake policy set up on the machine). The SSH session was stil there, the machine accepted the command and started working. This person didn't even look at the session and just navigated away elsewhere (probably to get back to work on the script they were working on).
Five minutes passes by, I get the first monitoring alert saying the server is not responding. I hoped that this person would be responsible enough to check the monitoring alerts since they had a SSH session on the machine.
Seven minutes : other dependent services on the machine start complaining that the instance is unreachable.
I assign the monitoring alert to the person of the day. They come running to me saying that they can't reach the instance but the instance is listed on the inventory list. I ask them to show me the specific terminal that ran the rm -rf command. They get the beautiful realization of the day. They freak the hell out to the point that they ask me, "Am I fired?". I reply, "You should probably ask your manager".
Lesson learnt the hard-way. I gave them a good understanding on what happened and explained the implications on what would have happened had this exact same scenario happened outside the office giving access to an outsider. I explained about why people in _our_ domain should care about security above all else.
There was a good 30+ minute downtime of the instance before I admitted that I had a backup and restored it (after the whole lecture). It wasn't critical since the environment was not user-facing and didn't have any critical data.
Since then we've been at this together - warning engineers when they leave their machines open and taking security lecture / sessions / workshops for new recruits (anyone who joins engineering).26 -
When migrating from MySQL server to MariaDB and having a query start returning a completely different result set then what was expected purely because MariaDB corrected a bug with sub selects being sorted.
It took several days to identify all that was needed on that sub select was “limit 1” to get that thing to return the correct data, felt like an idiot for only having to do 7 character commit 😆4 -
FUCK! agshdklgdahgisdahl;k!
I just spent 45 FUCKING MINUTES debugging try to figure out WHY THE HELL a function that is supposed to return either a pointer to a valid object OR ZERO if a valid object is not found, was RETURNING FUCKING EIGHT!
Then I saw it... I typed:
nodeList[index];
instead of:
return nodeList[index];
It took me looking at a stack trace and a disassembly of the function to realize this.
Can't wait for this three-day weekend...18 -
When your prof gives you 9/10 on your CS assignment because, instead of returning an int and doing a comparison, you do the comparison and return a boolean.
🤔😑 u serious man15 -
I am once again reminded how much of a clusterfuck C++ as a whole is.
They recently (C++17) added this cool new attribute called nodiscard.
You can put it on a function like this
[[nodiscard]] bool writeMessage(...)
and the compiler will check if the returned value was discarded or not, and give a warning accordingly.
Pretty neat if you're returning an error code and you want to enforce that it gets checked, right?
Except it doesn't work in template classes.
It just doesn't do anything there.12 -
Such amusement.
Was almost about to throw my keyboard at my monitor, as I could not find the reason behind why the GraphQL server wasn't returning the clientType field in the response.
Only to find out that I never asked for that field in the request 😑5 -
New returning client asked for a free mobile app in return for exposure.
Made a native web app that would open their web page (which is responsive)2 -
Sorry devrant I have to fix my life before I can spend time on you again 😔.
Good luck to you all might be some time before I'm back 😢 but you are my people!
Good luck8 -
I finally finished building my desktop to the specs I want!
I bought NZXT's Nuka-Cola themed case & mobo cover when they were announced. I've been planning this build for a while, but:
My laptop fell off a bench (while in my backpack) a couple months ago and the screen broke, so I bought this nice CHG70 from Samsung and put on top of it. That worked fine for a while, but within a couple weeks that laptop also stopped sending a display signal.
Having already dropped a lot of money on the monitor of my dreams and not being able to bear returning it after having it in front of me, I decided, Fuck It; I'll just build the whole PC I've been planning on right now.
Except, I wasn't ready. Had to start out with a Ryzen 2400g. Then got an RX580 on sale for $200. This week was when I swapped the Gigabyte B350M DS3H & 2400g for NZXT N7 Z370 & i7 8700k18 -
PROCEDURAL PROGRAMMING
You write a list of instructions. The machine reads this list and runs your commands.
OOP PROGRAMMING
Quite similar to procedural programming but you group your functions via objects.
RANDOM PROGRAMMING
Learned of this new paradigm quite recently working with Blue Prism, which is essentially the program doing whatever it wants from crashing, freezing, returning wrong results, sometimes working properly, with no reason whatsoever other than the sheer malice of those beasts of burden who designed it in the first place. Mark my words, BP devs, you will be held accountable for your crimes against God and humanity.6 -
I spent more than an hour trying trying to debug why two functions were always returning undefined. I even put in conditional breakpoints and executed the statements to confirm the logic was correct.
I forgot return.4 -
Whenever something goes mainstream and becomes buzzword there are annoying consequences of it.
First, it’s harder to find anything meaningful about the topic.
Second, suddenly everyone is an expert and web search starts to show not related products like promo codes, stupid videos, tutorials for dumb.
Third, old content that was interesting is lost under pile of shit or gets deleted.
I feel like I’m living in middle ages and before I try to watch something interesting it’s deleted by Spanish inquisition and replaced by some crap.
Most of expert content I have in favorites is returning 404 and youtube videos are deleted or private so from some time I started to backup all content I read or watch and find interesting in public networks.
Fortunately I have couple of terabytes of storage to backup interesting topics but I’m not happy that I’m back to times when I was saving internet page to floppy disk to show it to my friend later.
What a fucking nightmare.3 -
Another project with legacy code got just dusted off at work. Shits fucked beyond recognition! We got:
- Rando variable names that mean nothing
- Timers running with a cycle time of 2.5ms if you start them with the multiplier 1.
- An Interrupt routine thats 300 lines long.
- Another interrupt thats starting an ADC conversion and waiting for it to complete before returning.
- For loops that start with one and subtract one from the iterator in the loop
- Every value that would normally be expressed as a regular number is written down in Hex. Eg: if(val==0x05)
- State machine built without writing down which state is which. Its just a number. (In hex obviously!)
- All running on a Microcontroller you cant debug on.
- Using a compiler no one has ever heard of before.
- Weird ass Port manipulations
- 15 different .hex and .elf files with no clue whats in them.
- No version control
- We tried explaining the code to a monkey and it hanged itself.12 -
Six years ago I created a drupal page pro bono for an organization I'm in. Was my first site really, was hacky af, in retrospect, I created an unmaintainable monster. And as it usually happens, I moved away, the site stops being properly maintained, opening admin view just cries "please update me" (or was it "kill"? Not sure here). Now I'm back in town and get a call from the current one in charge requesting a training. I thought this evil dark dev history of mine is now finally returning to hunt me forever. But no, she actually understood it, and after half an hour she was perfectly capable of maintaining the site. I'm stunned.2
-
Omg so I've been stuck on this function I'm writing that checks if a certain array value is so many characters long and well, it just wasnt returning false when outside the conditions..
I tried taking it step by step, echoing out every line and it all made sense to me and there were no syntax errors.
Time goes by and inside the configuration file I was testing.. I was changing the value of a DIFFERENT array property than what I was using in my condition. They looked really similar.. fml xD2 -
Story of WTF happened to my job
During my employment in (name censored) was stressful, They claimed I didn't complete my task on time which they constantly remove me from git and documentation(which have to follow their style of returning data), I kept emailing, slack, WhatsApp calls them, mostly and predictably got ghosted and blocked.
So How the fuck am I supposed to push my code or code without the documentation (I can actually, prevent refactoring every time, following the documentation is the good way to go.)
On the sprint review, they will complain about me not committing and pushing the code. (I did commit locally, but can't push, they removed me from the fucking repo) and not done.
Tried reasoning, telling the obvious reasons with them, doesn't work. They come out the second reason of me "NOT COMMUNICATING". Sometimes I can get to git merge from dev to my branch and get tonnes of fucked up code. I reviewed the code, and I can't tolerate it.
Lately, I overheard them mocking and cheering me about to get fired over a zoom meeting (I was in there, they forgot to remove me). Their conversation is about me being a coloniser, a jerk, betraying Chinese ancestors for being not Chinese enough.
I was like: "Why the fuck does their conversation sound like they are tucked in the Qin dynasty?"
Frequently I got labelled as unprofessional.
How is cussing about my ancestors, personal and life a professional behaviour?16 -
This is something I'll never forget.
I'm a senior UI engineer. I was working at a digital agency at the time and got tasked with refactoring and improving an existing interface from a well known delivery company.
I open the code and what do I find? Indentation. But not in the normal sense. The indentation only went forward, randomly returning a bunch of tabs back in the middle of the file a few times, but never returning to its initial level after closing a tag or function, both on HTML and JS.
Let that sink in for a minute and try to imagine what it does to your editor with word wrapping (1 letter columns), and without (absurd horizontal scrolling).
Using Sublime at the time, ctrl+shift+P, reindent. Everything magically falls beautifully into place. Refactor the application, clean up the code, document it, package it and send it back (zip files as they didn't want to provide version control access, yay).
The next day, we get a very angry call from the client saying that their team is completely lost. I prove to the project manager that my code is up to scratch, running fine, no errors, tested, good performance. He returns to the client and proves that it's all correct (good PM with decent tech knowledge).
The client responds with "Yeah, the code is running, but our team uses tabs for version control and now we lost all versioning!".
Bear in mind this was in 2012, git was around for 7 years then, and SVN and Mercury much longer.
I then finally understood the randomness of the tabs. The code would go a bunch of tabs back when it went back to a previous version, everything above were additions or modifications that joined seamlessly with the previous version before, with no way to know when and so on.
I immediately told the PM that was absurd, he agreed, and told the client we wouldn't be reindenting everything back for them according to the original file.
All in all, it wasn't a bad experience due to a competent PM, but it left a bad taste in my mouth to know companies have teams that are that incompetent, and that no one thought to stop and say "hey, this may cause issues down the line".4 -
In PHP (yes, it's a language I... don't hate) I've always hated exceptions. They're like GOTO, in an OOP world with interfaces and contracts, try/catch is really odd as it breaks a promise about returning with a typed value.
But you can now do this in PHP8, which comes pretty close to Maybe/Either monads (Option, Result whatever it's called in other languages):
function getUser(): User | UserNotFound
PHP8 unions don't come with the same strong guarantees as in other languages but *pets PHP gently on the head* you did well, my boy.
Now I would really love it if PHP9 could do:
function getUsers(): Collection<User>
Type Tree<T> = Null | Node<T>;
function 🎄(): Tree<Branch<Ornament|Light|null>>15 -
Me: please return http code 202 in your http service.
My collegue: ok.
After one hour...
Me: you are returning 200, I told you 202. Let me see the code:
OMFG she was writing the string "202" in the response body!!!
I do not know how to escape from all of this shit.1 -
I know ppl say there is no place like home...
but after returning from places like this one, I just wanna go back there...3 -
Boss: "So I'm taking the next week off. In the mean time, I added some stuff for you to do on Gitlab, we'd need you to pull this Docker image, run it, setup the minimal requirement and play with it until you understand what it does."
Me: "K boss, sounds fun!" (no irony here)
First day: Unable to login to the remote repository. Also, I was given a dude's name to contact if I had troubles, the dude didn't answer his email.
2nd day: The dude aswered! Also, I realized that I couldn't reach the repository because the ISP for whom I work blocks everything within specific ports, and the url I had to reach was ":5443". Yay. However, I still can't login to the repo nor pull the image, the connection gets closed.
3rd day (today): A colleague suggested that I removed myself off the ISP's network and use my 4G or something. And it worked! Finally!! Now all I need to do is to set that token they gave me, set a first user, a first password and... get a 400 HTTP response. Fuck. FUCK. FUUUUUUUUUUUUUUUUUUUCK!!!
These fuckers display a 401 error, while returning a 400 error in the console log!! And the errors says what? "Request failed with status code 401" YES THANK YOU, THIS IS SO HELPFUL! Like fuck yea, I know exactly how t fix this, except that I don't because y'all fuckers don't give any detail on what could be the problem!
4th day (tomorrow): I'm gonna barbecue these sons of a bitch
(bottom note: the dude that answered is actually really cool, I won't barbecue him)5 -
Long but hilarious:
I was deeply concerned about how we have a single, non-paginated call to a backend service, returning hundreds of entries, which has to be enriched with constant data fetched from our db for each entry. FOR EACH ENTRY. AND FOR EACH REQUEST.
I voiced my concerns to my PM, who called me a "rage prophet" for it.
As expected, the call took 20-something seconds to complete.
Ten minutes before the CEO comes over to have a look, another dev changes his loosely-related service, and the entire super-heavy, sprawling abyss of enrichment pipeline returns in sub-second timing!!!
CEO: guys, this is too fast. You have to slow it down a bit. It doesn't seem reliable that we're able to get all this data immediately.
PM: you see, rage prophet, it all worked out in the end
Me: #$@%$&!!!!!2 -
I work in a contract position and reviewed the code of a senior engineer recently. Regretfully I can't provide context to preserve anonymity.
He wrote awful JavaScript;
- handled a single DOM element with 2 different frontend libraries
- used the logical operator && to 'chain' two methods (it didn't work) instead of returning a boolean value,
- broke everything down into minute detail (a comment box had 7 components!),
- API calls were made for every component update instead of maintaining local component state where it made sense, which meant UI updates were slow,
- animated EVERYTHING, which made my Firefox on Xubuntu i7 64bit with 16GB RAM beg for mercy.
I had a rough couple of months with interviews, with 2nd stage technical interviewers throwing impossible tasks at me.
Example:
1. Create an online Python code editor with Javascript which can compile Python bytecode,
2. Use Mesos and Kafka to create real time architecture for Tensorflow with a Javascript frontend in 1 day. (I asked, and wasn't allowed to use Kubernetes or serverless architecture),
3. Hack a website from the browser's address bar using parameters ( what?!! ),
Obviously, the next time I meet a 'senior', I'm going to tell him talk is cheap;
'SHOW ME YOUR CODE.'3 -
I love Test-Driven Development!
And because of that fact, my heart shatters into thousands of pieces, when I recognize error events on our production nodes which are pointing onto a golden hammer function in a legacy project.
This particular function has about 300 lines with a bunch of subfunction calls and instantiations of helper-classes returning information for workflow.
Refactoring this code to apply proper unit-tests requires a way bigger investment than simply deal with 30 eventlogs a day, because this kind of payment is barely used by customers of our webshop.
This fact is a little itch each day of my work.
Guess it will make me go insane one day
¯\_(ツ)_/¯
xD1 -
* Building an android app
Me: I just make some coffee cuz this will take a while.
.......Returning in front of my computer....
"Error installing APK"
Me: @#%@%#&!!4 -
When your websites start returning 502 errors all of a sudden and you can't figure out why. Clear PHP artisan cache, restart Nginx, make sure PHP-FPM is running. Still 502 errors. Then you find out Cloudflare is down. 😐😐😐
This was me last night.3 -
So my dear programming teacher really hates break statements... I mean really really really. He thinks it's better for readability if you don't break from any kinds of loops (not even ifs) well then we came across a switch statement in class. He says "breaks only exist because it's needed in switches" well how about returning from a fcking swith? or goto? then you need no break...
Is there anyone who could explain why I should NEVER use breaks and why it's bad in any piece of code? Why is it better to just use whiles because fors are apparently evil again? Srsly I just wanna ask him to show me some big code bases without breaks...8 -
Have a function that takes parameters and then performs a switch statement to determine what function to call next with those same parameters. One of those parameters is a Union type.
During CR, my reviewer said they’d like if instead of returning the function per case, I instead assigned a handler to the value of the function per case and then returned that handler at the end of the switch. Simple change, right? Only snafu, I’m casting one of the parameters on a per-case basis.
Somehow, through no fucking change of my own, TypeScript in its wisdom has decided that the type of that value by the time I call the next function is a fucking Intersection.
WHY THE FUCK DO YOU THINK IT’S AN INTERSECTION?! I’m fucking casting it per case! I’m ensuring it’s the right type for the next function called on a per case basis!
…. And that, my friends, is how I wasted a day with a stupid refactor that was ultimately just scrapped because no one could figure out how to make it work.
Goddamn fucking TypeScript. I3 -
Skrew all these "modern" css frameworks, I'm returning to the 90's bitches!!!
https://nostalgic-css.github.io/NES...3 -
What's a bigger sin.
Returning a status code of 200 and then the message body saying "An Error Occurred"
or
Only performing data validation on the frontend.18 -
If anyone has been keeping up with my data warehouse from hell stories, we're reaching the climax. Today I reached my breaking point and wrote a strongly worder email about the situation. I detailed 3 separate cases of violated referential integrity (this warehouse has no constraints) and a field pulling from THE WRONG FLIPPING TABLE. Each instance was detailed with the lying ER diagram, highlighted the violating key pairs, the dangers they posed, and how to fix it. Note that this is a financial document; a financial document with nondeterministic behavior because the previous contractors' laziness. I feel like the flipping harbinger of doom with a cardboard sign saying "the end is near" and keep having to self-validate that if I was to change anything about this code, **financial numbers would change**, names would swap, description codes would change, and because they're edge cases in a giant dataset, they'll be hard to find. My email included SQL queries returning values where integrity is violated 15+ times. There's legacy data just shoved in ignoring all constraints. There are misspellings where a new one was made instead of updating, leaving the pk the same.
Now I'd just put sorting and other algos, but the data is processed by a crystal report. It has no debugger. No analysis tools. 11 subreports. The thing takes an hour to run and 77k queries to the oracle backend. It's one of the most disgusting infrastructures I've ever seen. There's no other solution to this but to either move to a general programming language or get the contractor to fix the data warehouse. I feel like I've gotten nowhere trying to debug this for 2 months. Now that I've reached what's probably the root issue, the office beaucracy is resisting the idea of throwing out the fire hazard and keeping the good parts. The upper management wants to just install sprinklers, and I'm losing it. -
Who the fuck uses http code 200 for a failure. Seriously have you ever heard something about a need to parse the shit you're returning...
Now I don't know whether it's me who's wrong, but man there are more than 80 different codes defined so there really should be something for you, don't you think?
And don't give me shit like "well the request worked so we return 200 it's only that the request wasn't correct". What for a fucking peace of something are you... Those codes are for that exact reason.
Anyways I'm going to parse the shit with string compare and afterwards kill myself out of shame. Whish me luck...4 -
First few times being made to make mobile responsive emails (from scratch, not generators) was an utter psychedelic mess I never wish to have the pleasure of returning too.
I since have had the pleasure of refusing this, as being able to maintain this chaotic mess created which has to be able to work across the major email clients is just a living nightmare.
There’s hell, then there’s a whole other level.1 -
I once knew a guy who claimed that:
* Declarative languages were these where you declare variables before you use them.
* C is a functional language because every subroutine was returning something (even void).2 -
Just spent about 15minutes trying to figure out why my beautifully formatted f'{strings}' code was returning "invalid syntax".
Turns out I was in a Python 2 shell. How's your day going? 🙂4 -
older clients are returning with my old projects and asking for improvements, I did buy a few very shitty scripts from the internet/ and used one of my friends custom php cms for the other client because I REALLY needed money and they needed the projects yesterday.
Now I'm looking at the code and can't start working because of how messy it all is, I want to remake it all with a good framework and system, but it would take too much time (and they want it fast) and they wouldn't want to pay for the improvements because what they have now works..
I guess the shit you throw out when you're younger does come flying back like a boomerang..3 -
Instructions on how to become suicidal:
- Create an API controller for the /file/ path
- Add an empty endpoint for POST /file/upload (will write it later!)
- Forget about this endpoint at some point
- Later, create a page for /file/upload
- GET /file/upload returns page
- POST /file/upload returns empty 200
Pure psychological horror for like an hour Googling why the fuck my razor page is returning empty responses and my breakpoint on OnPost is not fucking hitting even if I copy and paste example code from the ms website
Oh yeah, that controller.5 -
If you’re angry at testers for constantly finding bugs and returning your garbage tasks, don’t. Wipe the Cheetos dust off your fingers and keyboard just once and try to write something that will actually work properly.4
-
I’ve come to recognise a simple truth about why companies are pushing for returning to full time work from office, is this.
There’s a lot of middle managers who have been taught to synonymize work with misery. Like a Freudian dog, they’ve learnt to believe that work happens whenever they see someone being miserable in front of a computer.
That’s why they want to see in person all the non verbal cues of a programmer experiencing misery. Without it, they don’t get the reward response of thinking that work is happening, even if the work is literally happening faster from home.9 -
Wish I knew about this lovely community a few years ago, when a dev in my team asked for help because they couldn't understand why their function was only returning one string... Only you guys would understand my pain when I saw this...
string SomeShitStringMethod()
{
<do stuff>
return string1;
<do stuff>
return string2;
<do stuff>
return string3;
}
>_______<2 -
Saw a classmate returning an plain text password from a function to try to push it in a JSON file for an API we have to build for class.
I try to correct him and show him a few things that are better practices and for security, I get yelled at and called a know-it-all for trying to help... I'm so done with people -.-4 -
Getting beaten up over the quality of an app i'm working on with 6 interns. We have a bunch of unit tests, was shocked to see so many issues ... until I looked at the tests.
A function returning a non-optional array has 1 check ... that the return value is not nil ... fml3 -
(in 2008)
my boss in my first job. in general every time when he randomly burst into office. one specific time when he burst i to office and INSISTED that we've got to go to a parking lot to see something.
that something was a remote-controlled helicopter he just bought. (this was before the age of drones).
oh, and he was a chain smoker, always had a cigarette behind his ear (wat), and was dragging me out to have a smoke (i was the only other programmer smoker, but not as heavy as him) every 10-15 minutes under the implied pretense of needing to discuss something about the code, and frowned heavily when i refused (because i was actually in the middle of actual work), because he took it as me refusing to have a work meeting with him.
no, we almost never talked about anything work-related, while on that smoke "work meeting".
also, my boss' boss in my first job, when she entered the office asking "we need a clickable map of our country where clicking each region brings you to a search page with filter set to results from that region. how would we do that?"
i answered "html imagemap linking to the right search url for each region, or embedded flash doing the same, if you want the region buttons to be animated", and turned back to my work.
upon which she proceeded to talk about it with the second programmer, both pretending they're solving some aspects that my answer didn't already solve, INSISTING that i stop doing "whatever nonsense you're doing" and pretend that i'm paying attention as if anything they said was in any way relevant or important. i kept returning to my work because i was solving an annoying bug and their talk was empty and useless.
this second incident was then cited as one of the reasons i was let go, because "he ignores important conversations with his superiors about upcoming tasks"
in general, my first job was a shitshow where nobody had any time or energy to do actual work because they all expended all of it to PRETEND for their superiors that they're working, since the superiors had no clue how it looks when we actually do our actual jobs.
(one month after i was let go (because, in my boss' words, yes, the one with the helicopter, "the IT productivity is very low and I have to hold someone responsible") , the second programmer was let go as well, and one month after that, our boss (head of IT) was let go too. to this day I keep being fascinated how did the company manage to survive long enough for me to even be there, let alone how it STILL manages to survive. i guess being part of a nation-wide conglomerate is very effective in covering your company's losses and uselessness)1 -
I once interviewed for a role at Bank of America. The interview process started off well enough, the main guy asked some general questions about career history and future goals. Then it was off to the technical interviewers. The first guy was fine. Asked appropriate questions which he clearly understood the answers to.
The next guy up, however, was what I like to call an aggressive moron. After looking at my resume, he said I see you listed C++. To which I said, yes I have about 7 years of experience in it but I've mostly been using python for the past few years so I might be a bit rusty. Great he said, can you write me a function that returns an array?
After I finished he looked at my code, grinned and said that won't work. Your variable is out of scope.
(For non C programmers, returning a local variable that's not passable by value doesn't work because the local var is destroyed once the function exits. Thus I did what you're supposed to do, allocate the memory manually and then returned a pointer to it)
After a quick double take and verifying that my code did work, I asked, um can you explain why that doesn't work as I'm pretty sure it does.
The guy then attempted to explain the concept of variable scope to me. After he finished I said, yes which is why I allocated the memory manually using the new operator, which persists after the function exits.
Einstein then stared really hard at my code for maybe 10 to 15 seconds. Then finally looked up said ok fine, but now you have a memory leak so your code is still wrong.
Considering a memory leak is by definition an application level bug, I just said fine, any more questions?4 -
Returning from vacation tmr... But apparently we just had a "someone at github deleted all the repos and no backup"-like prod issue....
Well guess I say least can say "¯\_(ツ)_/¯ not my area, can't help u"6 -
Fuck you Twitter for making your widgets createTweet-method only work with the tweet-id as string. Fuck you especially for don't returning nor throwing any error for giving an integer value to it.
This took some time... -
!Rant
Having been working with JavaScript so intensively, I have a newfound appreciation for Python. It really is an elegant language.
I'm looking forward to returning to Python one day in the near future.3 -
When you find an extremely cool SQL query online but instead of returning the high-five your wife turns around and walks away, shaking her head mumbling1
-
Quick rant, I dont have time.
I have no idea how the fuck but I managed my IDE to show me that it's confused if my class "PackModel" is "PackModel" or "PackModel" (I have only one definition if you are hands first to ask).
its few years and first time when I see shit like that.
Fun fact, it was working OK until I used getter that was returning another object and than IDE got absolutely lost.
I had to use workaround in middle of nowhere as shown on image and suddenly its back fine with it. Not like it's returned by function hard typed and PHPDoc typed to return instance of this very object and in other scopes it just works...
It's Jetbrains so Im confused, it's robust IDE ;-;...8 -
Colleagues cannot seem to grasp that allowing a user to manually update a field via an Api, that only business process should update is a bad idea.
The entire team of around 10 'software developers' cannot grasp that just because the frontend website won't set it doesn't mean its secure. I have tried many times now...
Just an example honestly... Our project follows a concrete repository pattern using no interfaces or inheritance, returning anaemic domain models (they are just poco) that then get mapped into 'view models' (its an api). The domain models exist to map to 'view models' and have no methods on them. This is in response to my comments over the last 2 years about returning database models as domain transfer objects and blindly trusting all Posts of those models being a bad idea due to virtual fields in Ef.
Every comment on a pull request triggers hours of conversation about why we should make a change vs its already done so just leave it. Even if its a 5 minute change.
After 2 years the entire team still can't grasp restful design, or what the point is.
Just a tiny selection of constant incompetence that over the years has slowly warn me down to not really caring.
I can't really understand anymore if this is normal.3 -
That moment when returning correct HTTP status codes from an API become a feature request 😒
For the meantime I will need to deal with endpoints returning status 200 for everything, and status 500 when the service crash. 🤦🏼♂️4 -
My gf tonight
3am: well be returning for 4am
4am: dont worry, at 5 metros start
5am: lets get home at 6
Fuckit -
A warm welcome I received as I entered home returning from 48hr long exhausting sleepless time.
Thanks for these lovely stickers!2 -
Pulled into an 'emergency' meeting with a group of web designers deeply concerned a particular service wasn't going to meet all their requirements.
DevA: "For each page, Its going to be A LOT of work to retrieve all the data and store it's state. Every page load will require a round trip to the service."
DevB: "Yes, we aren't sure how the service should be changed to do what we need."
Mgr: "What is it not doing now? Doesn't the service already returns all the necessary data?"
DevA: "Well...um...its all the boolean fields. Some may be defaulted from the database or false because the user unchecked the box. We have to know which is which"
Me: "Why? Are you doing anything different in the UI? Checkbox will be true or false. What or who set that value is irrelevant"
DevC: "Well, it matters if the user didn't fill out all other other values."
Me: "How so?"
DevA: "Its matters because the values in the other fields. Its going to be A TON of work to figure out."
<mgr goes to the white board>
Mgr: "Lets map this out...what fields are you needing to trigger the state on?"
DevA: "Um...uh...the 'Approved' field...and um...'OK to Contact' field"
Mgr: "Just those two?"
DevA: "Yea..um...there are other fields, but whether or not to show the edit box depends on those two."
Me: "The service already returns data, you only have two fields to check? I don't see a need to change the service at all."
DevA: "Returning all that data, we are going have a serious scaling problem. We'll be hitting the service A LOT. All that javascript could cause performance problems too"
Me: "How much data are we talking about? Name, address, couple of booleans?"
DevA: "I have to serialize the data. All that logic is going to be reeeaaallly complicated. It might be better if the service returned only the data I need."
Me: "$64,000 question, how often is this feature going to be used on the web site? Maybe once? Few hundred a week?"
Mgr: "We have no idea. A lot of the data will be pre-populated and we're only sending out a few thousand invitations. More around the holidays...but honestly, not very many."
Me: "Changing that service only for this particular area of the web site isn't going to happen. Changing the UI is the only course of action."
DevA: "Oh frack I can't wait until this project is over."
DevA...how the funck do still have a job here? You wasted about half-hour of my time with your cry-baby crap. Where is my hammer...no...no..don't go there...ahhh...thanks devrant. Prison sentence diverted.2 -
Should I be excited or concerned?
Newbie dev(babydev) who just learned string vs int and the word "boolean", is SUPER into data parsing, extrapolation and recursion... without knowing what any of those terms.
2 ½ hrs later. still nothing... assuming he was confused, I set up a 'quick' call...near 3 hrs later I think he got that it was only meant so I could see if/where he didnt understand... not dive into building extensive data arch... hopefully.
So, we need some basic af PHP forms for some public-provided input into a mySQL db. I figured I'd have him look up mySQL variables/fields, teach him a bit about proper db/field setup and give him something to practice on his currently untouched linux container I just set up so he could have a static ipv4 and cli on our new block (yea... he's spoiled, but has no clue).
I asked him to list some traits of X that he thinks could be relevant. Then to essentially briefly explain the logic to deciding/returning the values/how to store in the db... essentially basic conditionals and for loops... which is also quite new to him.
I love databases; I know I'm not in the majority... I assumed he'd get a couple traits in his mind and exhaust himself breaking them down. I was wrong. He was/likely is in his sleep now, over complicating something that was just meant as a basic af.
Fyi, the company is currently weighted towards more autistics (him and myself included) than neurotypicals.
I know I was(still am) extremely abnormal, especially when it comes to things like data.
So, should I be concerned/have him focus elsewhere for a bit?... I dont want to have him burnout before he even gets to installing mySQL44 -
Reverse engineering an applications internal object model and creating an database model for it...
The reason: Several versions of application exist, each deliver flat data by rest. The data is a complete potpourri of several different entities. *yaaaay*
Eg. an example fictional call (real call and data would get me in trouble I think....)
get_fiscal_report returning the fiscal data for _several_ companies, the companies _subsidiaries_ and the respective _segments_ for a _year_ with a key value enumeration.
So it's an happy fuck up of N:N associative data that usually would be a hierarchical relationship...
Year - Company
Each Company has subsidiaries
Each Company subsidiary has segments
Each segment has a fixed enumeration of keys
Each key has then the monetary value (e.g. 'operating_income' - 155_000 US-$)
Example is made up, but my data contains exactly such a lovely nested hierarchical data flattened and misnamed to a point where it's close to garbage.
Yaaaay.
I had now 6 days of untucking this mess to a usable database representation...
Sprinkling Unique Keys everywhere...
Running persist script...
Getting exceptions...
Changing associations...
Running persist script...
Screaming.
Changing associations...
Violently cursing.
Running persist script.
Starting sacrificing interns...
6 days.
I need a new brain and a format of my soul.
-.-
Reverse engineering proprietary software is really an morbid adventure.1 -
More like a colleague more than a client, but it doesn't really matter.. They're the same shit,aren't they?
Dude, when you ask for something on Sunday, and spend the day plus Monday and Tuesday not returning my calls or emails... You can go fuck yourself with a huge unicorn's dick. I already moved on to more important shit to do and now you're going to wait until I'm fucking done.
Fucking assholes.1 -
FUCKING PROMISE WONT FUCKING RESOLVE SO MY FUCKING CODE KEEPS FUCKING RETURNING A FUCKING NULL VALUE FOR FUCKING FUCKS SAKE IT REALLY SHOULDNT BE THIS FUCKING HARD TO RESOLVE A FUCKING PROMISE WITHOUT FUCKING CRASHING MY GODDAMN SERVER9
-
Took me an hour and a half to realize why my function wasn’t returning anything that made sense.
Forgot to put a negative sign in front of my negative bound.
Took me an additional hour and a half to solve for all the edge cases.
Relatedly, I should learn to sleep more.
Also, kind of proud of my notes application, but the tables go all funky in mobile and my CSS wizardry is .... not even amateurish.
I am so tired, I literally almost *signed* this.3 -
Today i spent one hour and half trying to understand why my ajax request was returning "undefined" instead of a json object. It turns out i had just to restart ionic because of some bug in the ts transpiler.
Fuck you typescript.6 -
Dockers JSON output is garbage.
First, you'll get no JSON per se.
You get a JSON string per image, Like this:
{...} LF
{...} LF
{...} LF
Then I tried to parse the labels.
It looked easy: <Key>=<Value> , delimited by comma.
Lil oneliner... Boom.
Turns out that Docker allows comma in the value line and doesn't escape it.
Great.
One liner turns into char by char parser to properly tokenize the Labels based on the last known delimiter.
I thought that this was a 5 min task.
Guess what, Docker sucks and this has turned into try and error...
For fucks sake, I hated Docker before, but this makes me more angry than anything else. Properly returning an parseable API isn't that hard :@3 -
Guest user by having all non authenticated sessions automatically assigned to user ID 0.
Let's just say.. it's not fun having all guests be able to view each others purchases and invoices.
So we ended up just always returning empty everywhere for user 0 -
Fuck this I need to ventilate.
Thinking about job change because maintaining and extending 3 years old codebase (flask project) is FUCKIN exhausting. It was badly written since start by someone who obviously didn't know much about python. (Going by commit history.)
Examples:
- if var != None / if var == None
- if var is not None / if var is None (well..)
- Returning self-parsed obscure JSONs from dict variable
- Serializing dictionaries into database by str() (both sqlalchemy and mysql support JSON format) - THEY ARE ALMOST UNUSABLE OTHER WAY AROUND (luckily, python can deal even with that)
- celery tasks, the way they are called they BLOCK the whole flask (not bad in itself, but if connection breaks there are no errors, nothing it just hangs)
- obscure generator/yielding that contains return of flask's response in itself
- creating fifteen thousands of variables one by one where they would look so nicely as dict keys, and hey they are then both MANUALLY SERIALIZED into returning dict by "%s" (string formatting) [okey, some of them are objecst like datetime but MATE WTF]
- many, many more, PEP lint shall not pass
I would rather deal with fresh startup owners wanting me to program unicorns in one week then trying to extend and manage zombie-like projects.
Nothing personal against the firm I actually like the place.3 -
So.. I'm giving one of my employers webapps a visual refresher, new company branding and whatnot.
And then I stumbled onto a check that is not returning what anybody expects, and, well , I'm busy fixing things, yeah..? so I go digging.. 🤔
```
function isDefined(obj) {
return !(typeof obj === "undefined") || obj !== null;
}
```
Here's the fun part, these particular lines have been in the code base since before 2017, which is when my Git history starts, because that's when we migrated projects from Visual SourceSafe 6 over to Git. Yes, you read that right. They were still using VSS in 2017.
I've begged and pleaded with my last 3 bosses to let us thrown this piece of shit out our second story window and rewrite it properly. But no, we don't have time to rewrite, so we must fix what we have instead.
I lost 4 hours of my life earlier today, tracking down another error that has been silently swallowed by a handler with its "console.log" call commented out, only to find that it's always been like that, and it's an "expected error". 🤦
Please, just fucking kill me now... I just, I can't deal with this shit anymore.5 -
I just wasted 4 hours debugging a wordpress plugin because the API was returning only the first element of a list. I posted it on support forums, downloaded the plugin's source code and tried to manually find the cause, and I was about to post an issue on the plugin's github page.
It turns out that I forgot I had '$[0]' in my insomnia json filter.... I should probably look for a different job.3 -
Initialize List ✔️
Initialize and hydrate DTO ✔️
Forget to add DTO to List and wonder why my list is returning empty?
Every fucking time!2 -
Best debugging trick ever:
Wear your fucking glasses while coding so that you do not mistake COMMA(,) with a DOT (.).
So by
1. Doing that (which obviously aren't a huge number) and
2. Cleaning my screen (yes that).
I was able to wrap my head around the issue that almost wasted one day.
So what I intended to pass as string concatenation join operation value actually was being passed as an argument to the underlying function (that wasn't taking care of it and returning a timestamp from thin air).
Murphy's Law in production and practice.
Nice!
Depressing music continues......!3 -
So I had this client who wanted me to develop a brand new website for his company. When I asked him about the money he'd pay me, he said he'll pay me whatever it takes.
So I started coding JavaScript day-in-day-out, trying to show him different designs. He saw them and was pretty impressed by the progress. Then he fucking asked me to code sitting in his office so that it gets finished faster. I even do that!!
After 3 months of grinding, I asked him for my payment. That fucker stopped returning my calls and emails. He didn't even use my website. Then a month later I found that that fucker had called in a cheaper web developer and got his website designed JUST LIKE MINE!!!
I fucking hate freelancing!!2 -
Coding taught me how to think logically and how to approach problems with a fresh clear mind if your ever stuck like walking away for a bit and returning after a break.
It also allowed me to give my old teachers the middle finger who said I'd never do anything in life... 6 years later and I've owned my own media business and now work for a web agency! -
It works locally, it works in Dev, it works in Test, but fails to deploy in UAT. Is it a data issue? I don't know, I don't have permissions to see the UAT database. Literally all I know is that this API is returning 500 instead of what it's supposed to return, but only sometimes.
Guess I'll sit here all day and try to solve the problem telepathically as there is literally no way of troubleshooting other than scrolling through the code and hoping that a cartoon lightbulb appears above my head.2 -
Actually I am living with my aunt these days. And oflate into so many unsaid-fights with her. Today was off from office. So i didnt want to stay at home(to avoid fights)
I told her I am going somewhere. (Didnt mention the place)
She told she is also going "somewhere".
I ain't know that "somewhere" was same place. Returning back in same car 😑 with radio sound and mouths shut.3 -
A little background on project fubar:
Project fubar was started a couple of years ago, by an entirely different set of devs, against an entirely different set of requirements which were never made transparent to this day, on a new platform and framework.
That means it had APIs either outdated or deprecated, front-end logic that did things it wasn't supposed to be doing and lots of scope creep and technical debt.
I had to support and fix fubar for the last few months to prime it for UAT. It was the equivalent of plugging leaks which created more leaks.
Finally, I couldn't take it and asked for a week off. I timed it so it would be right after what would have been the final UAT deployment and I'd be back after they completed their test rounds, so I could fix any new or returning defects.
Today I just found out that fubar got put on hold, that UAT was a failure and all fubar-related work had to stop. I have some mixed feelings on this: I worked hard to get fubar working as business wanted, and I was proud of that. But I also didn't like that fubar was constantly changing in scope and function.
I wonder if anyone else has ever felt the same thing?2 -
The most crazy issue I've fixed was caused by a TCP behavior which I didn't know, called the "half-closed connection".
There was a third-party application installed on a production server which called a LDAP server for retrieving users information. During the day we had several users using the application and all worked fine. During the night, when the application was not accessed, something happened and the first call to the application in the morning was stuck for about 5 minutes before returning a response. I tried to reproduce the issue in a testing environment without success. Then I discovered that the application and the LDAP server were located on two different networks, with a firewall between them. And firewalls sometimes drop old connections. For this reason network applications usually implement a keep-alive mechanism. Well, the default LDAP Java libraries don't set the keep-alive on their connections. So, I found a library called "libdontdie", which force the keep-alive on the connections. I installed the library on the server, loaded it at the startup and the weird stuck behavior in the morning disappeared.2 -
For some reason github is returning 503 on our build servers randomly. And I need to checkout several repositories to build everything successfully. Builds are automatic and I don't want to maintain local mirror. And we wanted to release tomorrow (but were smart enough to promise this week). And on top of everything build takes six hours and sometime fails randomly even without github. But I'm still optimistic - it's Monday after all. We still have enough time to make it in time for Friday release :-)5
-
Let's say you're working on a web application, and you notice that one of the pages is not displaying the correct data. You investigate further and realize that the data is being retrieved from an API endpoint, but for some reason, the API is returning the wrong data.
You start looking into the code that calls the API and notice that it's passing in the correct parameters, so you dig deeper into the API code itself. After hours of poring over the code, you finally discover that the bug is caused by a typo in the database query that the API is using to retrieve the data.
You fix the typo and think the problem is solved, but then you realize that the data is still not displaying correctly on the page. After even more investigation, you discover that the bug is actually being caused by a caching issue on the client side.
At this point, you're feeling incredibly frustrated and overwhelmed. You've spent hours trying to track down this bug, and it feels like every time you think you've found the root cause, another issue pops up. This is just one example of the many challenges that developers face on a daily basis.6 -
In Rx, what is the point of returning Single for all of our networking request responses, if every call to that method, first of all converts it to an Observable so that it can use flatMap, filters, combineLatest etc.
I get that Observable's have more overhead, Single can only return once, thats all clear. But is it not MORE overhead to create a Single, return it, convert it and now have the Observable we were trying to avoid in the first place.
I don't know if its just Rx I don't like, or how the team here is using it. But it is pissing me off, to no end, how massively overly complicated this is. It really feels to me like this is following a textbook approach while ignoring all the practical details.
<rant>
Next person to say "because its the Rx way", is getting a monitor thrown at their head.
</rant>6 -
Just a quick one:
Testing team: hey your webservice isn't returning the id number of this customer we used it to look up, fix it
I take a look and sure enough the test customer doesn't have an id number *screenshot of blank field*
I add an id number to the customer and test it out again. Lo and behlod, there's the id number! *screenshot* *send reply*
Seriously wtf this is basic1 -
Never call a variable 'r' while debugging in python console.
I was trying to fix my code but for some reason the program didn't follow the code flow. I hate it when it happens because you can't pinpoint the source of the problem. I restarted the kernel, nothing, then I rebooted the IDE, nothing. The code behaved weirdly, the only thing I was doing was assigning a value to a temp variable called 'r' and then displaying it. The console kept telling me "--Return--", I didn't understand... Why, my old friend, are you telling me you're returning? Then I changed the variable name to old 'tmp' and it all worked. I finally realized that 'r' is a pdb command... I was angry at the console for obeying my own order... I'm sorry console1 -
Hi guys!
I never thought that this day will come, be here is my first rant with a big dose of frustration.
So, I'm working on the API team of one of ower products and a coworker that works on the webapp has a lot of problems (don't want to be mean, but he has problems like 'i can't catch a 404 http status, please send a 200 with a message' ) and he always go and wines about the API and that he can't do his job because the API is faulty...
But it is not the case, every functionality of the API is well tested and it works as it should.
So, tonight I was the only one left from my team and the project manager comes and
starts asking me about why I am returning http status codes with all my responses, how the login works and other stuff like that...
Just wasted more than an hour to prove that all the code that I wrote works as expected...1 -
When you finish the complicated code for a feature you spend all day on and it runs without bugs but instead of returning the high-wife your gf looks at you, asks what the feature does and at the end says "but that sounds really easy to make"9
-
An actual text from my CS Human-Machine Interfaces book:
"How do users react when a vending machine "eats" their money and doesn't give the product? Most likely, they will kick the machine in hopes of it returning him the money. Therefore, if we build a machine which has a "Cancel" button which returns the money in the lower part of the machine (the "kick zone") we would be improving the usability of the system a lot'
1st reaction: Wait, what the fuck?
2nd reaction: It ain't stupid if it works, I can't argue with that 🤔2 -
Haha, fuck you kotlin! and your null safety!
I was able to break it 😆
After reading about its syntax for over 2 weeks , i finally sat down to write a simple parsing app completely in kotlin. And now i don't know how, but i am able to store a null in a "val x:String" (i.e a non null variable)
I am not going to claim it as some miracle or discovery as some other ranters, it might be a mistake. I am just a 21 yo Android/java dev trying to re write my old ,tested java code to kotlin by myself, without any auto convert, in the middle of night when i am 99% asleep by brain.
I will try to raise an SO question with details, but all i used was a simple volley request returning heterogeneous data, a gson convertor and a single activity,
Right now i am buzzing off to my sleep11 -
promises in JavaScript have really spoiled me
it's the most optimal way to do async without leaving much on the table
there's a promises library in rust and the guy who wrote it says it sucks because it spawns new thread every time you execute a bunch of promises
and I finally, through my fogged brain, managed to get the bright idea to write what I want to make in rust in JavaScript and holy hell it's sexy to work with promises. there's no performance left on the table. you do things as fast as possible
but if I take this JavaScript usability code I made and make it possible syntax-wise in rust I don't see how I would be able to do it without starting new operating system threads every time I execute any promises (or set)
I can take the overhead hit but this sounds retarded
and this isn't even touching upon how in rust everything needs to have a predetermined data type. so you can do lambdas and capture variables and send in variables into a thread that way, but to return the return object must be a consistent type (synchronizing the order data was sent in to the data sent out aside, haven't written that yet should be fine though)
which is fine if you are making a threadpool and it'll all be returning one data type
but this means you can't reuse a threadpool you made elsewhere in the program
the only thing that could fix async is to literally be compiler-enabled. it would have to work like generics and automatically make an enum of every type that can return, and only then could you re-use the threadpool23 -
!rant
When you inherit some code from the job student and you notice how well written and commented it is. I'm glad he is soon returning as a fulltime employee. Hope he will keep this up. -
Returning moron here, missed ya guys.
Now, idk if this qualifies as politics but i guess it does have something to do with tech/privacy/hacking.
Free Julian Assange?
Surprised no one is talking about this honestly. @linuxxx any opinions?28 -
BPOS client sub contracts a website and wants a WordPress one. Creates a design based on a theme.
This particular theme has a demo page.
And when running it through pagespeed insights returns a score Of 29.
Pingdom score of grade D.
Halfway through "development" we get a complaint from BPOS that the site is returning a score of 49 and a Pingdom score of grade B.
Considering how bad the theme is and how optimized we got. I believe that this was a miracle.
The things we do to make a living. -
I went down a rabbit hole of code changes to try and delete a stupid for loop with a break in it.
It was super stupid and I gave up and submitted to the fact that some battles are not worth the time and stress.
OK... But seriously, It was returning multiple entities from the database, but we only always want the first one. My logic is that we should just go in there and fix the LINQ so we are explicitly getting one entity out.
But fuck that logic. No I'll have to change fucking everything that's tied to that method and expects a list from it. Every fucking thing. That includes error handling, parsing, for loops..... Nevermind...
You can have your foreach and your break. I'm taking mine, now.rant break my back on this stupid code what do you want on the frontend last minute changes did this to me they couldn't decide1 -
So today is my last day working in [censored] company. Even though today is the last day and they have my replacement, they still expect me to complete the project 'NOW'. So I decided to make it quick the way it supposedly was. He wanted me to do tonnes of adjustments.
To prevent me from getting more stressed over satisfying my boss' requirements or meeting my boss' expectations, I made the app return the screenshot of the design. So I screenshot the design and render it to the app. So far that's the fastest route I can think of.
I really do not want to do this. But he left me no choice due to his impatient and adamant behaviour. That's why I decided to haste the project by returning the screenshot. (To be honest, this is unprofessional and dishonest, but he left me no other choice to violate my principles).
We argued about the negotiation with regard of the timeline for the deliverance of the project, I proposed 6 months countless times. He constantly denied that I did not negotiate with him. Unfortunately, the 'negotiation' defined by his action is merely a projection of an illusion of negotiating, but whatever is discussed on the table will deliberately fall into his idea and unrealistic high expectations.
Working in this company caused me damages beyond repair. My 4 weeks in this company were my worst nightmare. I don't get enough sleep due to the constant stress from the employer to complete the project in the 'immediately' phase. I brought these issues afore the table for the discussion. He simply deny it and blame it all on me, saying 'that it was my own negligence, to the company. I do not subscribe to his methodology of handling stress, by working more and contributing more to the company as passionate as possible. I am passionate about what I do and my position, what I do not passionate about is being unreasonable, ignorant, delusional and inhumane.
I learnt my lesson now. I vow to myself that In the future if I have the opportunity to be a team leader, my former employer is not and never be someone who can be my role model as a leader.
Refer: https://devrant.com/rants/5379920/...4 -
Seniority sucks sometimes.
Today I took the time to figure out the API for a shipping website.
I was super proud of this and figured that this could be useful for our application but the guy who has been there for 5+ years was like "no we have used an API for a previous client and caused the application to slow down by 1.2 seconds."
Of course in my mind I'm like, "but what was the API that you used? When I use it, it's running and returning in milliseconds. Surely you're not doing it right."
Of course because of his seniority I'm not going to say that.
It just sucks a lot because I spent a lot of time reverse engineering the API. It would have been nice to have been noticed for that work.5 -
Past month I had been working on a JSON hierarchy construction from flat rows returned by query where some bugfuck had introduced pagination for some damn reason, I never gave a flying duck to this till I get a email from one of the clients who supposedly made a complete hierarchy and my endpoint wasn't returning some hierarchy after some levels.
Frustrated that my service layer there is a bug, I debug to realise only certain rows are getting sent back from the query and ebullient from this fact , I put the bug on the DB person and walk off for a smoke.
After a smooth drag , I realise while closing the email on my phone that this client had entered 10 on pagesize which would indeed just return 10 rows. *Facepalm* I didn't even need to debug all this and now I had to a face a db person I just plastered a bug on. BAHHUMBUG2 -
The moment you realize that you have successfully beaten reality with your unit-tests...
There are unit-tests for ...
... the api returning a 408 Http StatusCode when an internal request times out.
... the react app take this status-code and fires an action to display a specific error message for the user.
Every bit of code runs just fine.
Deploy this hell of an app on the server. Dandy Doodle.
Do a smoketest of the new feature.
FAIL!
Chrome starts to crumble during runtime. The api Request freezes.
Firefox takes the 408 api response but fails to interpret it in react app.
So I began to wonder, what the hell is going on.
Actually I recognized that I had the glorious idea to return a clientside error code in a serverside api response.
Glorious stupidity :/
Finally I fixed the whole thingy by returning an 504 (Gateway timeout) instead of 408 (Clientside timeout)
Cheers!2 -
In the 90s most people had touched grass, but few touched a computer.
In the 2090s most people will have touched a computer, but not grass.
But at least we'll have fully sentient dildos armed with laser guns to mildly stimulate our mandatory attached cyber-clits, or alternatively annihilate thought criminals.
In other news my prime generator has exhaustively been checked against, all primes from 5 to 1 million. I used miller-rabin with k=40 to confirm the results.
The set the generator creates is the join of the quasi-lucas carmichael numbers, the carmichael numbers, and the primes. So after I generated a number I just had to treat those numbers as 'pollutants' and filter them out, which was dead simple.
Whats left after filtering, is strictly the primes.
I also tested it randomly on 50-55 bit primes, and it always returned true, but that range hasn't been fully tested so far because it takes 9-12 seconds per number at that point.
I was expecting maybe a few failures by my generator. So what I did was I wrote a function, genMillerTest(), and all it does is take some number n, returns the next prime after it (using my functions nextPrime() and isPrime()), and then tests it against miller-rabin. If miller returns false, then I add the result to a list. And then I check *those* results by hand (because miller can occasionally return false positives, though I'm not familiar enough with the math to know how often).
Well, imagine my surprise when I had zero false positives.
Which means either my code is generating the same exact set as miller (under some very large value of n), or the chance of miller (at k=40 tests) returning a false positive is vanishingly small.
My next steps should be to parallelize the checking process, and set up my other desktop to run those tests continuously.
Concurrently I should work on figuring out why my slowest primality tests (theres six of them, though I think I can eliminate two) are so slow and if I can better estimate or derive a pattern that allows faster results by better initialization of the variables used by these tests.
I already wrote some cases to output which tests most frequently succeeded (if any of them pass, then the number isn't prime), and therefore could cut short the primality test of a number. I rewrote the function to put those tests in order from most likely to least likely.
I'm also thinking that there may be some clues for faster computation in other bases, or perhaps in binary, or inspecting the patterns of values in the natural logs of non-primes versus primes. Or even looking into the *execution* time of numbers that successfully pass as prime versus ones that don't. Theres a bevy of possible approaches.
The entire process for the first 1_000_000 numbers, ran 1621.28 seconds, or just shy of a tenth of a second per test but I'm sure thats biased toward the head of the list.
If theres any other approach or ideas I may be overlooking, I wouldn't know where to begin.16 -
Returning back to the C# with NET Core was a mistake.
Currently working on a simple web project and I'm already stuck with the simplest problem: cannot connect to the local PostgreSQL instance.
"Cannot resolve host", bull-fucking-shit, localhost is not resolvable, 127.0.0.1 is not resolvable.
Better enough, tried to run Dns.GetHostEntry (which failed from the stack trace) on same localhost and... It's working... Why it's not working on the fucking Npgsql, why it's not working in the lib.
Now I totally understand that I don't get Microsoft's way of solving problems.13 -
I want to buy this human a beer.
https://aleksandra.codes/tech-conte...
"Most tech content is bullshit"
N-gate summary:
"A webshit determines and announces the core truth of webshit. Hackernews bemoans the displacement of the technical book by the shitposting factory, but fails to reinvent the industry journal as a replacement. Other Hackernews debate whether the problem might actually be those snotty kids who don't know anything. The Hackernewsest post comes as someone declares critical thought as Considered Harmful, and recommends instead pestering random experts to train you for free. The rest of the comments are mad at Google for returning shitty search results, making it too difficult to just be told what to do."8 -
I’m struggling in studying and that’s seriously holding me back, regardless of the type of technical book I’m reading I’m always in a fight with my brain. Even if I enjoy the topic and then I’ll enjoy using what I read while I study I struggle to learn more than 1-2 chapters (sometimes even less) at time then my head starts to hurt, my focus drifts away and if I force myself to go ahead my brain just refuses to store the new informations, it feels like filling a full tank.
At this point I should have learned C++ and Swift and started to contribute to projects which aren’t overdone web apps but all I have are two half read books which silently “judges” me anytime I open my eBook library and I dread returning to having associated them to headache and frustration and the only things I read this year are design patterns (which haven’t found a single real life use since then) and F# (which I never used with the exception of some little demos and is now slowly fading away in my memory).
Have you got any study advice to help me dealing with this frustrating situation?3 -
Other peoples' code... (in C++)
I am finding what some people consider good code is not as described. I found a class that provides strings. Great it gives me paths and stuff. I incorporated it in a new project.
segfaults
Hmmm, it must have an init function... It does, but not in the class. It has a friended init function:
friend init_function(). If this function is not created and called external to the class then the class will segfault...
okay...
I implement this. I use code from another project that implements this correctly. The friend class allows the private constructor to be called to create the main instance of the class. So its a fucking cryptic ass singleton. I look at this class. It uses a macro to decide what to function call in the class. The class already has function names for each call it needs to make. The class is literally a string lookup table. I vow to redo this shitty code, someday...
I start to wonder what other fragile code I will find. Not long later I keep getting errors on malloc. Like any malloc that is called results in a segfault. The malloc is not at fault though. I run valgrind and find a websocket library is returning an object a different size than the header file describes.
WTF...
Somebody has left an old ass highly modified definition of the websocket header in a location in that I include headers (partly my fault). I eliminate that from my include path. All is well, everything behaves. I will be making sure this fucking header is not used and it is going to die. Wasted a bunch of time.
Lessons learned: some code is just fucked and don't leave old ass shit you tried laying around.5 -
Getting a new laptop is exhausting if you haven't been keeping up with the technology. I have purchased three laptops in the last two weeks returning the first two after spending 10 + hours each installing updates and software just to find out they didn't work for what I needed.1
-
Heyo, it's me. That fool who always says shit about unity.(:
So.. i just got my first real hands-on down, and phew, i gotta say.. I overestimated that heap of bullshit.
It's not like there are basic concepts of gamedev, framebased ticking and stuff like that since before the fucking gameboy - nope - let's do shit different. More ... Shit. First, we invent something new. Lets call it "prefab". None of these fuckers is going to know what that shit is.
What next.. oh the new-keyword. That's bullshit, all languages use it. Lets make Instanciate(). That's the stuff.
On we go, scenes. Most shit is statically created beforehand and used by scripts glued to stuff. Hell that so neat actually. Creating materials beforehand and then we can just load em!(:
NOPE. yo bro your Material where u used one of those loading-methods is null. We ain't telling you whats wrong, cus you know.. Load() returning null is like completely normal, why throwing an exception?
Oh and btw, it needs to be in ./Resources/, but it wont make any difference.
So now you want to google your problem, eh? Forget it. The Forums only answer on stuff like "how to add 2 numbers in unity" and the guide shows you how you did it, but they say it works that way.
Dude holy shit, of course this is a buhuuu i don't know how to do shit rant because i feel like good 8-10 years of dev experience collected while not doing homework for school were for fucking nothing.:b
And i have to use it.
Subjective Opinion: Unity was made by crackheads.6 -
When I hit the endpoint from Postman it works. When I hit the endpoint from my application that pushes data to the endpoint it doesn't work, returning a 404 status code. I KNOW the endpoint is there and operational and that both Postman and my application have the same endpoint configured, letter for letter.
So lost. So confused. What the hell is going on.
I decide to install Fiddler to monitor the traffic to see if I can see anything helpful.
I initiate the request again from the application and immediately see that the request size is huge. BAM. It immediately hits me, the payload to the endpoint is too big and the server is "rejecting" it with a 404. I post a smaller request with the application and it works fine.
Yay, saved by Fiddler.
Why does the endpoint default to 404 in such scenarios. The definition of 404: "the client was able to communicate with a given server, but the server could not find what was requested"
In my case, the 404 returned was a red herring. I understand that the substatus code gives more information on why the 404 was returned, in my case the request size being too big, but 404 in general feels like the wrong status code to return because the endpoint IS there. It made me troubleshoot the wrong thing.
Thanks, IIS.4 -
When you're writing a function to check whether a record exists before you create it, make you sure check *before* you create it!!
Spent ages debugging something earlier which was always returning a hit even though I wasn't expecting it but then I realised the record was being added before I ran my check, therefore always said it was found.
Sometimes I'm an idiot.1 -
I was returning something at MicroCenter the other day. The guy in front of me was picking up a laptop be brought in to have fixed. They had replaced the motherboard, and put all his old data on an external drive.
"So what's this?"
"This is an external hard drive. We copied all the data from your laptop onto it and put a fresh install on it."
"So .. how do I get to it?"
"You just plug it in, over USB."
"So how ... how does that work."
This goes on for a while. Shop owner has to start his computer. Plug in the drive. There was a lot of, "So everything that was on here, is now on here?"
The guy had no basic understanding of external hard drives, USB, copying files ... thankfully while the files were copying from the hard drive to his desktop, he said he needed a longer cable to the router so he could put it on the other side of the room. It took the guy behind the desk an unreasonable amount of time to direct him to the isle with the Ethernet cables, but once he did, I was finally able to return my item.
I'm glad I no longer work in desktop support.1 -
Am I reposting? ¯\_(ツ)_/¯
So, I am going on vacations, don't have any returning plans rn ^~^
Don't miss your dad ಠ_ಠ -
Frontend using async calls same way as sync to load json config which contains backend api url. To make calls to backend API and sometimes file is not loaded before they call Api. This results to calling on current domain instead on domain from json file. Moreover, blaming that be is returning incorrect response.2
-
My dumbfuck hosting fucked up the mysqlnd installation and it is missing the pdo api extension. All my queries are returning strings for every field. It's easter so no support available. I've planned to deploy the new site in this weekend. Now i have to manually typecast after every query because i've used === everywhere. This will be a long day...6
-
Returning at work after holiday and have to relocate again! This is the 3rd time in two months... Feeling like a nomad..!2
-
So I'm returning from parental leave on next week...
One of the projects I'm involved in, was at 10% progress when I left, had planning and documentation made by me, development environment and test suite setup by me and had tests and was being reviewed.
Right now it should be arround 75% progress, no longer is being reviewed, planning is not being followed and no tests have been made since I've left...
Why bother with dumb ass devs!2 -
Oh come on MySQL driver, returning all values as strings? Really? It's like they went out of their way to be dumb.4
-
I was hired as a wpf dev for a large scale project and I was told that the backend is perfectly complete and that I am able to work right away, then after I started working, I noticed that every request I sent was returning a 500 internal error, I thought it was a problem on my end, but later I found out that they didn't even implement the api yet, it was just a "reference" for devs, which basically means that I should work and give them a perfectly functional app without testing anything at all.1
-
architecting non-trivial code for the first time and doing poorly
returning to it and having trouble building on top and around it
fml
bicycle stick comic meme1 -
Microservices
Lets take an example: Products service & orders service.
When I want to save an order for a user, data saved as
1. UserId, ProductId, Quantity, Date
Or
2. UserId, Name, Email, ProductId, ProductName, Quantity, Date
I'm a bit confused here because if I'm going to fetch that purchase, in example 1, it will return IDs requiring another trip to server to get user & product info
In example two it takes only one trip BUT if any changes is made to either user info or product info it means I'm returning wrong info to the user.
What do we do in this scenario? Excuse my questions first time applying Microservices and been using monolith all my life6 -
For a new microservice we were designing, I recently had a design discussion with a team member on creating REST endpoints for a new entity. This discussion went on for almost 3 hours, most of the time was spent on why to have two endpoints for getting this resource, one is a POST using a graphQL-like query and another one is a GET using unique ID. I said, the client-side use case is different, one is a dashboard where search results need to be shown based on multiple fields and the unique ID won't be available there because it is a system generated value, second one will be used when the unique ID is present in the client as a result of previous search result. Their responses will be similar, first returns a list of entities, second returns a single entity of the same structure.
Then came the next argument: if both APIs are returning same response, why do we need two different requests ?
It was like saying, because 5+6=11, any sum of two numbers resulting in 11 should always use 5 & 6.
Are people so frustrated of working remotely all the time that they come with such weird arguments ?1 -
Been struggling with an issue all weekend (it had to go to client today) with no solution and without understanding why it was returning the wrong values.
Arrive this morning to the office and team leader asks me about the issue and gives me a new one with higher priority, so I decide to pass my issue to a junior I work with.
While doing so and explaining everything he should look into, by some magic powers I found the reason for the issue
Thank the rubber ducking god!!! -
Working with Yelp API.
Had a working method to return Restaurant List in a separate project.
Moved that code to a new project.
Spent 3 hours trying to figure out why the tried and true method was returning an empty list.
I forgot I had also made a helper method in that other project to turn km into meters.
Instead of searching a 5km radius, I was searching a 5 meter radius...
(Prior to that I mixed up my longitude and latitude, and searched for pizza places in the antarctic. Spoiler: There are none.) -
1. Commented code instead of actually cleaning it up.
2. Returning default return variables instead of rewriting obsolete code. (Generally if/else conditions with return). So instead of removing the if/else statements i return default value(null or empty objects). This is when the case of if/else will never arise. -
public static Map<Integer, List<Integer>> stuff(arguments) {
HashMap<Integer, List<Integer>> map = new HashMap<>();
method(map, otherVariables);
return map;
}
public static void method(HashMap map, otherVariables) {
map.put(things);
}
So... You know how to return a map from a method. Then why do you create the map outside the method and make it an argument that does not get returned, making it confusing because the map gets created empty, given to a different method, then returned, making it look like you're returning an empty map...
...instead of just creating it inside the called method, returning it and assigning it to a map in the calling method? Even if you think that would create another map (it doesn't), the compiler is intelligent and can optimise that away.9 -
Back home from vacations tomorrow.
It wasn't the best time I had but the thought of returning to daily life is already giving me a stomach ache.
Gotta take care of my little pug too, my anxiety about his partial eye keratosis isn't doing great too. Since the caretakers don't apply eye medication regularly.
There's this fear of my productivity before uni begins, I really don't want my vacation to end with me returning without completing my application.
I've still got a lot to do, anyone want to partner up with me ? I've still got load balancing and failover mechanisms which I have no real-time experience with (excluding api related stuff). I've got a general idea to use nginx. -
Wish me luck, I'm returning back to Uni after a months long hiatus. Algorithms, Node and rest API awaits me 😓2
-
Yesterday morning I was working on importing records to a Shopify store. A few thousand records in their API starting returning status code 420 with the message "Unavailable Shop", same for the admin panel.
I called support and they created a ticket but it's been almost 24 hours and our shops API and admin panel are still on a smoke break apperently. -
Currently working on a GUI config generator using MFC in VS.
Firstly, fuck sake Microsoft. Why can't I just use a normal string? The amount of times I've had to do god awful conversions to/from CString using their numerous typedefs L, _T and don't even get me started on LPCTSTR, LPCWSTR... It's just ugly and tedious. I've gotten used to it and all but still, ugh.
Secondly, some of the functions are just stupid. Want to disable a control? Hmm, we'll there's a function called EnableWindow, but no DisableWindow. How did I do it before? Oh, so to disable the control it's EnableWindow(FALSE). Of course it is, duh. Why am I so stupid?
Let's use the GetWindowText function. Simples. CString something_txt = GetWindowText().
Nope, it takes the CString as a parameter and copies it into that rather than just returning the text. Now one line becomes two. I get that this is a really small semantic thing but it irks me.
I just want to go back to my fedora partition. Wah.
PS: I'm sure there's good reasons for what I'm ranting about, but I really don't care. I just need to rant about my frustrations. 😂1 -
returning from 2 weeks of PTO, the haiku
what was I doing?
*Looks through tickets in jira*
gives up. plays halo. -
-> Had to remap all api endpoints on the backend...
-> The system architect raised a critical bug, saying he can't delete reports from the GUI even though the back-end is returning HTTP 200 (for now, say we also save some sort of reports in our DB)...
-> While remapping, I had returned get in the delete call xD
-> He thanked me for not doing the other way round, delete function in get call xD1 -
Microsoft certsrv is returning UTF-8 on the authorization error page but UTF-16 when logging in via basic auth...
Debugged this for 2 hours today to parse the response correctly. Thanks Microsoft -
So if you’re awaiting a promise and the async function returning the promise calls another async function and doesn’t await it could this counterintuitively cause the whole thing to freeZe ?14
-
!rant
Loving the the fact that constructors in Swift (initializers) can fail (returning null/nil) and be async.
In C# there is no other way than using static methods instead.8 -
Had to extend the platform of a customer. For one part of my task (generating an encrypted string) there already was a class with encryption and decryption methods. This class is used in a gazillion places all over the code, so I thought it might be a good idea to re-use already existing stuff... Until I saw that the encryption method using basic Java methods (all fine with that) wrapped in a try-catch block, 'cause the Java methods may throw, returning err.getMessage() in the catch block...
Yeah...sure...makes sense... Instead of throwing an error or returning null just remove the possibility to handle the error.
So I decided to basically copy the methods and return null so I can work with that.
Created a merge request and was told by another dev of that company to remove my own impelemtation of the encryption method and use the already existing. Arguing that I won't have a possibility to prevent my code, that returns an URI containing the encrypted string, from generating something like "http://..../Encryption failed because of null" without success.
So I had to use the already existing crappy code...5 -
Returning from a crazy interview, found these on my doorstep. And life is beautiful again.
Thanks @dfox1 -
TIL python list variable asignment points to the original instance
I know this isn't reddit but today I noticed that in python when you asign a list variable to another variable in python, any change to the new variable affects the original one. To copy one you could asign a slice or use methods returning the list:
l = [1,2,3,4]
l2 = l
l2.append(5)
print(l)
#Outputs [1,2,3,4,5]
l3 = list(l2) # also works with l2[:]
l3.append(6)
print("l2 = ", l2, "\nl3 = ", l3)
#Outputs l2 = [1,2,3,4,5]
# l3 = [1,2,3,4,5,6]
I wonder how the fuck I haven't encountered any bug when using lists while doing this. I guess I'm lucky I haven't used lists that way (which is strange, I know). I guess I still have a long way to go.5 -
!rant
Ever find something that's just faster than something else, but when you try to break it down and analyze it, you can't find out why?
PyPy.
I decided I'd test it with a typical discord bot-style workload (decoding a JSON theoretically from an API, checking if it contains stuff, format and then returning it). It was... 1.73x the speed of python.
(Though, granted, this code is more network dependent than anything else.)
Mean +- std dev: [kitsu-python] 62.4 us +- 2.7 us -> [kitsu-pypy] 36.1 us +- 9.2 us: 1.73x faster (-42%)
Me: Whoa, how?!
So, I proceed to write microbenches for every step. Except the JSON decoding, (1.7x faster was at least twice as slow (in one case, one hundred times slower) when tested individually.
The combination of them was faster. Huh.
By this point, I was all "sign me up!", but... asyncpg (the only sane PostgreSQL driver for python IMO, using prepared statements by default and such) has some of it's functionality written in C, for performance reasons. Not Cython, actual C that links to CPython. That means no PyPy support.
Okay then.1 -
How do you test unreachable code or part that is considered an edge case?
For example I catch exceptions in case IO failed and data was not written on database, but that only happens if hardware failure, or no disk space left, how do I mimic that?
I also have unreachable code for example, in one layer I fetch data (lets call it function x) and always return success result unless item not found I throw KeyNotFound exception. But in the calling function I handle the case of Status == Failed
Just in-case in the future I change function x and start returning failed status, so my logic already written but never reachable14 -
Cool project, cool people, but everything-just-works™ code makes it hard.
Every component has its own logic for the things that are already made, every table has its own filters and those filters are the same piece of code in every component.
I'll complain about this shit tomorrow as today I spent my day making a fucking table work, can't even copy the shit as it has its own intertangled logic that doesn't make any fucking sense.
Yesterday I ate Bolognese, today I'm working in one.
Lol the funniest thing Iis that dude who wrote this piece of shit is gonna review my code, can't wait for that call.
And yeah useMemo() on every fucking function. Functions pulling shit directly from state and returning it straight away...
Literally this:
const filteredData = useMemo(() => { return stateData }, [stateData])
Ok, what the actual fuck.
The weirdest wtf was that typescript is used as it should, like every case covered correctly. Not sure if gpt or just dumbasses working on this pos.7 -
Spent an hour trying to figure out why my API request was returning unauthorized, turned out I had a trailing space after the ID (hard coded for testing purpose) T_T4
-
!rant
The joys of returning from my annual leave..
My contributions after just being back from a 7-day leave.. 27 in total.. PR's, issues, bug fixes, feature fixes, requested features,..
Feels good tho.. It was a productive day today and we made the weekly update! :D
( Yes, I pushed commits while on vacation :D )2 -
TIL the .NET HttpClient doesn't work as expected if you don't put a trailing slash in its base address. I spent half a day trying to figure out why my api calls are returning HTML instead of JSON. Thank you Microsoft.2
-
Note: In this rant I will ask for advices, and confess some sins. I will tell my personal story- it will be long.
So basically it has been almost 2 years since I first entered the world of software development. It has been the biggest and most important quest of my life so far, but yet I feel like I missed a lot of my objectives, and lots of stuff did not go the way I wanted them to be, and it makes feel frustrated and it lowered my self esteem greatly. I feel confused and a bit depressed, and don't know what to do.
I'll start: I'm 23 years old. 2 years ago I was still a soldier(where I live there is a forced conscription law) in a sysadmin/security role. I grew tired of the ops world and got drawn more and more into programming. A tremendous passion became to burn in me, as I began to write small programs in Python and shell scripts. I wanted to level up more seriously so I started reading programming books and got myself into a 10 month Java course.
In the meanwhile I got released from army duty and got a job as a security sysadmin at a large local telco company. Job was boring and unchallenging but it payed well. I had worked there for 1 year and at the same time learned more and more stuff from 2 best friends who have been freelance developers for years. I have learned how to build full-stack mobile apps and some webdev, mainly Android and Node.js. However because I was very inexperienced and lacked discipline, all of my side projects failed horribly, and all attempts to work with my experienced friends have failed too- I feel they lost a lot of trust for me(they don't say it, but I feel it, maybe I'm wrong).
I began to realise I had to leave this job and seek a developer job in order to get better, and my wish came true 6 months ago when I finally got accepted into a startup as a fullstack webdev, for a bit lower wage but I felt it was worth it. I was overjoyed.
But now my old problems did not end, they just changed. My new job is a thousand times harder and more intensive than the old one. I feel like it sucks all the energy and motivation that was still left in me, and I have learned almost nothing in my free time, returning home exhausted. My bosses are not impressed from my work despite me being pretty junior level, and I feel like I'm in a vicious cycle that keeps me from advancing my abilities. My developer friends I mentioned earlier have jobs like I do and still manage to develop very impressive side projects and even make a nice sum of money from them, while I can't even concetrate on stupid toy projects and learning.
I don't know why It is like this. I feel pathetic and ashamed of my developer sins and lack of discipline. During that time I also gained some weight that I'm trying t lose now... I know not all of it is my fault but it makes me feel like crap.
Sorry for the long story. I just feel I need to spill it out and hope to get some advices from you guys who may or may not have similar experiences. Thanks in advance for reading this.2 -
Coming from NodeJS, writing APIs with Express, I now do my first steps writing APIs in golang with gin.
Now I know, Express is not the fastest solution out there, but I mean - a good 30ms is alright for non-high-performance backends. And I always thought that's on the faster end of HTTP handling..
..but then I used gin. A GET request doing a MongoDB-write and returning some json. 3ms response time. THREE MILISECONDS. holy fuck. By it's debug logs the actual handling took 540 MICROSECONDS. holy fuck I'm in love.8 -
Sooo after returning from my 3 weeks of vacation (student part-timer so no real obligations) I learned that the last two months of work refactoring our legacy app to conform to modern Android app standards, is being shut down because we begin to rewrite everything for cross platform...
Not sure how I feel about it, because I really liked Android development and I poured my heart in it... On the bright side: I'll get to learn more Javascript, HTML, css and polymer stuff which I guess is good.
It still stings a little 😥5 -
Today was the last day of my 10weeks internship. That was a great experience. Returning to school make me feel so sad :(2
-
A CASE AGAINST BLUE PRISM
Let's review one of the worst weeks I had with Blue Prism
Monday: Yay! Solved one of the problems we've been carrying around for a week before.
One of the robots suddenly became slow. Like, REAL slow. A process that would take 3 minutes per record now takes 45, and that broke apart all the following schedule.
There were no updates on the application server, the production machine, the robot, it just became slow. And not always slow; a process manually run from console room would work, a process in debug room would work, it's just the scheduled part that caused problems.
It turned out, BP didn't seem to like that particular combination of schedulation + process + machine. Moving the process to a different machine seemingly fixed that. IDK why.
Tuesday: One of our processes waits for a code to appear in the page, and when that happens, it memorizes this code. However, now it is always returning blank. Worked for months, now it breaks every single time.
After half a day of debugging a bug which DIDN'T HAPPEN IN DEBUG MODE YET AGAIN, at 11pm I decided to just place a nonsensical timeout in page before reading and call it a day.
WEDNESDAY: a scheduled process didn't start. "No sessions created". Thanks Blue Prism, very cool.
THURSTAY: This time, schedulation did start, but the process is "waiting". As in: it's 9:30 am, the process has been stuck in the same step since 6:00 am. Turns out, it blocked during a navigate stage; you need to send a string to clipboard using the standard BP action for that, then paste and click "enter", but for some reason the standard BP object sent "ORRCO" instead of "ORRICO" to clipboard, which obviously returned no results and then... the process just didn't feel like doing things anymore. No errors, no logs, nothing: just sitting on its ass. Because fuck you that's why.
Friday: another process uses a very moderate amount of scripts to work. Nothing really fancy, just a couple of lines of code to place in page some IDs and selector to help BP do its thing, otherwise selecting these elements would be a nightmare.
But
Failed while invoking javascript method:Exception from HRESULT: 0x80020101-> at mshtml.HTMLWindow2Class.IHTMLWindow2_execScript(String code, String language)
The same script -it's not dynamically generated-worked yesterday, the day before and the day after. But sometimes it will not. Why? The answer, my friend, is blowin'' in the wind -
almost one entire day debugging why Soap Client gives some strange errors to find out that the 3rd party service we are calling is returning plain XML instead of a valid Soap message :(
-
Alright... so now my week of vacation and advanced but fun coding is over... tmr I will be returning to the grind...
Time to go back to ranting and thinking about how to get a better job... and preparing for those pesky technical interviews... -
Tying to make something of myself without working for anyone else.
It used to be easy for me, but fear kept me from perusing things all the way thru when I was younger. I never wanted to leave what were decent jobs at the time.
I finally did it. Threw away a very good job to bet on myself.
But the difference is, now I have a family and finding free time in itself isn’t that hard, but finding free time to code uninterrupted for hours... the way one needs to in order to hold a program in ones mind... yeah, near impossible these days, haha.
I have great ideas but I need help to get things to that ‘next level’ where an idea could take off and get real investments. And I need money to pay the help... Just getting the ball rolling would be nice. I used to take it for granted how easily I could get side jobs and be literally the best in town. But now it’s insanely competitive. I don’t even consider Webdesign an option for side work anymore, with sites like Wix and customers that don’t appreciate what I do vs a kid that gives them a Wordpress theme for just the cost of dirt cheap hosting... traditional Webdesign is dead.
But that’s all well and good, i saw that coming over a decade ago and focused more on coding application. I do think there’s a niche for my programming skills, so my current goal is trying to exploit that, or at least see if it’s viable. I just need something to get money to invest in my real projects.
I’d love to hear from people with similar situations! Not sure if I’ll pull it off before I have to go back to work. Although, I viewed never returning to the workforce haha. We’ll see... -
Cleaning up code warnings in a 3rd party piece of software and found a function that was returning a pointer to a local variable, who wrote this piece of shit?!1
-
When everyone thinks FE is easier, quicker, and less important than BE. Just because our fantastic UX people made you a high fidelity mockup in a day does not mean we can build the whole FE in a week.
This is why I'm returning to full stack. -
Borrowing a JavaScript book from the school library and realizing that it was published years ago and is very outdated because it always refers to the compatibility with Internet Explorer. I'm not sure if I should continue because after all, it's the basics. Maybe it's worth returning already... or maybe not because I don't always have access to the internet, but a book is easily accesible with or without internet.3
-
A bit longer rant, somehow triggered by the end of this rant:
https://devrant.com/rants/7145365/...
The discussion revolved around strpos returning false or a positive integer.
Instead of an Option or a Exception.
I said I'm a sucker for exception, but I'm also a sucker for typing.
Which is something most languages lack - except the lower level ones like C / C++.
I always loved languages which have unsigned and signed types.
There, I said it... :) I know that signed / unsigned is controversial, Google immediately leads to blog entries screaming bloody murder because unsigned can overflow – or underflow, if someone tries to use a -1on an unsigned integer.
Note that my love is only meant for numeric types, unsigned / signed char is ... a whole can of insanity on its own.
https://phoronix.com/news/...
If you wanna know more.
Back to the strpos problem, now with my secret love exposed:
strpos works on a single string, where a string is a sequence of chars starting with 0.
0 is a positive integer.
In case the needle (char that should be looked up in the string) cannot be found in the haystack (the string), PHP returns "false".
This leads to the necessity of explicitly checking the type as "0" (beginning of string, a string position)... So strpos !== false.
PHP interprets 0 as false, any other integer value is true.
In the discussion, the suggestion came up to return -1 if a value could not be found – which some languages do, for example Scala.
Now I said I have a love for unsigned & signed integers vs. just signed integers...
Can you guess why the -1 bothers me very much?
Because it's a value that's illogical.
A search in a sequence that is indexed by 0 can only have 0 or more elements, not less than zero elements.
-1 refers to a position in the sequence that *cannot* exist.
Which is - of course - the reason -1 was chosen as a return value for false, but it still annoys me.
An unsigned integer with an exception would be my love as a return value, mostly because an unsigned integer represents the return value *best*. After all, the sequence can only return a value of 0 ... X.
*sigh*
Yes, I know I'm weird.
I'm also missing unsigned in Postgres, which was more or less not implemented because it's not in the SQL standard...
*sob*29 -
I'm trying out Picolisp. Cool, I think, an OpenGL library. I'll try the example program.
(Clicks mouse on program window)
(A wild SIGILL appears!)
Two hours later, still trying to figure out why it's doing that, with Google and DuckDuckGo returning no helpful results whatsoever. This is very annoying.2 -
I'm currently migrating one of the companies services from technology A to an B based solution...
Today I had to remotly troubleshoot an error occuring somewhere on our client's backend application, that wans't enabling us to register any given webhook to our endpoints...
We finally gave in and looked up the data packets using a sniffer only to find that the only difference was that in the A technology project our staff ended up returning a Status Code plus the respective Reason Phrase, in our newest version we only send the HTTP Status Code... Guess who wasn't aware of HTTP 1.1 RFC consideres the Reason Phrase optional and an unecessary overhead??? God dammit... In simple terms...1 -
Android Architecture components
Spent 30 minutes debugging the new Room database only for I to figure out later was returning an instance of an entity yet was supposed to return a Dao -
A programmer is sent to the grocery store with instructions to "buy butter and see whether they have eggs, if they do, then buy 10."
Returning with 10 butters, the programmer says, "they had eggs."1 -
First time linux user feedback
Linux lovers are probably gonna eat me alive but I don't give a flying fuck
Maybe its a little lenghty or boring, tell me what you think
Backstory:
I work for game extension company. We work with WinAPI and such. I've been using Windows since forever and I'm happy with it. But I thought to myself "hey, if I wanna be a good dev, I should give Linux and OS X a try, too"
I downloaded Linux Mint couple of months ago to start with. I was unable to boot it from live CD no matter what I tried, even in recovery mode. Apparently, Mint 18.3 was based on Ubuntu 16.04 which doesnt support UEFI
Wait, what the fuck, all modern PCs have UEFI so what, do all Mint users have 10 y/o laptops and PCs???
Anyway, when I heard about Mint 19 being released I thought to give it another try and I did. What a surprise, it booted successfully from Live CD. I saw the Linux desktop for the first time in my life, yay! I then installed it, GRUB appeared, my Windows was still there and wasn't broken so I was happy SOMETHING was working. I configured timeshift and applied dvorak layout system-wide. Realised dvorak layout is fucked up big time and applied normal layout for just desktop environment. Everything was really nice until couple reboots later Cinnamon stopped launching (kept returning to login screen). Okay, lets use timeshift
First big what-the-fuck was when I found out system restore can only be done using GUI??? This is absolutely retarded and I couldn't believe it is true. Login screen has a reachable console but I can't login there since I can't type the password. Fuck, fuck, fucking drovak layout was there.
Recovery mode - I've spent 20 minutes trying to type "timeshift --restore" having to press all keyboard buttons just to progress with one button. I've had another what-the-fuck when I saw "error: can't restore timeshift - partition already mounted"
Okay, this is too much. Why the fuck would you bundle a recovery mode if you can't restore a snapshot from there.
I have spent 3 hours now googling and trying to remove this fucking keyboard layout. No dice. I am making another copy of the live CD now. I'm gonna reinstall the whole shit now. I have the desire to create a custom Mint version without this abomination of a keyboard layout.
It's okay. Windows has taught me to be patient.
Fuck Dvorak, I dont know who the guy is but his keyboard layout can eat my dick7 -
MongoDB database with really relational data. One main collection that had refs to four other collections, all of those references necessary to populate data for a page view. Complicated aggregate to populate all the necessary data and then filter based on criteria selected by the user. And then the client decides that he wants the information to be sortable by column. Some of those columns are fields on the main model, no problem. Others are fields on the refs, which is more of a problem. Especially given that these refs aren’t one single object. They’re arrays of objects.
The revelation was that I could just write an aggregate function to flat map the main collection, returning only the fields necessary for the search, and output it to a new collection and instead use that new collection for displaying and filtering/sorting search results.
But you can’t run the aggregate all the time, you surely say. If anything changes in the main collection, it won’t be reflected in the search results!
Mongoose post(‘findOneAndUpdate’) hooks, my friends. Mongoose post(‘findOneAndUpdate’) hooks.
Never been so happy to have a thing working properly in my life.2 -
you guys ever seen a webservice returning view elements for the front end to interpret and generate views using a switch
switch(data.type)
{
case password:
// generate password field with returned value
...
}
is this really some new practice in back end / front end design ? it just frustrates me so much. web service should be returning data only. i can't maintain this code it's too much crap.2 -
So...buffered query kept crashing even though I have a row limit of 10001 on my abstract datatables class. I didn't realize it was buffered because I grab the results in a for loop as a fetch. Well, I tracked it down to being the size of the email content that I'm selecting (and then using strip_tags and substring in PHP before returning to the front-end). So it's totally a catch-22 at this point because if I select let's say...substring 500 characters and most of that is line breaks and other html junk, I may only get a couple characters of normal text (or none at all) after stripping tags and doing a final substring to get the 50 characters of text I want to display. I said screw it and took the email content out of the table all together. You have to view it to see the content now. I should probably be storing a text-only version of the email, but argh..that's a lot of extra data.
-
tfw my asp project at VS 2015 and 2010. returning result differently. got error at VS2015 and runs awesomely good at VS2010
then i was like : wtf("compability","what the hell just going on??!!") -
To keep the search results of a self build webshop after browsing and returning after searching, my client had "the solution" to make the product page picture-in-picture. He's a self acclaimed tech and seo expert.
In the end I solved it with pushstates1 -
You know ya listening to too much daft punk when you start calling methods after the song your listening too, SearchDaFunc Func returning to a polling Func, anyway here's Da Funk
https://youtube.com/watch/... -
it works on my machine. this is quite disappointing and keeps me from trying to solve the problem from home.
i was even psychologically prepared to ask on stackoverflow, but now i'll have to wait until returning back to work...5 -
So I bought a gtx1650 gpu for my old phenom II X4 pc. It didn’t work – the screen vent black in like five minutes after powering up the pc.
I was disappointed, but instead of returning the gpu, I bought all the other components to build a new pc on ryzen cpu. Including the gpu, it all was like $400 and I still have all my old parts to sale.
Now I’m here, playing all the latest games like doom and wolfenstein on ultra in 1080p 60fps and I’m more than happy.
I basically found a way to convert my bad experience into good experience. I’m just off my therapy, so all that bad experiences that may seem insignificant are a big deal for me.
I didn’t knew it was possible to make a good emotions out of bad emotions that easy. If only I knew the way to apply this strategy for any arbitrary situation.
(please miss me with that boomer bullshit like “nothing is wrong stop whining and get over it” etc. I’ve been there, I’ve done that and I needed medical treatment afterwards. “Getting over it” just doesn’t work)6 -
It's a good intention if you want to separate your code in logical units and split it into multiple methods, but could you please stop handing the control flow through about 20 methods before even really starting with the actual logic? This mess is 10 times as long as it needs to be, because someone decided to make everything go through 10 "validate one little thing" methods for every method with actual logic!
Edit: DevRant didn't allow me to post first, now I've analysed the code a bit more and the control flow actually goes out of a specialised class into a generalised class and back (not by returning, but by calling the specialised class from the general one) and the parameter that says what specialised class to call gets written into a class variable, then read from there and passed as a method argument, then back into another class variable, then the code changes it up a bit as a local variable, then passses it as a method parameter again... First it seemed like it knew what class to call using black magic, but no, it actually just hid the fact really well that it did in fact pass the class reference through in multiple forms from beginning to end. -
!!rant
Just spent a week creating a distributed api architecture which I found out won't work due to a singular issue which can't be solved - not unless I hack stuff to a degree where I might as well write my own frameworks.
I've been aiming the user application's requests towards my wsgi, which based on a custom header will proxy it towards the correct api. Each customer base has their own api and dataset, but they all visit the same address.
I've handled CORS manually, just picking up when there's an options request, asserting the origin, then returning the correct headers. Cool everyone's happy. Turns out, socket.io includes session id and handshake info as part of their options preflight, which I can't pair with my api header (or cookie, for that matter) which means my wsgi doesn't know where to send it. You get a 400! You get a 400! You get a 401! </oprah>
So my option is to either roll my own sockets engine or just assign each api to a subdomain or give it some url prefix or something. Subdomains are probably pretty clean and tidy, but that doesn't change having to rewrite a bunch of stuff and the hours I spent staring at empty headers in options preflights.
At least this discussion saved me some time in trying to make it work. One of my bad habits is getting in those grooves of "but surely... what the hell, surely there's a way. There has to be"
https://github.com/socketio/... -
Hello dR
Here after a long time
I'm getting way to stressed with the assignments my college is throwing at me atm
I can feel the depression returning to me
I am quite mentally unstable (after way too long)
From my home, I'm already at record low productivity but the college is not letting it slide off just yet...2 -
This guy keeps insisting there’s a bug in my code, on a specific line. The stack trace shows that a NPE is thrown in his code, before that line is reached, but he won’t be persuaded by this argument and won’t send me the class.
Somehow he’s certain that Java would throw a NPE on trying to iterate through an empty list, as if his code was even returning an empty list. Can you imagine the chaos.1 -
Customer: your app is not returning all the objects in my bucket
Support: check console log 500 server error, ssh into box check logs exhausted memory limit.
Sudo vim /etc/php.ini search memory limit
Update to a high number restart Apache sit back and think fuck did I set it to high will it blow up my server.
Only time will tell!!! Sorted out the issue until the next user with millions of objects in their buckets -
I love Typescript's challenges. Today I had to make a generic interface that replaces every property in its parameter with either itself, a promise of itself or a different property keyed `obtain${key}` which is a function returning either the value or a promise of it. Not a very difficult challenge, but it was very satisfying to solve.
If anyone has the patience to attempt it I'm very curious what more experienced type theorists than myself come up with.1 -
I'm going to talk about ancient history. When I was getting started with computers, my dad got me a Radio Shack Tandy computer (yes, the ones you had to use a TV as a monitor). The damn thing was broken from the start, I'm not from the US, so returning it and getting a new one wasn't easy.
He managed to find some place to get it fixed, got me started with Basic, and here I am. -
I'm doing a project for uni in Omnet (C++ framework that should facilitate working with networks of queues, simulating and displaying statistics).
I needed to retrieve a random value from an exponential distribution, and the function to do so requires a random number generator as input. The framework has 2 implementations of the RNG and I picked the first one.
I spent 3 hours trying every possible thing, using both the exponential() function and its class wrapper (both provided by the framework), it was always returning 0 or NaN.
The RNG was spitting out values correctly, so I thought it was okay.
When I was almost ready to give up, I figured I could try and change to the second implementation of RNG, expecting nothing to change. And it fucking worked.
Zero reports on this behavior on Google, no apparent reason why it would work with one and not with the other when the two RNGs literally implement the same abstract class and spit out the same exact numbers... Just black magic...
Oh and cherry on top, it works with the raw function but not with the class wrapper on that same function... IF YOU GOTTA IMPLEMENT SOMETHING IN YOUR DAMN FRAMEWORK THAT DOESN'T WORK, FUCKING DON'T! 1 combination working out of 4 is not good! Or at least document it!
Sorry just had to share my pain -
Why is assigning something to a variable then returning it a code smell?
Simple example:
double makeNumber(String[] numbers)
{
StringBuilder sb = new StringBuilder();
for (String n : numbers)
sb.append(Double.parse(number);
double result = Double.parse(sb.toString());
return result;
}
Why is this bad?
double result = Double.parse(sb.toString());
imagine is a more complicated assignment or calls another function that does some other weird stuff?
If i'm going to debug an issue, i m going to have to unwrap it anyway. So what's the cost of leaving it there?23 -
There's a game called Virtual Beggar. I don't usually like these mindless games but since it was so easy and I wanted to see what jokes the developer has hidden in it, I played it for a few days. I got to a point where you're asked to make the ultimate donation and restart the game. That's apparently asked multiple times in the game. You become a millionaire and then restart. Billionaire, again restart.
That's what I see now when I see people deleting their accounts and returning the next day.1 -
Hi. I'm a recent senior dev and for a long time, even before reaching senior, I'm always being overloaded with questions and meets everytime. People asking why are the services returning error (when they could at least make the first analysis and give it to me), asking me to join meets for whatever the reason, people asking how to configure environments, interns asking for help, HR asking for interns feedback. So much workload I can't even focus on the actual developments. Is this the real meaning of a senior dev? Or is this just bad management and bad company culture?7
-
Just starting with scala. And while I dig the more functional programming approach I am having the hardest of times dealing with naming higher-ordered functions, in my case a function returning another function.
Started out as `foo`, went through quite a lot of changes, and now it has become the beast: `createReplacePriceByPassengerConfigurationMapperFunction`. It won't stay that way but: GOSH! Naming. It's hard! Or I might as well suck at functional programmig. It's not like that these two things are necessarily mutually exclusive. -
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. -
#Suphle Rant 3: Road to PHP8, Flow travails
Some primer: Flows is a feature that causes the framework to bypass handling the request now but read it from cache. This cache entry is meant to be populated without warming, based on the preceding request. It's sort of like prefetching but done on the back end
While building Suphle, I made some notes on some chapters about caveats and gotchas I may forget while documenting. One such note was that when users make the Flow request, the framework will attempt to determine who user is, using authentication mechanism defined on the first module (of the modular monolith)
Now, I got to this point during documentation and started wondering whether it's impossible for the originating request to have used a different authentication mechanism, which would result in an empty entry for returning user. I *think* it's possible cuz I've got something else called "route mirroring", where web based routes can be converted to API routes. They'll then return JSON, get served under defined API path, use JWT, all automatically. But I just couldn't connect the dots for the life of me, regarding how any of this could impact authentication on the Flow request
While trying to figure out how to write the test for this or whether it was even necessary (since I had no use case), it struck me that since Flow requests are not triggered by an actual user, any code attempting to read authenticated user will see nothing!
I HATE it when I realize there's ambiguity or an oversight, after the amount of attention and suffering devoted. This, along with a chain of personal troubles set off despondency for a couple of days. No appetite for food or talk. Grudgingly refactored in this update over some days. Wrote some tests, not all passed. More pain. May have to convert them to unit tests
For clarity, my expectation is, I built this. Nothing should be impossible for me
Surprisingly, I caught a somewhat lucky break –an ex colleague referred me to the 1st gig I'm getting in 1+ year. It's about writing a plugin for some obscure forum software. I'm not too excited cuz it's poorly documented and I'll have to do a lot of groping, they use arrays instead of objects etc. There's no guarantee I'll find how to implement all client's requirements
While brooding last night, surfing the PHP subreddit, stumbled on a post about using Rector to downgrade a codebase. I've always been interested in the reverse but didn't have any incentive to fret over it. Randomly googled and saw a post promising a codebase can be upgraded with 3 commands in 5 minutes to PHP 8. Piqued my interest around 12:something AM. Stayed up all night upgrading it, replacing PHPSTAN with Psalm, initializing the guy's project, merging Flow auth with master etc. I think it may have taken 5 minutes without the challenge of getting local dev environment to PHP 8
My mood is much lighter than it was, although the battle is not won yet –image tests are failing. For some weird reason, PHP8 can't read generated test images. Hope I can ride on that newfound lease on life to study the forum and get the features working
I have some other rant but this is already a lot to digest in one sitting. See you in rant #4 -
I'm reading some react/typescript code and I haven't work much with any other language or paradigm where I might have a function return multiple objects that are different types
e.g.
const { sna, foo, bar } = useWhatever();
I mean I guess it's just unpacking properties from the actual return object but that isn't apparent to a newcomer at a glance (if I remember correctly)
https://softwareengineering.stackexchange.com/...
Looking for additional insights from the wise devrant community30 -
Just spent hours debugging my code, only to find out the author of the library I'm using decided to modify fields of "this" in a indexer getter, and then just return this, instead of returning a new object. 😤😠😩
-
Is it just me or is devrant resetting its views on android as soon as you leave the app?
Basically if you switch app and then back to devrant, youll see the home loading rants, instead of returning to the state you were in before. -
We had an issue where a query to a db replica set was returning duplicates randomly when paging. Aka each HTTP call for next N results was hitting different dbs with same/copy data.
No one could figure out why... I look at the query and ask where's the ORDER BY ID?
These guys were interviewing ppl last week and saying how even they could solve algo questions they were asking candidates.
And so to explain the problem, I'm like "tell me what's the difference between a list and a sorted list?"
#why algo questions suck at predicting job performance3 -
Those who know x86 assembly and real mode, what'd I do wrong here?
mov cx,0000
.loop
mov ax,e823
mov bx,1
add cx,1
int 15 ; supposed to be undocumented CMOS raw write on my mobo if bx!=0,ax=e823
test cx,00ff
jne .loop
ret
The JNE doesn't ever trigger, so I end up always returning no matter what cx is. I'm testing if the undocumented writes actually work, and cl is supposed to be 00-FF as it's the address to write bx to in CMOS. I'm running in real mode, if it matters.8 -
Why is React.js so hard to learn for someone from a JAVA back end background? I'm constantly asking myself "so should I set param as string? or int? Array? so many methods that's returning html tags! what collects all and makes it appear at WHERE??"9
-
So they develop this app. That uses our front end component library. That queries a GraphQL layer developed as NPM package. That uses a data service abstraction NPM package. That uses another NPM package mapper library. That queries an old REST API returning XML.
It takes days to make a newly added XML node in the bottom-most layer available in the app, requiring changes to 4 repositories and 3 NPM releases.
Refactoring is dead, because 1 change will affect all layers. And the worst part is: theres only 1 app using these packages, so no case for re-use. Overzealous separation of concerns I guess?2 -
"You don't need to put a type annotation here, the type will be inferred by the compiler"
"We don't need to mark this function as async, since we are already returning a promise but not awaiting it yet within this method"
TypeScript codebase. Am I wrong to prefer that things be explicit rather than implicit? Sounds a bit tryhard to try and make things implicit, but maybe the async really changes behavior in the second case? I don't think so, and I prefer to mark an asynchronous operation as such, but I'm still doubtful; that's why I humbly ask you all what makes more sense here.7 -
I don't think today is my day--i'm making alot of silly mistakes: forgot to call callback at end of function, forgot the () to complete the IIFE, copied a SQL querystring and forgot the change the fieldname from 'date' to 'created_at' and wondering why it's returning an empty array.
Self, please get your head in the game -
Last week of my fixed term contract, it was my first work experience, and it was related to my studies, it's awesome to have a work which is also a hobby. Now I'm returning to School!
-
Debugging code that mutates somewhere between returning a response and exiting trough nginx. Dafuq is this madness. It happens seemingly at random.
An async func calls the server that responds in some gibberish madness 1 in 100 times. How am i supposed to debug this! 🤬 -
Pushed some changes to PROD today. Go to login and check changes .. noooooope!
Still a bit new to Symfony 5... but I'm just not a fan right now. The login screen just jumps back to itself. No login failed message and prod log had a size of 0 so that was no help.
Traced this thing way down into the CSRF Authentication functions. \is_callable(...namespace) just returning null so no go on getting a token for isTokenValid() =/
ugh! This is truly the most torturous junk I've ever seen. Nothing in the logs so I decided to just use the good old ECHO'HERE' debugger.
What was the issue you might ask?... effin' yaml file
Fix for now is to set the session handler_id back to null -
Spent a few hours optimising a procedure...
It's almost quitting time now, my procedure is returning wrong results in more time...
I hate "productivity" on Friday... -
Returning to tech after 3 years working with agile, training and coaching Scrum, Kaban and XP practices. Applying for team leadership positions. Advice?1
-
Internet searches never returning a usable result but have to be submitted nonetheless:
How to make Thunderbird beautiful3 -
💧
There was a 1 second delay when loading images on home page with a bunch of hot model babes in a masonry grid
Why? 💧💧
Maybe pagination is fucked. Lets reduce it from 100 per page to 10.
Still same shit.
What do you think why this could be?
Comment below 👇 right now
(The images im loading are just dummy images from unsplash)
I tried using rxjs. Observables. Flatmaps. Custom array push. Array loop. Change detection to update UI. Chatgpt.
Nothing
Every time i switch tab and come back then theres another second of delay with blank page before content appears
Wtf???
Turns out -- unsplash api was returning me 6K to 8K Fucking images. HEAVY. HEAVY FUCKING IMAGES. and i was apparently displaying 6000x8000 px images, 20 times per page. Thats a lot of fucking pixels! I reduced it with ?w=500 in unsplash api at the end and magically there is no delay now and everything works in an instant.
Fuck off6 -
Do we need compression on api level? say I have a rest api sending json data on requests. So if compression is needed then should it be in the server when returning the json response or in the client side when receiving it? which one is ideal?13
-
Seriously why on devrant does searching for a tag return some rants without the tag, but by people named after the tag. And sometimes just with people with *related* names (eg. PHP returning a bunch of non-PHP-tagged rants by some called Phlp or something). Seriously.5
-
after moving back to my home country, buying an apartment and after my career started to head to nowhere because there is nothing to code for me in work, just manager stuff, I am returning to coding after work to get back into shape, practice more, learn new stuff (and the old stuff)
wanted to create a small webapp with laravel/vue, holy fucking shit how hard it is (for me) to setup your env
install composer -> command php not found
o.O im pretty sure i had php on this machine HOW THE FUCK WOULD I HAVE ALL THESE PROJECTS HERE THEN
install php8.1 -> no such package
-.-
upgraded to ubuntu 22.04, install php8.1, composer
create new laravel project -> 3 errors, missing laravel/pint, phpunit
* visible confusion * i told you to create a project, if you need it, why didn't you... oh, wait
composer install -> same
well, * looks left, looks right * --ignore-platform-reqs
but still getting the chills from a new project, now I go sleep and tomorrow I start my journey to get back to business, wish me luck -
It's time to reconcile the religious war with a compromise: How about we use spaces for lines with indent <= 8 chars and tabs for deeper indents?
Or maybe tabs in all functions returning strings and spaces in all other functions?2 -
Bug: "attach img/gif", select the Dropbox app to select an img from, select an img -> devRant android app returning back to the starting screen, not to the recently typed rant, the entry hasn't been saved...3
-
Apple Store API returning totally useless financial reports.
Opened a topic on their dev forum, which is now down for two days straight, so won't hold my breath hoping for a positive outcome. -
Symfony 4:
I created a firewall with a user provider and everything was great for a year and a half.
I needed a second firewall with a different user provider for my REST API.
Being stateless, the rest api firewall didn't need the refreshUser method so I didn't bother doing anything inside but returning user (without noticing how my original class was built or the official documentation which apparently says I need to throw an exception if this isn't the right user provider for the user in the session).
I was having a problem with my main firewall after that point because I assumed it would only use the relevant user provider, but even though my API firewall only applied to a specific host/pattern, the user provider for that firewall was still being used. If it had run the supports method first, it wouldn't have done that even with my initial mistake. Frankly, I don't know why there is a supports method if it's not being utilized for this purpose...I saw supports() is used for the rememberme functionality, but seems inconsistent not to use it everywhere.
Not only should Symfony be updated to check the supports() method, but I also think it should only loop through user providers for the current applicable firewalls. Since we define a user provider per firewall, I think that would be the natural way for it to work. Otherwise why even define a user provider on the firewall if it's just going to try to use them all anyway?
Furthermore, in the case of a stateless firewall, requiring the refreshUser method via the interface seems strange. -
ping REST API that is written in rust
it has specs. it will return json with result or error in it.
it's just returning result: null and no error
this is written in rust. how are you writing me responses with null objects in them? rust doesn't have null! how broken is this thing.
SAFE15 -
If anyone is good with dart (or) other single threaded programming languages, i have this small doubt about the inner workings of the event loop and such and i would like an explanation if possible.
If you're too lazy to goto the link:
1. I have a future returned from a http request.
2. a future.then is declared that prints the http result.
3. A separate while(true) loop is declared that runs forever that just prints natural numbers.
4. the while loop also has an await future.delay that waits for 1ms before continuing with the next iteration
My question :
1. There's only one thread so how does the http download code run WHILE my main loop is still executing.
2. my future.then event is not processed unless i await a future.delay separately for 1ms. returning control to the event loop ? i don't get it how does adding an event help it process a prior event? It's FIFO ?
gist :https://gist.github.com/TheAnimatri...
discussion:
https://groups.google.com/a/...5 -
How do y'all approach media-endpoints?
Specially publicly accessible user-uploaded media
Rn I encrypt the path to the media-
/file and expose it, decrypt on the server (returning a relative file-path) which then fetches the file via File.Read and returns it as-is
I put a cache header and works fine
But something in the back of my mind makes me feel it isnt right
Like, normal endpoints and file-read endpoints shouldnt be in the same backend, potentially affecting each other
But since it's just a fun pet project so Im not paying for a 2nd baremetal server as a CDN/media server -.-
Worst case scenario I use it as-is, but would appreciate hearing other approaches9 -
Need some advice here.
I am into the third month at my new job in a new country. My new workplace and I are all basically Chinese (Ching chong ling long). Tentatively, we should have no problem getting along right?
Till now, I had not discovered a common topic that we can engage in. All conversation between me and them were short-lived. I go my way and as do they. However, I still like to have some decent conversation or human interaction. I felt socially dead and excluded. Seeing them having fun together and not being able to be included, felt...dread.
I had been feeling lonely in this new country for quite awhile. It makes me question why I came here in the first place and comtemplate about returning to where I came from.
If you had this kind of situation before or if this is you, what would you do?4 -
!rant, but self flaggelation.
Been 3 weeks with my new company.
They are M$ shop, so got the Surface Book and top specced base.
And today I spilled coffee on it 😱
Granted, I had this coming. Over the years I've had many laptops, and put them in all sorts of dangerous situations. But of course it happens now to embarrass me at the new company.
Does anyone have any experience with surface service or returning, and cost? 💸4 -
Spent the whole day trying to get php driver for mongoDB to work.. made a php script that connects to remote db, the connection kept returning null/false no matter what i did.. in the end i uncommented a code below that fetches data with the "null" connection and suddenly I see data printed out 😐 well f you too very much 😡
Tomorrow I'll finally play with mongo 😊 i hope it won't be too much of a pain with php2 -
PrestaShop irony:
* Theirs modules have >3500 lines per class (eg. blocklayered.php)
* Theirs controllers have > 5000 lines and contains a LOT of html code inside
AND when I tried to add own module to theirs addons store they declined it because:
* I had unused $key var in foreach and this is "bad practice" as I was told
* In one hook I was returning 1 line of html code (i had to add global Js var) and they told me that I should put it into separate template file
-.-'2 -
Left the office pissed and frustrated by the bug that Stumped me. For some context, I've only ran to stackoverflow 3 times between now and 2022. I was making my way home, feeling crushed and downcast, when it suddenly occurred to me that this might be one of those times to seek refuge and succor on SO
Taking my chances with an answer being ready by the time I get home, I branched into area one shopping complex by 730, whipped out my system and started narrating my ordeal, buyers and merchants wondering whether I was closing a multi billion naira deal that couldn't wait or whether I was plain possessed
About half an hour later, I was done. There was no answer but I was instantly covered with the sense of calmness I imagine Christians have after casting all their burdens on their god. I certainly felt lighter, even though it's likely nobody would ever respond. Cuz I've been returning to answer most of my questions days later when I eventually figure it out
Yet, it's comforting putting something overwhelming out there, hoping it crosses paths with someone smarter or with sharper eyes to spot what I'm doing wrongly5 -
So I went to a service center to repair my cracked mobile screen. I thought that the process would be completed in a few hours so I didn't took any backup.
Guy: You need to hand over your device for 2 days.
Me: Okay, no problem just fix it. (At this point i was desperate because a bunch of shops already told me that the complete model needs to be replaced)
Guy: You also need to remove any screen lock from it.
Me: But why?
Guy: We need to test once we fix the display. The repair util can be accessed by an inbuilt app.
Me: *Internally screams, my pr0n collection, my browsing history...*
Me: Just give me a minute. *Uninstalls a bunch of apps*.
Me: Handing the device to him. *crying internally and thinking if anything was left*.
Me: While returning, Fucking fuck now how am i gonna suppose to book myself a cab.. *facepalm myself with a fist*1 -
!rant
Got a question since I've been working with ancient web technologies for the most part.
How should you handle web request authorization in a React app + Rest API?
Should you create a custom service returning to react app what the user authenticated with a token has access to and create GUI based on that kind of single pre other components response?
Should you just create the react app with components handling the requests and render based on access granted/denied from specific requests?
Or something else altogether? The app will be huge since It's a rewrite off already existing service with 2500 entities and a lot of different access levels and object ownerships. Some pages could easily reach double digits requests if done with per object authorization so I'm not quite sure how to proceed and would prefer not to fuck it up from the get go and everyone on the team has little to no experience with seperated frontend/backend logic.4 -
Python rant. Why does my 500 line Flask file look like one long oblong, & why am I adding comments that say “end of function” in *any* programming language when surely clear visual marking of this should be built in? Why did I spent 2 hours debugging SQLite3 dict factory function only to find the issue was a misaligned indented function block that my linter hadn’t picked up on because it appeared to be a logic error. Why do you make my missing tab spaces into logic errors Python? And why does everyone insist that curly braces are just as bad? Not in my world Python. Also, stop returning obscure objects unannounced like I’m supposed to know about it in advance, and stop making me run an entire file only to find I have another mystery type error because I expected x and got y. I hate you Python!!4
-
It's shockingly bad, Jesus 😣
https://stackoverflow.com/questions...
I know I'm just whining atp instead of moving on something else. For lack of anything else, I blame capitalism for limiting my options. I would never subject myself to this torture of my own volition. Yet, you have to wonder how a joke like this. Even a routing library developed over a code kata or aboard a flight would at least, include a regex capturing possibility of trailing slashes. How would one ever imagine that all clients of this api have to strictly either end their url with slashes, otherwise they get slammed with a 404
Unbelievable12 -
I was working on CakePHP as part of class project. I had to demonstrate AJAX. So I created some text files filled with random Wikipedia articles. On drop down item change, my AJAX handler would fetch the content of corresponding file and return it back.
But the problem was, it wasn't returning just the file content, but the whole HTML document. So the calling page would get another set of header, menu, footer and all! There was no time to fix layout for AJAX calls as it was added at last minute before the presentation. So, I just hid the duplicate menu etc using CSS and went for the presentation. It passed with flying colours.
So, if you can't fix something, just hide it! 😂 -
So far not much has changed in my office, only a colleague or three are working from home for two weeks as a precautionary measure after returning from a Coronavirus hot-spot.
For myself I see little danger: I commute by car, the office is so far Coronavirus-free, and I still have to go to shops to get food etc.
I'm more comfortable working in the office, as the environment is set up better, and I can chat with colleagues more easily when needed. If I should need to WFH for extended periods, I'll need another monitor (currently I have one nice 27" BenQ monitor on my desk at home), and a mechanical keyboard (the one I bought is in the office). -
A controller action taking a string input and directly accessing the file system with it, returning the file.
-
Apple news api - why are you only returning 401s in my c# calls when in my python calls you return a correct response? What small detail am I missing goddamnit!
-
I'm pleased to announce that, I too, have the 'unfortunate' to join the higher tax bracket payment where I will involuntary pay a portion of my income to the 'FICA people' for no returning benefits whatsoever.5
-
The moment you realize the .net Framework's String.TrimEnd() method will actually modify your String prior to returning it, and there seems to be no convenient way of getting a copy without declaring a new variable...
Just wanted to get rid of excess empty lines in the log caused by trailing <CR><LF> when receiving lines of serial data:
Console.WriteLine(DateTime.Now.ToString("H:m:s.fff") + " - serial data received on " + com_port + ": " + serial_data.TrimEnd())
But suddenly the parser could not find its termination characters anymore...
Resulting in probably the most disgusting parentheses I had ever added to any code:
Console.WriteLine(DateTime.Now.ToString("H:m:s.fff") + " - serial data received on " + com_port + (": " + serial_data).TrimEnd())
Yes, I feel bad about it, but then again is VB .net and it kinda "works for me". I promise I will (try to remember to) remove these as soon as debugging is done...4 -
Assert ref != NULL rather than conditional check it more often.
Silently returning / ignoring is way worse if object was meant to be valid.
The caller should deal with it. (As abstract as possible preferably...)
Obviously there's places where conditional is necessary.. but silent null checks can cause more pain than good. -
So doing some OpenGL crap and glSelectBuffer is occasionally returning all 0s. Not a problem except that right before the select buffer I push the names on to the name stack. So they should be on there. But they aren't ideas?1
-
Just deployed my Nodejs app but some routes are returning *503 Service Unavailable*.
And others are working just fine
Is there a special way to name routes when on production?
Because everything was working fine on localhost
Thanks for your help1 -
I was once 'fraped' by a former (non technical) manager. I decided to retaliate by returning the favour while he was out of the office, but instead of the basic toilet humour I had been subjected to, I took it one step further and posted a status on his behalf, a sensitive cry for help, full of sadness, regret, alluding to betrayal and broken friendships. The texts, calls, concerned replies and messages on Facebook started flashing up his phone. He called me demanding I delete the status now as he couldn't figure out how to do so from his phone. Needless to say he was not happy. Highly recommended.1
-
I got to a point where I have a multi-level recursive promises within loops and my mental map is by far not enough to process this. I wish there were some visualisation tools for this - though I don't even know how it could look like. All I know is that at some point I'm returning a wrong promise and the recursion is not correctly handled.7
-
BITCOIN RECOVERY REDEFINED: RAPID DIGITAL RECOVERY EXPERT APPROACH
What began as a tragic loss quickly turned into a story of healing and success. I had accumulated a substantial digital fortune over the years as an experienced Bitcoin fan, keeping my private keys safe and safeguarding my digital assets. But destiny had other ideas, as a thoughtless error caused the unimaginable—my whole Bitcoin holdings to vanish into thin air. I struggled with the notion that my years of hard-earned savings had been completely destroyed in an instant, and I felt panic and sorrow. However, I resisted giving up. I set out on a mission to find my lost Bitcoin, searching the internet for any semblance of hope, driven by an unrelenting determination. It was then that I discovered the legendary Rapid Digital Recovery – a shadowy figure renowned for their uncanny ability to retrieve even the most elusive of digital assets. Mustering my courage, I reached out, entrusting this enigmatic expert with the daunting task of restoring my lost fortune. The Wizard, with their vast knowledge and unparalleled skills, delved into the intricate tapestry of the blockchain, meticulously tracing the path of my missing Bitcoin. Through a series of complex maneuvers and ingenious strategies, they managed to locate and recover every last satoshi, returning my digital wealth to me with a triumphant flourish. In the aftermath of this harrowing ordeal, I found myself overwhelmed with a profound sense of gratitude and joy. Not only had I regained my financial security, but I had also gained a newfound appreciation for the resilience of the Bitcoin network and the dedication of those who safeguard its integrity. This experience has forever transformed my relationship with cryptocurrency, instilling in me a deeper respect for the power of decentralized finance and the extraordinary individuals who work tirelessly to protect it. From the depths of despair to the heights of jubilation, my recovery tale stands as a testament to the unwavering spirit of the Bitcoin community and the transformative power of the Rapid Digital Recovery prowess. The delight I felt was beyond description, and the relief I felt was incredible. In a moment, all of the worry and the restless nights were gone. Rapid Digital Recovery and the skilled staff who made the impossible possible have my sincere gratitude. They really made my worst become a reality. I highly recommend their services if you find yourself in a similar circumstance. Dial:
Web site Info: https: // ra pi ddigit alrecove ry .o rg
What sapp Info: +1 41 4 80 7 14 85
Email Info: rap iddi gital recov ery @ exe cs. com2 -
I tried returning a view without a layout in net core. I tried printing to pdf, printed successfully but was only on a page and ignored all other contents
-
postman to manually check api endpoint works
try again later, doing what you think was the exact same shit, which you've documented, reread your document get 404
fuck csrf
use debugger
find out its returning a 404 when the code i added fails, welp4