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 - "not-a-function"
-
“Any application that can be written in JavaScript, will eventually be written in JavaScript.” — Jeff Atwood
Fast-forward 20 years, a plane crashes, they find and open the black box and in the flight logs they can see the cause clearly: ”undefined is not a function”.13 -
I was reviewing one dev's work. It was in PHP. He used MD5 for password hashing. I told him to use to password_hash function as MD5 is not secure...
He said no we can't get a password from MD5 hashed string. It's one way hashing...
So I asked him to take couple of passwords from the users table and try to decode those in any online MD5 decoder and call me after that if he still thinks MD5 is secure.
I have not got any call from him since.18 -
Did I miss some huge update? Since when did Skype have a function of not letting one write messages after a certain amount without the other party replying?13
-
Write a small js function using setInterval to fire a request every second ... then copy paste the code 450 times (literally, not an exaggeration) into a massive file to create a load test script.
This load test script also had no means to gather metrics or test response times or anything useful. It was literally a “did the server crash” test.9 -
I found a healthCheck function while troubleshooting an old application for a large auto manufacturer today. The healthCheck function was running several times a day on a timer. The function tries to insert a record into the database and returns whether or not it was successful. It was written in 1999 and has to date inserted over 2.5 million records into the database! 1/3rd of the data for this application was the same record.
How the hell did nobody notice this for 20 years!!!3 -
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 -
The state of CS is a joke and I'm contributing to it.
I'm a final year CS student and like most students, I'm not exactly overflowing with money so any income helps. Now, it's not that uncommon for students to buy their projects but I swear a good 20% of people from my course don't know how to write a function. And let me remind you, they are in their final year, about to graduate, about to get their bachelor's degree in computer science and they don't know how to write a function, let alone a class, let alone piece together something that works.
I just want to say that no, I'm not proud of myself for doing other people's projects for money and letting such imbeciles pass. I'm fucking tired of sending over someone's project, them asking me to change something and me telling them to add an if statement to which they reply with "i don't know how, pls do it".
This is why having a degree doesn't mean shit anymore and yes, I'm aware that higher education has become more available over time.20 -
Internet: YOU are nothing without me.
My phone: Th..That's not true! She cc..can make calls ww..ithout you...and ss...send texts. Sh..Sh..She plays offf..offline games sometimes and has ddd..downloaded music to her storage that she could llii.. listen to and has a sshh..shit load of memes stocked that she sss..sometimes laughs at. I AM usef...ffuul :-/
Internet *lighting up a cigarette*: hahhaa! You can survive without me. If this were 10 YEARS ago! There's not a slightest chance, today.
My phone *starts sobbing*: sh..shut up sshhhuut uu..up.
Internet *blowing smoke rings*: you think you're the ONLY device she owns?? She has too many of them, but guess who is connected to all those devices! ME! She can't function without me. Hell, the world can't function without ME!
Electricity *rubbing it's eyes from sleep* - what's all that noise??
Phone: 😶
Internet: 😶
Phone: 🙂
(I'm about to fall asleep and there's no power right now. Back up ain't working. Life sucks)5 -
I can not function today in my hot office (no AC). I'm just reading rants in JSON format to look like I'm working. I may need a USB Desk Fan to improve my productivity. Anybody have recommendations?8
-
DO NOT USE JAVASCRIPT FOR PUBLIC WEBSITES IF YOU DON'T KNOW HOW TO USE IT!!!
Almost every fucking day, I click a fucking button and NOTHING HAPPENS. I open the console and find tens of JavaScript errors, that *I* have to debug and fix in order to proceed.
FUR FUCK SAKE, JavaScript is not strictly needed, those fucking React and Vue are also not needed. Just now I wanted to download a form: IT'S A FUCKING PDF FILE, why the fuck are you putting your broken JavaScript function to let me download it!? PUT A FUCKING DOWNLOAD LINK YOU FUCKING MORON!
Nobody is forcing anybody to use JavaScript or those fucking fancy frameworks, SO WHY THE FUCK PEOPLE OVERCOMPLICATE THINGS THAT USED TO WORK SO WELL!14 -
At an interview, the first round was an online coding round. Two questions, one easy one hard, 90 minutes, easy peasy.
I solved the hard one first.
A bit of good logic, followed MVC pattern, all done. Worked flawlessly.
Submitted code. Online compiler threw up an internal error citing java is an invalid command(jdk not found).
Called the invigilators. What I heard next, I couldn't believe this shit.
"We're not responsible for any errors you may be having. Figure it out yourself"
I was like WTF dude. This is not even a compilation or runtime error!
After a heated discussion, I made him look at the code.
Him - what is all this classes and all? Why haven't you written everything inside the main function?
Me - those are model classes. Those are different helper functions. That is a recursive function to avoid 5 for loops and use divide and conquer. Ever heard of OOP? what kind of person writes a 300 line program inside one function?
Him - no no we write it like that only. Correct this.
Me - I fit everything inside the main function. Still the same error, java not installed. Called the idiot to have a look at it.
Him - yeah your code is wrong.
Me - may I know what's wrong with it? Can you fix it please?
Him - no no we aren't allowed to see the code (he had already read it twice. It was compiling and running perfectly, locally) .
Yeah you solved only 1 problem, you were supposed to solve 2.
Me - yes because the rest of the time I had the pleasure of your company. (It isn't everyday that I see talking buffoons.)11 -
Created a function called upDawg and started sprinkling it all over the code base. Waiting to see who catches it in our next code review.
All it does is console logs 'Not much man, you?' -
I have spent the entire night trying to debug a login function but it keeps to not work, until I discovered a typo in the username.
Good night1 -
When I'm proud of the new function I invented and have no clue how anybody will get a use of it...
The world is just not ready for this2 -
Once I got zero in an exam just because I chose to make a function for a piece of code I had to use repeatedly. I went to my lab teacher and asked her what was wrong about my code to which she replied "This code is wrong because there should not be this function in this class". She was our lab instructor and turned out she marked us by matching our code with code given to her by our lecturer. I quietly returned to my seat and started thinking about how did she get this job.8
-
Been working on a bug fix for 3 hours. Literally nothing I do will fix it. Finally I realize I'm not even calling the function.5
-
Not really a bug, but once I tried to learn building function ajax per table asynchronously instead of calling all of them at once. Spend like couple of hours of trial of error. It wasn’t needed at the time, but suddenly I need to fetch something separately because of a new feature. Just write a couple and line it’s done
-
function checkBrowser() {
if(browser == "Internet Explorer") {
print("I'm sorry, you have reached the 404 error page. Please use a different browser. Have a nice day.");
}
else {
print("Thank you for not using Internet Explorer");
}
}6 -
So I once had a job as a C# developer at a company that rewrote its legacy software in .Net after years of running VB3 code - the project had originally started in 1994 and ran on Windows 3.11.
As one of the only two guys in the team that actually knew VB I was eventually put in charge of bug for bug compatibility. Since our software did some financial estimations that were impossible to do without it (because they were not well defined), our clients didn't much care if the results were slightly wrong, as long as they were exactly compatible with the previous version - compatibility proved the results were correct.
This job mostly consisted of finding rounding errors caused by the old VB3 code, but that's not what I'm here to talk about today.
One day, after dealing with many smaller functions, I felt I was ready to finally tackle the most complicated function in our code. This was a beast of a function, called Calc, which was called from everywhere in the code, did a whole bunch of calculations, and returned a single number. It consisted of 500 or so lines of spaghetti.
This function had a very peculiar structure:
Function Calc(...)
...
If SomeVariable Then
...
If Not SomeVariable Then
...
(the most important bit of calculation happened here)
...
End If
...
End If
...
End Function
But for some reason it actually worked. For days I tried to find out what's going on, where the SomeVariable was being changed or how the nesting indentation was actually wrong and didn't match the source, but to no avail. Eventually, though, after many days, I did find the answer.
SomeVariable = 1
Somehow, the makers of VB3 though it would be a good idea for Not X to be calculated as (-1 - X). So if a variable was not a boolean (-1 for True, 0 for False), both X and Not X could be truthy, non-zero values.
And kids these days complain about JavaScript's handling of ==...7 -
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 -
I'm doing a migration where I have to move like 200+ old-old websites. Stuff was never touched for ages and we kinda moved it 'into the cloud' now.
So after a few sites I check graylog (where all the logs are stored) and I saw this gem:
stderr: PHP message: PHP Warning: file_get_contents(http://tinyurl.com/api-create.php/... Online Viagra/): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
And I was like, wtf? Is this site hacked?
Ok the sadness starts now. Behold the following:
function getTinyUrl($url) {
$tinyurl = file_get_contents("http://tinyurl.com/api-create.php/...);
return $tinyurl;
}
This function gets executed for the current link AND every dynamic href on the page.. EVERY pageload.
I was not even mad.2 -
i had this weird dream. i invented a programming language that was connected to the physical world. every time an object was instantiated during runtime, a 3D printer would print this object immediately in real time, into the void of a confined space without gravitation (like a physical stack, but not like a stack). if this object was passed objects as function parameters of its methods, these little objects were printed as well and temporarily moved into the orbit of this object, orbiting it like electrons or little moons.21
-
Programmer one-line horror stories? A few off the top of my head:
Segmentation fault (core dumped)
'Undefined' is not a function
Unit test failed: expected '0' but got '-1'
Connection to 'localhost:8080' has been lost
Malformed JSON string at col: 46,372. Expected '}'7 -
Stop using anal as a variable or function name wherever I look I see anal_this and anal_that please stop. Use analyze, analyzer or whatever and not anal_insert ( ) or anal_check ()12
-
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 -
"It's just a tiny change in one function. What can go wrong? I don't need to test, I'm not that stupid to mess this up". Apparently I am. Pushed the changes, and the [Firefox] extension basically stopped working. Lost about 1.5k users in 2 days. Good times ;)2
-
That glorious moment when you remove a function from your Javascript.
is_internet_explorer()
It's one job was to detect and prompt a user about not using IE on this shit for a stain website - ironically built for IE 😂
You sir, will not be missed 🥳10 -
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.10 -
I know it's not done yet but OOOOOH boy I'm proud already.
Writing a JSON parser in Lua and MMMM it can parse arrays! It converts to valid Lua types, respects the different quotation marks, works with nested objects, and even is fault-tolerant to a degree (ignoring most invalid syntax)
Here's the JSON array I wrote to test, the call to my function, and another call to another function I wrote to pretty print the result. You can see the types are correctly parsed, and the indentation shows the nested structure! (You can see the auto-key re-start at 1)
Very proud. Just gotta make it work for key/value objects (curly bracket bois) and I'm golden! (Easier said than done. Also it's 3am so fuck, dude)15 -
God, I love when people name stuff right. Now I'm reading through an open source project, trying to find out how they solved a critical issue I'm facing now. It's not a small one but navigating through it is a breeze. Look through variable/function names and I don't even really need to read the code. Meanwhile, last assignment, there was "yangDataHandler" and "yangDataManager" that, obviously, had nothing to do with each other in either interoperability or functionality - and then half of the variables would get aliased to abbreviations. Uh, yes, sure it's obvious what
𝚋𝚣𝚋𝚠𝚒 variable means. Just let me run it through 𝚒𝚍𝚣𝚍() function.10 -
There is a function for creating random numbers.
So with the same inputs , I must get the same output.
So it is somewhat predictable.
So it is not actually random!
Am I tight?20 -
Interviewer: can you write a code snippet to explain function overriding
Me: *gives a practical example *
Interviewer: *not satisfied*
Me: what would be a proper example for the question?
Interviewer: *writes a text book example *
Her example didn't even need inheritance in the first place. It's one of those forced examples.
Next question: a riddle. Yes, a riddle4 -
Some undocumented, never touched, 15 years old recursive function at the core of our business model suddenly stops working in a niche scenario, debugger is not available and I have to find out why.14
-
Bloody hell I have been stuck for two hours on a problem and couldn't find any solutions. So naturally I asked my Senior for help. I was trying to export a js file like :
---------config.js--------
module.export = function (app){
//code here
}
-----------Index.js------------
var config = require('./config.js')
config(app)
but it would throw an error saying config is not a function. Wasted two hours only for my senior to point out that I missed an "s" in module.export 😑
Feels so stupid. bloody ass.6 -
It's about a guy that knows better.
I was working as a subcontractor on a bigger system. We (subs) were not allowed to deploy code, we had to wait for contractor to deploy.
One day I got an email that my code is bugged and that my feature is not working on production. I checked it on test env, everything was fine. Then I checked if the code I wrote was deployed. It was not.
I send an email explaining that if they deployed my code it would be working. Then I got a response. There was a bug in my code.
Another email. I asked how would they know? Do they have a test on their environment that failed?
No. There is one guy that READ my code and he said it should not work, so he will not deploy it. He was not a programmer, he was a business consultant responsible for the documentation.
His issue was that I used a function that was not in a class. So if the function is not declared it's obvious it will not work. I had to explain to him in another email, that you can use object of another class inside your class and then call a function, that is not in your class. It was the last time this guy blocked my deploy.
TL;DR, I had to explain a non-dev how object composition works in order to have my code deployed. Took four emails.4 -
not sure if counts as a compliment, but the follwing exchange with my team lead programmer felt pretty good:
"... wait, where did you find this function you're using here?"
"i didn't, it was missing so i wrote it."
"but... oh, i didn't realize you're gonna need it, if i had, i'd have given you a different task... noooo, that's internal framework functionality, i write that stuff for you guys so that you can just use it, cause it's complicated... oh, god, no, where did you put, how did you imple... (right clicks, go to definiton)... oh, it's exactly where it's supposed to be... (skims the code)... and is written exactly as if i had written it.
(looks at me and smiles, then turns to the rest of the team), guys, that component i told you to wait with making because i first need to write that complicated utility function that you'll need to use? you can start working on it now, Midnight wrote that function for me. (turns back to me) Nice, quick learner. But next time, at least let me know first, yeah?"
(that was third day in a new job, corporate-sized system. the rest of the team had been working there on that system for the past 2 years.
(probably not a good form, kinda going over team lead's head, but tbh i didn't realize i'm not supposed to touch that code because "it's complicated", while doing my task i just realized i need a function similar to a family of already implemented ones, so i just followed their convention amd added it.)
tl;dr - best programming compliment is people being surprised/confused that i did something which they thought as a normal thing that they will have to do for me, because it's in their job description to be doing it for people on my position/with my job description)9 -
during code review...
peer: "you should pass this variable, and extract the logger from it"
me: "why? it is a 3 line logging function. why not pass the logger instance?"
peer: "because that is our best practice. It is the way we do things"
me: "why is it a best practice?"
peer: "because it is. We use it everywhere!"
me: "No we don't. And I still don't understand why is this a best practice. can you explain?"
peer: gives ups, did not look at the mr, and was not going to.
mr stays open. probably forever.11 -
I'm struggling with a bug. It's not my bug, it's in a lib - in an assembly function commented as "this is where the magic happens". After 27 hours of trying to determine what triggers said bug my best guess is it's a relationship between the position of Mimas and the mood of my neighbour's chonker. If it's not triggered by the Saturn's moon and a pet animal... I'm out of ideas.
Now how do I break it to my PM that we have to kill a cat?6 -
Actual production code:
function isEmpty(val) {
return typeof val === 'undefined'
|| val === undefined
|| !(val !== undefined);
}
I'm starting to think the "infinite monkeys" metaphor is not a metaphor...5 -
Scenario 1
Friend 1:"Hey, you're good at computers right?"
Me:"Erm yup."
Friend 1:"Can you hack Instagram? I've lost my password."
Me:"Oh My God."
Scenario 2
Me looking at a friend's unity C# code
Me:"You know there's an enter key right? Why is your code horizontal not vertical?"
(Means that after a semi-colon he continues his code)
Friend 2:"I like to read my code in horizontal, that feels natural to me"
Me:"What ever, as long as it works. But why do you have so many if function inside another if function?"
Friend 2:"Cuz I want the player to do this while moving"
Me:".........."3 -
Turns out scrolling through devRant while thinking for a function name was not a good decision after all.8
-
PHP ist one of the languages I use regularly, but not the main language.
Anyhow, passing an array to a function will create a Copy of the array unless you specifically choose to Pass the reference.
That's seriously fucked up. What other language does that?! Coming from C, Java, Python to PHP I was not prepared to expect shit like that.20 -
I have a co-worker who negative-indents his function bodies. Minus four spaces. Every function. Not an IDE thing either, he does it intentionally.
I've never seen anything like it.9 -
This is what u get when u trust your teammates on a group project.
Not my fav function, but I was rofl when I saw it 😂
That is, until the frustration of working in a group kicked in10 -
So I just created a function called GetMinutesFromMinutes... It actually makes sense and I'm not sure if that makes it better or worse :)10
-
Why the fuck does Arduino use C++ macros for min, max, abs, etc. ???????
---
For those who don't know what a macro is, basic example:
#define abs(x) (x > 0 ? x : -(x))
Which looks like a function, but instead abs() will be replaced by the expression and all x will be replaced literally with what you pass to abs
So
abs(i++)
would evaluate to
(i++ > 0 ? i++ : -(i++))
which would call i++ twice
---
I guess I will have to double check every built in function and rewrite it if it's a macro -_-. Not taking any chances. Btw all Arduino functions are in one big file, so now I have to pollute my code with namespaces.
Macros can be great but what the fuck.14 -
*Senior Dev:* Ah yes, we need to put try-catch in every function to handle errors and Logger.Log() at the beginning.
*Me:* Is not better to define a global error handler and use the stacktrace instead of doing all that?
*Senior Dev*: ...
*Senior Dev*: Is a rule here, do what I'm telling you.3 -
watching the online course for CEH... dude used the Death Star as a tangible example of how exploits work.
IDK if I should love it for the nerdiness, or be slightly sad that someone needs that type of example of what a vulnerability vs an exploit is, when they're going for the Certified Ethical Hacker certification...
Might be better in an introduction to Network Security class?
Also, while discussing the security, usability, and functionality triangle, he reference the Staples "Easy Button" - does one thing, not very secure, and not very functional (in that it has more than one function)...1 -
WHY Atom, when I explicitly select a suggestion do you NOT ACTUALLY AUTOCOMPLETE THE SUGGESTION ?
I have configured so many fucking settings to try to avoid this why is it that I have to explicitly select my option 3 and 4 times before you ACTUALLY auto fill it.
I use you specifically FOR the auto complete function and you FUCK ME OVER ON IT.
I can just not seem to find a text editor or IDE that doesn't annoy the shit out of me one way or the other7 -
Like WTF!
"the value of NaN is result of an operation that cannot produce a normal result. NaN is not equal to any value, including itself."
The funny or wierd part (maybe just for me):
"You can detect NaN with the isNaN(number) function".
Like whaaat? 😶25 -
[wordpress trigger warning]
Had an idiotic colleague who re-implemented the insert image function as a shortcode. A “senior php developer”. No, I’m not kidding.
Him: “But this way we can set a class”
Me: “As you can with the standard mode”
Him “No you can’t”
Me: *shows*
Him (smiling): “well why don’t you remove my stuff then?”7 -
So this phallus decided to make my day a night mare, I coded the Interface in separate class for each distinct services, He just told me to re write it to one class, before he don't understand it.
I wrote documentation, he said it is not professional. and now the fucking codes are containing redundancies.
For instance if he use my method, all he need is call my function once, and call it everywhere. But now the code is messy as fuck, calling the same thing over and over again which can be done by separate it to a function once, and reuse it.4 -
Confession: every now and then a Google search for a JS function or something directs me to W3schools. And I proceed to use it. And I'm not afraid to admit this!!7
-
When a co working waves his hand at you every 5 minutes to get your attention and you have your headphones in and try to not see the waves because you know it's just going to be you coding his function for them1
-
Doing a python code review after working in Scala is all:
"Why the loop? Can you just put a function here and... oh yeah, right... python does not allow it. I could have written these 20 lines in 4 if was Scala"
Scala, stop spoiling me!!4 -
I'm a contractor at a product company and today I had the pleasure of working with some jQuery.
A function needed to be called before another function, hard work right?
So I moved the call to the function 3 rows higher, checked it in, set the task as ready for test and started to look for other tasks.
Within a couple of minutes I get a direct message from another dev, let's call him Steve.
Steve wanted me to set the task to ready for code review instead of test, so I did just that and tried to move on.
Some minute or two later Steve contacts me again:
"It would be great if you'd move the comment so it'd be over the call to the function"
Well, I'm not one of those who likes comments... If you need a comment, it's probably not good/readable code. In some cases sure, it might be a complex block coming up.
Sorry, lost my train of thought.
I answered Steve : "Are you sure, I could just remove it instead?"
(for readability S will be Steve and M will be me)
S: Well, it's always good to have comments
M: In this case I think it will be alright.
S: But it's nice to see what the function is doing.
M: I'll do it if you really want me to.
S: It's better to have the comment than to not have it and needing it.
M: Okay then
The name of the function : LoadOrganizationTree()
And this is the comment :
//Load organization tree6 -
Fuck you, discord.
Fuck you for not using a monospaced font for the code block on mobile. Renders my beautiful function to align stuff useless on mobile...7 -
So I'm doing some OpenGL stuff in C++, for debugging I've created a macro that basically injects my error check code after every OpenGL API call. Basically I don't want any of the code in release builds but I want it to be in debug. Also it needs to be usable inline and accept any GL function return type. From what I can tell I've satisfied all requirements by making the macro generate a generic lambda that returns the original function call result but also creates a stack object that uses the scope to force my error check after the return statement by using the destructor.
Basically I can do:
Log(gl(GetString(...));
gl(DeleteShader(...));
Etc where the GL call can be a function parameter or not.
So my question is, is the code shown in the picture the best way to achieve my goals while providing the behaviour im going for?13 -
Numbers:
- Facebook Monthly Active Users = 2.4 Billions
- Facebook Fake Users, not included in MAU = 3.4 Billions (FB declared recently disabling that much)
Total: 2.4+3.4=5.8 Billions
Worldwide internet users: 4.3 Billions
Maybe a little function like this could help?
function createFBAccount() {
if (numberOfAccounts++ > peopleOnEarth) {
print "You are not human"
exit
}
...
}9 -
*me quering a knowledge system for a pose and quaternion*
System: here is the quaternion in w x y z format
me: but for using it I need it in x y z w
System: not my problem
me: ok, fine. here is a function that flips this, np.
*months later*
me: wtf why does grasping don't work anymore? The poses look reasonable.
*after hours of trying to debug it*
*remembers hearing someone say something about finally using one standard for quaternions across the systems*
me: wait... could this be... *comments out flip function*
me: yep... that's it.
...
Overall, this is an improvement. But I lost several nerves and hours yesterday night wondering why my grasping doesn't work anymore. Feeling embarrassed, that I didn't finish my stuff in time because of this bug.
*sigh*
goddammit6 -
LOL that's why I love C!
The function pointer cast for strcmp because qsort expects a compare function with two const void * pointers instead of two const char * pointers, that's just beautiful.
Not to mention the hack to abuse strcmp on a struct - which just works because the first struct member is a string and the rest just gets swapped with memcpy as opaque data.
I guess that wouldn't pass a code review at work. :-)6 -
Not necessarily a "language" per se, but goddamn do I love git's rebase function. I mean, that shit lets you rewrite history!
Just imagine how the world would change if we could do a rebase on it. 🤔2 -
trs()
For those of you desiring to post non-rants, I wrote a handy utility function for you:
/*
* Toggles whether this post is
* a rant or not.
*/
function toggleRant()
{
// Check if toggling is safe
for(var i = 0; i < 999999999; i ++)
for(var t = 0; t < 999999999; t ++);
console.log("Crazy security checks came through.")
// Toggle ('isRant' is true by default)
isRant = !isRant
}
From now on, you can easily put 'toggleRant()' on the first line of any rant. As we all know, the 'isRant' on devRant is true by default.
Feel free to play around with it:
toggleRant()
toggleRant()
toggleRant()
This would also indicate that your "rant" is not a rant.
I've also wrapped the 'toggleRant' into another function with a shorter name for you lazy people (which most programmers are):
/*
* Wrapper for 'toggleRant'.
*/
function tr()
{
toggleRant()
trogus() // Just in case
}
Or if you type one additional letter, you also make sure that it's extra safe to call the function:
/*
* Extra safe version of 'tr'.
*/
function trs()
{
for(var i = 0; i < 746985768; i ++);
console.log ("Extra safe")
tr()
}2 -
Client: Hey new iOS 11 is coming soon, is out app compatible?
Me: Not sure, let me shift the development to new Xcode 9 and test it out.
Client: So, how was it?
Me: pretty straight forward. all seems fine a couple of bugs.
But then when trying to fold a big function to make things easier to read, you discover that Xcode 9 beta 1,2,3 & 4 DOESN'T FUCKING SUPPORT THAT YET. How on earth is this not yet implemented?5 -
-Writes a function that I'm going to schedule for django.
-works in development.
-adds it to production cron using django-crontab
-not working.
-spends 3 hours editing code, searching for similar problems and reading documentations but find nothing wrong and it's still not working.
-maybe it's django-crontab so I decide to just write a custom management command and call it through cron.
-still not working.
-calls function using what I'm telling cron to do.
-everything works.
-?????????
-adds logs to cron command (sorry for not making it earlier)
-mfw the code is not working because I imported 'patterns' in urls.py which has been deprecated since django 1.8 -
I just wrote a function that creates a configuration struct that is stored in a Singleton struct, but to create it I called the Singleton to get a connection to the database.
This created an infinite recursive function that maximized connections on the database, as the Singleton never got fully initialized. Not a good idea.
So to fix this I created the configuration after the creation of the Singleton, still calling the singleton from within the function. This worked.
Then I remembered that I could have just passed the connection as a parameter to the function. Like I've done a million times before...
It's time for the weekend, I need a break -
My coworker is... something else. He's "coded in Java for six years", bear in mind and this is a bit of .py code he's written. First a doNothing() function (probably didn't hear about pass) and then there's about 400 lines of creating values. No iteration whatsoever. I have no idea how he's got the job. Not to mention that whenever he talks about anything technical it's like listening to Gertrude from Accounting talking about 'mouse not working'.11
-
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 -
Had an interesting application for a web / fs position the other day. Some guy in his 40s sent a CV, along with a bunch of 5+ years old reference letters (recommending him for things like PHP 5.3 and ExtJs 4). A bit outdated but okay.
And then, he put in a list of NPM packages he used. Not just relevant frameworks like Angular & React, or tools like Webpack and Babel. No. A list. Of. NPM. Packages. There were things like UUID there, which is literary a single function!2 -
That's it. I'm fucking retarded. I'm just so fucking retarded. I'm so fucking supid, it makes me wonder why do I even keep trying. I'm not sure I even have the energy in my fingers to keep typing this stupid rant.
I've been banging my head against this stupid fucking issue for A WEEK. Digging into the documentation, trying different library versions, trying to move stuff around even if it didn't make sense, trying to use different approaches because maybe I was missing something, or maybe I didn't understand some concept.
Surely spawning a child function from a parent can't be that hard, right?
Nothing.
Even tried it on a different OS - who knows, maybe it's Windows doing some if its magic fuckery?
Still nothing.
"Wait, why am I calling this function directly instead of calling its parent?"8 -
Firebase is pure fucking assrape!
How can these spoiled cunts of Google "develop" such a stinking pile of rotten placenta?
No, one fucking Promise is not enough... you have to return Promises for every single smegma function!
I want to just blow up this ugly afterbirth!!
It seems that Google devs are just spoiled MacCunt Pro brats who copy-paste code around until something "kind of works".13 -
When the previous dev has written all datetime query lookups by date only, resulting in any values for the ladt day of the month to not be included.
THANK YOU.
Same wanker has copied and pasted same 100 lines of code over and over and literally changed one value in between. Obviously never heard of a function.3 -
A piece of code someone just pushed:
In pseudocode
------------------------
Function foo()
Result = GetFoo()
If result != null
DoStuff()
Return result
Else
Result = null
--------------------------
Ffs.
It's written in a strongly typed language, and the whole function is in a try with an empty catch and inside yet another try with an empty catch. Guess he wanted to be sure no error got away....
Oh, and he has 9 years of experience, and since all paths don't return something it does not compile12 -
Dependency Injection Frameworks are absolute shit. I have yet to encounter one that doesn't make code take hours to understand or debug, and usually requires a debugger to even begin to unravel it. Not to mention the "context" god objects that just are glorified versions of passing an array from function to function. You guys aren't avoiding global state you're just making it a clusterfuck. Stop being stupid for 2 minutes software development "progress" challenge. Level: impossible.19
-
I am of the firm belief that a function should always return just one type.
I think it's the most convoluted thing that a function should be allowed to return any kind of type.
I've seen shit like return a string when something is valid and then a boolean if it's not valid.
To me, that kind of flexibility has some funky code smell.
I'm looking at you WordPress 🤨11 -
The "unit" in unit test does not mean your ENTIRE APPLICATION. Ever heard of scope!?
I am amazed how often people write overblown test setups, mock hundreds of unrelated services, just to test one tiny bit of logic.
That bit of logic could have been a pure function.
For that pure function you could write a dead simple unit test. Given that input, I expect that output. Nothing more, nothing less. (It helps even more if the pure functions only accepts primitives, like string and numbers, or very simple immutable value objects).
No I don't care that the service is used by another service, as your mocked interaction also doesn't test the service as a whole but you just assume the happy case most of the time anyway. You want to test the entire application? Let's not use unit tests for that but let's use a different kind of test for that (integration test, functional tests, e2e-tests).
If you write code in a way that easily allows for unit testing, your need to mock goes away.rant unit tests test all the things tests you are doing it wrong tdd testing don't mock me unit test1 -
Caffeine meets every criteria for being a drug:
- Alters mental state
- Addictive
- Has withdrawal symptoms
- Tolerance increases with time
If you rely on caffeine to function, statistically, you spend the majority of your waking life in caffeine crush, longing for more and more caffeine to just function normally.
Face it: you’re a drug addict. Caffeine being legal doesn’t mean it’s not a drug.
I don’t do caffeine at all. I don’t drink sodas that have caffeine, I don’t drink tea either. That’s why I’m always full of energy. Yes, caffeine withdrawal gave me a week of terrible headaches, but I pushed through, and now my life is completely transformed.24 -
One developer got a code and had to add new feature so he writes new function in similar way that arleady written one. Pass the code to next guy.
Next guy: why did u write this function like that?
First guy: Coz one was arleady written that way
N: but it was written wrong
F: ...so now 2 are written wrong (no he will not fix it 😂😂)1 -
You know, one of my worst fears as a programmer isn’t a bug, or shitty clients, it’s not even happening on my computer.
It’s when I can’t find a good playlist to listen to because the good ones I listen to way to much and I get sick of them so I get stuck with nothing and my Brain simply can’t function without a butt shaking toon!1 -
Jumping back and revisiting some basics of game development that I've ignored for a while and decided to follow a tutorial for building a 2D minecraft clone just to see how easy it is to incorporate some of my engines capabilities...
Every single fucking function he is creating does not have arguments and instead uses hard coded numbers repeated throughout... Fucking send help7 -
I work in a big German company and we are a lot of teams building the company website.
Obviously the website is in German but almost all the devs are not German speakers, included the testers.
To make the work easier in the frontend we use sometimes the translation function of chrome and it's funny because a lot of time I got a bug opened by a tester for a wrong label because HE FUCKING FORGOT TO DISABLE THE TRANSLATION AND HE THINKS THAT THE LABEL IS IN THE WRONG LANGUAGE1 -
Unreal Engine adventures:
me: So ok, I need a map from int to String
Unreal: ya but it's called TMap, FCompactPoseBoneIndex and FName.
me: ..uhhh ok whatever
...
me: ok for debugging, please print this
Unreal: FName is not a string
me: k. Fname.toString().
Unreal: ya but it aint a TChar array now
...
IT'S A FKING STRING JUST PRINT IT. And the other guy is still an int with extra steps! Come the fuck on now....
I mean, honestly, a logging function that cannot print a fking FString? sigh...
Man, I miss python and blender...8 -
I want honest opinions. Do you think the following is a good or not so good interview question. Why or why not? Defend your argument.
Define a function where the input is a list of integers. It should find and return all the unique sets of three within the list that sum to x.
For example, given the list [1, 3, 2, 5, 6, 8, 10, 13, 15] and with x = 16, the function would return [(10,5,1), (13,2,1)]
If the candidate presents the trivial solution with time complexity of o(n^3), ask if can be done in o(n^2) or better.7 -
Here’s the second book for today.
Another small 100 page or so book.
It’s called advanced programming techniques, personally I don’t like the title, I don’t consider most of the items in here advanced, I would consider them more “better ways of solving a problem”, they do talk about recursion and linked lists, so I guess that could be a little advanced.
But like table based solutions is not advanced it’s just a technique that allows for simpler, scale able and main table code.. I been doing it for a long time, most easiest way to determine if something can turn into a table solution is look for a function that has a bunch of calls to the same function or something of that nature lots of repeated code with slight changes in a function or range of functions .. those of simplist way of “tablefiying”a solution I will picture the example from the book below.
The book, is all in java except for linked lists Thats in C..
But anyway this book is a great quick reference book, into the pile with programming pearls book, and those like that.14 -
User A: We need to do some check on our data. So you need to add in a new function for this, we can't use your system otherwise.
Me: Ok then.
Spends 2 days or so to get it working
Me: So this is the function we'll add. Can you confirm that its ok?
User A: Ohh...but now I'm not too sure about this. Let me confirm with my team lead on this.
User A: I just checked. Good news,we don't really need that function now. I think we can use it with the current one anyway haha. And I just confirmed this so no worries.
So I just wasted my time then. Great.3 -
Just started using the Dropbox API. Want to do a simple directory listing of my files. Sends HTTP GET request at https://api.dropboxapi.com/2/files/....
"Error in call to API function "files/list_folder": Your request's HTTP request method is "GET". This function only accepts the HTTP request method "POST"."
What. The. Fuck. Dropbox.
HTTP POST is for creating a new instance of a resource. HTTP GET is for reading. GET guarantees server state is not changed while POST does not. I want to fucking list a directory, not put stuff in it.1 -
Decrypt api responses in an iOS app which my “senior” dev thinks it is more secure to encrypt responses in stead of setting up a proper SSL cert (they use plain http to save money 🙄)
They disable the encryption since it does not function as we wanted and set up SSL instead🙄4 -
When are people going to understand that programming is not about quickly putting something together?
Programming may have its utility in helping us out building solutions, but that's a secondary function of it.
Ultimately and abstractly, as MIT professors said, it's about the imperative paradigm of solving problems.
I really dislike it when people treat programming as if it were a toolbox. It is a great engineering feat. That's like saying math is just about numbers. No, it is about concepts. We're thinkers, not doers.3 -
Yesterday a scammer spam me with emails. So I decided to write a code to automate writing emails using SMTP methods for spamming them back... In a while loop...
So today I look at their website (using Tor in VM) the website is gone. Seriously I want to know what happened. Yesterday I visit their site, they are a gambling platform blablabla...but today the site is gone.
http://moneydot.com/
Btw , I'm not a hacker , but I am just an ordinary software engineer (nothing special about me here) who know how a while loop function.14 -
A friend of mine (beginner) wrote a Python script that calculated the derivative function of an function the user typed in. He showed it to me and
I said: "You should not use eval()!"
He: "Oh, ok. May you write a parser?"
I: "Wait! It's ok. Just use eval!" 😂6 -
! Worst thing another dev did in our NodeJS code.
1. No indentation. Literally.
2. A single function in a module worth 1000 lines. I'm not even kidding. No breaking into smaller functions. Just a large rock with a lot of js mess scribbled.
3. No comments at all
4. Sending stray values to promises which were not required at all.
5. No jsdoc. Using camelCase and uppercase interchangeably.2 -
Learning C and just wrote a function to reverse chars in a char array (ex. "Hello" -> "olleH") but the array did not change.
It took me way to long to realize: I forgot to divide the length variable by two. So it reversed the array back everytime...6 -
Today I got three-time downvoted because I basically forgot the word 'refers'. Now the guys that downvoted me are arguing over my response's corpse on wethere a function that I talked about still exists or not.1
-
Biggest sin
Due to lack of time, I named all the variables in my project without logic,
Like temp1,str1, function dojson etc
Lord be with the dev who's gonna work on that project
PS I am not a bad person, it is the time that made do such things -
Yeah, please fucking tell the other knob I accidentally starred, ++d, liked, .. his X, that's a great function, better yet, why not make it fully archived, so even if you remove it a second later he's going to know you're the asshole that did it3
-
3 hours of missed texts and emails and notification.
3 hours.
If the iPhone can't function as a phone after it connects to a samba share, then maybe they shouldn't include that option.
Try telling people that you're not actually ignoring them and that it's this precious pile of garbage that people only like because the TV tells them to.5 -
Yesterday i was in class and a classmate came at me asking for help, w/e.. I'm not listening this teacher.. let's check.
« show me the code »
She shows me, now I'm blind.
Full garbage! Tons of php function in the same file, mixed oop and procedural and.. all the js is printed via those php function, yup, everywhere you can see <?php print 'some shitty js' ?>
Fuuuuuuckkkkkk you. Not gonna touch it, please tell the guy who wrote it to fuck himself with a frozen vomit stick @not my injure. -
- i = ++i or i = i+=1
- No Documentation
- Not Splitting up a Stylesheet
- function()
{ }
if(){ } (inconsistent style)
- Using a ton of if's instead of a switch
- Installing Nvidia drivers manually on Linux thrice! Had to reinstall it everytime!
- sudo rm -rf /
- Being unorganized in terms of personal projects.1 -
Got back at work after 2 weeks off
Useless to say I did not remember what to do or where to start…
Today I was working on a feature and while thinking about code organization I found an empty function ready to be filled with the exact name I was about to type.
My 2 weeks ago self prepared it for me… it was so kind of him -
Chemists recently "compiled" a programming language into chemicals! I'll admit that I have no clue how it works, but they were able to get a mathematical function working without any electronics. The article I read doesn't describe the speed of the reaction, so I'm not sure if it's really useful as a replacement for computer operations.4
-
This kind of stuff is what causes developer's to loss their mind. If you have to write a comment saying do not use a function, REMOVE IT!1
-
Hate to admit but I am really not feeling react thus far... a function to output an H1 tag that takes many times longer than just creating an H1 tag... why?4
-
I hate having no inspiration, no good ideas and just feeling unmotivated. I have not came up with anything good in 1 year now so i just sit around rehearsing the function s i already know. If anyone has a good tip for coming up with ideas. Please let me know :)
TLDR I never get good ideas. Plz help.5 -
Oh my god, GDScript is the single biggest piece of shit scripting language I have ever witnessed. It somehow manages to combine the very worst things of dynamic typing with the downsides of static typing, all in one bundle of utter shit
Imagine you have two game object scripts that want to reference each other, e.g. by calling each others methods.
Well you're outta fucking luck because scripts CANNOT have cyclic references. Not even fucking *type hints* can be cyclic between scripts. Okay no problem, since GDScript is loosely based of Python I can surely just call my method out of the blue without type hints and have it look it up by name. Nope! Not even with the inefficient as fuck `call` method that does a completely dynamic-at-runtime fuck-compile-time-we-script-in-this-bitch function call can find the function. Why? Because the variable that holds a reference to my other script is assumed to be of type Node. The very base class of everything
So not only is the optional typing colossal garbage. You cant even do a fucking dynamic function call because this piece of shit is just C++ in Pyhtons clothing. And nothing against C++ (first time I said that). At least c++ lets me call a fucking function6 -
On thursday i spent 5 hours on a function. It was about to include in production build which was due on friday.
On friday PM informed me that we are dropping this function from application. It will not be included in any build now. So just prepare the build without that function.
So, instead of commenting it out or make it hidden i deleted the source code for the function entirely.
Today morning it has been decided that we are including that function in our next build.
I am fucked. I am very bad Developer i guess.. i am laughing on my mistake. It will not happen again though.9 -
How is it security, a function of IT, does not understand developers? I mean, they work in IT, should not at least pick-up on the culture?3
-
Just know that this is out there somewhere:
// JavaScript Document
//verify redirect
function verifySubmit(){
//get a handle on the form and check terms and conditions is selected , if not raise something
var cb = document.getElementById('termsandconditions')
if (cb.checked == true)
{
//the box is checked , redirect user to access controller
window.location = "http://192.168.101.1/goInternet.php"
}
if (cb.checked == false)
{
//the box is not checked , do not redirect user to access controller
}
}1 -
Client A: “What does that little button do? It looks so not fit in though. Can we just remove it?”
Me: “It basically serves as a sort function and to make those data look more tidy when you first input them. Especially when it comes from many sources, it .....blah blah blah.... So it's quite inportant to stay there according to UX basic.”
Client A: “??????????”
Me whispering: “Jon Snow.....”
Client A: “Sorry, what?”
Me : “Noooothing~ let’s talk about the other module shall we?”5 -
i am coding blindly cause i am not really sure how the function really works. thats how i get things done after 2 weeks. but at least it works out after a while. buuuut i just want to get this thing done uuuggghhh i need to do this faster!
mind please cooperate with me1 -
Whenever I cancel out old chunks of code that do not serve their function anymore, or that I commented out in early phases to make space for better functions, I feel dead inside. It's almost like if I was saying goodbye to a very old friend, who supported me through the project and reminded me of how I started it.
Than I notice how stupid and/or inelegant that chunk was, and feel better. 😂 -
Windows is so magical. I mean it doesn't support syslog which is in a way essential in large environments. Today my coworker told me about a tool named nxlog which has the function to send log messages from windows directly to a central syslog server. It can also read files... well theoretical because nxlog does not accept ":" as a valid character... cya C:\something2
-
PHP code that didn't use sanitize, but manually checked if strings contained ' or ". Not even in a function, but manually implemented whenever the person writing that burning dumpsterfire thought it was a good idea to check for that.
Code also didn't report, it just exited without error code. Users would just get a white screen if that spaghetti code "security" system got tripped. -
Okay but whys no one talking about w3js? Its not a complete overhaul of the entire frontend shit, it doesnt introduce fucked up concepts, it literally just abstracts away those 10 functions everyone creates a function for in the first 2 minutes either way, its actually useful.1
-
I implemented the equivalent of “?.” In typescript with a function callled safeRetrieve(descend into the field only if the object is not null).
We could not update typescript, so I just created this function and it made me used to use ‘keyof T’ as a parameter type… I still feel very satisfied after I use this approach with anything because it really feels like using typescript correctly!4 -
*So I have a function where the date is formatted as 20180317 and get returned if I pass a date to it.*
Junior Dev: I'm selecting March as a month but it's showing 20180217 and not 20180317, what should I do?
Me: I've written function for formatting date just go there and there will be date.getMonth() just add 1 to it by doing +1.
Junior Dev: It's still not working!!!.
So I went there and checked what she did, and she did this .....
date.getMonth(+1);2 -
toilet.flusher.show()
... hmm ... not a UI issue.
toilet.flush()
Crash: "No function found"
... must be private, mother fu**** ...
...
...
// ¯\_(ツ)_/¯
user.leaveFloater(true)1 -
I was reviewing a Pull Request recently and there was this line
`return josn(202, 'Record does not exists')`
I told the developer that, status code and description does not match.
He just did not want to accept that he was wrong and told me that, since this function is not exposed to public, it does not matter.
Whats wrong in accepting that you are wrong. We do make mistakes, consciously or unconsciously. Huur. I regretted reviewing his codes there after.5 -
"Warning: Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it."
WHERE. TELL ME WHERE THE FUCK THE PROBLEM IS HAPPENING. OR SHUT THE FUCK UP.3 -
I fucking swear. AI this, new frameworks that, but every fucking company I get hired by has a deluge of files that are thousands of lines long.
It's not a new concept to split up files. It's not difficult to progressively split up files as you work on them. And yet so many programmers apparently can't fucking stop for quarter a second to think "hmmm maybe adding another function to this thing that is already 20 km long might not be the best idea".3 -
Just merged the stuff that the other intern and I have been working on for the past couple weeks together. He didn't comment a single function; not the couple thousand lines of c# functions on the server side, nor the hundreds of lines of JavaScript on the client side. It's a mess of formatting... Ugh.4
-
In PHP, constants can only be of simple data types like strings or floats.
You can't make a database connection a constant because it's not a simple data type.
That makes the only way of accessing complex "constants" within functions using the keyword global... which is not encouraged and forces you to make the database connection global (that may not be convenient in some software patterns).
The last option is passing the database connection as a parameter (either to the function or to the constructor of the instance whose methods will use the connection)... which would be good if I didn't want to go full OO. Because it's a pain to do so.
So all in all, constants are not well supported by PHP.
Come on, constants...12 -
!dev !rant
Not working at McDonalds, I got hired to do factory work for a company i've known about for a while. Loving it way more!
side news: I'm getting into OOP with python, i definitely like the organization and ease and sense in that all. Recently learned how function definition works, so I can really get this ball rolling now! -
Trying to put together all the code of my ajax request into a function so I do not repeat myself. The code works perfectly outside but not in the function. Well fuck JavaScript. I've been stuck here for two days.19
-
So the other day, I was working on some Python project when there was this bug that kept transforming. Like seriously, I would turn from "bool not defined" to "function does not exist" to literally "file does not exist"... within the FILE. And when I fixed them, new bugs kept popping up, and I couldn't find anything that was a problem. Nothing. There was this one function in there that, if I changed even the comments in there, would break. And so.... I turned off Atom and turned it on again. ( ha ) Didn't work. I restarted my computer. I copy pasted the file into another file. I used another IDE. I restarted GHCI. I restarted Jupyter Notebook... and after 6 hours... I found that it was because an if statement has a comparison between a bool and a bool, with a = in the middle. (not ==). I swear I almost threw the computer on the floor.1
-
Me using numpy.polyfit() to fit a function to some data. Blame polyfit for not being accurate, search the web to find any related problems, as the polynom doesn't fit at all. Polynom is of 2nd degree, polyfit becomes unstable at about degree 20?? Try Polynomial.fit() ... same results. How can they all be wrong???See a little typo in my code, calculating the polynom points. Fix it, everything works.... wasted 2 and a half weeks because of this error.🤦🤦
-
My first interview question to a project on the second day at my new job:
"Implement a sum function that will work like this:
sum(1)(2)(3)(4)...(n)"
I could not answer this or any of the following questions...12 -
OMG you fucking dick! All I asked if you minded if I created a PR to push your branch to prod because test was down.
You didn’t have to bother the fucking software architects in a group chat with me saying I needed fucking help.
If you wrote the isset function correctly to begin with or even put the JSON file in the correct repo like every other file on the site this would not be a problem.
Fuck contractors! Fuck Assholes!2 -
Not something I would usually do but just want to give GarryExplains a shout out to any dev's wanting to learn some theory of a variety of topics, mostly want to shout out the bellow video, not because of the actually programming behind it but just what I think is a bloody great explanation of how CPU instruction sets actually behave and function...
https://youtube.com/watch/...2 -
Fucking egos. Why is it so difficult to communicate with some senior?
Senior: we need to support old browsers.
Me: What about using polyfills.ts?
Senior: that's not what I am asking for. what's wrong with my implementation?
Me: check whether a global function exists at one place does not solve the issue. What if people use global function somewhere else
Senior: is the pr breaking some features for old browser...
Fucking hell5 -
'Undefined' is not a function
that moment at work when your boss asks you do something that has not been defined as your 'function' -
double RandDouble(double min, double max) {
double rand = (double) RandomGen::GetRand32() / UINT32_MAX;
return (rand * (max - min)) + min;
}
I wrote this function 2 months ago and until now assumed it was working.
Turns out GetRand32 has a range up to INT32_MAX, not UINT32_MAX. So this function would only ever select the first half of the range.
You gotta be fucking kidding me... -
Started making an Android app for the first time a few days ago and wanted a button in a fragment to trigger a function. Easy enough right? Well not for me...
-Thought if the button is in fragment_xyz.xml the function should be in xyz.kt right?
-Wrote the function and told the button to run it when clicked.
-Tested the button and the app crahsed.
-Spent 3+ hours trying to find the bug.
-Eh fuck it might as well copy paste it from the fragments file to the action the viewpager showing the fragment is on.
-Works perfectly fine first try.
-😑
I spent three fucking hours googling that and trying to debug that while I could have been doing so much more on ither parts of the app...
I mean at least I know now for the future? -
Why the fuck does microsoft feel the need to be different?
One small example is VBA (Visual Basic for Applications).
When calling a function iw does not allow you to use brackets.
Example: Funct (arg1, arg2) is not valid but Funct arg1, arg2 is.
If you want the damed brackets you'll have to use call.
Call Funct ( arg1, arg2)
because after the first function is called, functions within that as arguments need to have the brackets...9 -
What if I tell you I know front-end developers asking me if a parameter in a jQuery function should be in quotes or not...I mean...c'mon, people, are you fucking serious?1
-
So I'm writing a function in Unity3D that walks a rectangular grid. At one place in the code, I got the x+y coordinates backwards, which caused the function to infinitely loop between two coordinates.
Not seeing a way to kill the loop, I looked it up on Google. The suggestions I get are. . .
1. You need to kill the Unity3D task and lose your edits because the environment and the player run on the same thread.
2. You can pay ten bucks for an extension that lets you break out of infinite loops.
3. You should really avoid writing infinite loops. That's just bad form.
SERIOUSLY?1 -
After merging 2 branches, Git randomly decided not to merge one particular line (the place where my newly defined function was called) and that caused a fixed bug to reappear. First time in 4 years I am witnessing Git do something strange like this— probably an issue in the “merge by ort strategy”.5
-
That is one thing I hate:
Every second programming tutorial in Youtube is made by Hindu, and unfortunately their spelling is not so good. That is why learning from this tutorial becomes twice difficult and ridiculously funny...
I need a function of searching only videos with great spelling XD
P.S. It's not question of nation, but of spelling12 -
Once wrote a function that set the controller vibration to 5% of its max in a constructor in the middle of nowhere. It was enough to notice if you were paying attention and feeling for it, but not enough to think that the controller was vibrating. Still there as of last week
-
Service I was needed to integrate to our system had such poor documentation and a separate pricing tier to access their APIs...
... Not having it. Used Guzzle to perform both the authentication and their search page, then made wrote a function to web scrape the result.
Job done. 😎 And yes, I have no shame to say I love PHP.2 -
Possibly my favourite function is Clojure's "recur", which isn't really a function at all, but a special form that gives you a guaranteed tail-position call to the current function.
Basically what that means is you can write recursive functions (functions that call themselves) and know that you're not creating a potential stack overflow.
Um. Okay, I can feel people looking at me like 🤔 Basically what *that* means is: normally when a function calls another function, a "stack frame" is allocated, holding all the local variables for that call. If a function calls itself 1000 times, 1000 stack frames get allocated. "Tail call optimisation" is a process by which if you call yourself as the very last thing in a function, the language doesn't need to remember the current frame; it just has to pass the return value upwards. The trouble is, it's sometimes hard to notice that you've turned a tail-call optimisable function into a non-optimisable one. Clojure's recur keyword makes it explicit, and therefore safe: if you try to do anything with the return value of recur, it's an error.
PS I'm sure another language did explicit TCR first, but Clojure is where I first saw it.6 -
So you're working on a product that basically the main thing it does is fire off http requests and parse their responses into a nice model. We've made some nice helper class that allows you to do this easily, but a simple piece of functionality is not in there yet.
You agree to add this one simple function and decide to:
- Not conform to coding standards set by the team
- Document its behavior which does NOT match the implementation
- Not write a single fucking unit test to prove it's functionality
ARE
...
YOU
...
FUCKING
...
MAD?! -
Omg I loath path separators. Been working on windows most of the time (bought a surface pro for some reason) and my colleagues work on Linux. We just do standard web dev stuff nothing special but. I started having issues with my windows build getting weird function.prototype.bind.apply is not a constructor issue. Which is valid because apparently my colleagues started using the fat arrow function everywhere and on places where not needed.......
But on Linux they never had an issue because babel fixed it to the old function during the transpileee. So why the fuck am I getting this problem. After some tedious debugging and asking my colleagues. (colleagues only responded with just use Linux) I found the the issue to lie in the webpack loader for the Javascript in which the path regex used a single / :(. So I changed that to a group to be / or // and bam the whole bloody project works on windows now.
....... My colleagues still don't understand that they over use the fat arrow in the wrong places unfortunately3 -
Maybe Rant
It's 1:30 AM and I finally finished implementing a simple function after more than an hour.
Not sure if I should be upset about my stupidity or glad that I solved it.
If anyone is interested in learning Haskell I totally recommend these exercises: https://github.com/data61/fp-course
filtering :: Applicative f => (a -> f Bool) -> List a -> f (List a)
filtering p = foldRight (\a -> lift2 (bool id (a:.)) (p a)) (pure Nil)1 -
I just realized that I subconsciously believe more lines of code means slower code.
It's not intellectual. I understand that little lines of code often are just calling other code. That this is not how Big O works or does not replace benchmarking and that some data structure requires a lot of code for immense speed up. E.g: B-Trees with sizes at page size for big amounts of data read from a secondary storage location.
But still, when I see a function with just 3 to 5 lines, my inner monkey believes it must be fast.
Know your biases, I guess.2 -
I have a question on the Signal app.
Two family members have an extensive chat history. One of them accidentally deleted the data. The backup function was not active. However, the other side still has all the data. Both are using Android smartphones.
How to transfer the data? Re-sending works only five messages at a time, which is not practical with some thousand messages.
Is it possible to export the data from one smartphone e.g. via USB to a PC, then import that via USB on the other?10 -
Hey, I have a cool idea about a new way to solve a problem our users are having!
Type type type, now I have a working prototype! Show it to the team, everyone loves it. Polish it a little, it works really great!
Now let's test it on an iPad like the ones our users have... Nope, nothing works, undefined is not a function.
F*CK YOU SAFARI, you're why we can't have nice things. 😤 -
Smalltalk's become: is my favourite function (well, method) from any language. For those who haven't Smalltalked, here's a great description of it: https://gbracha.blogspot.co.uk/2009...
From a design perspective, what's not to like? You get to design your object graph in time as well as space, the state transitions of your objects become simple to represent.
It's also great for job security too ;)2 -
-> 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 -
I’m making a cut-down version of scratch for a personal project and I just fucking had to write a linker for it.
I fucking… it’s… a flowchart language… and to avoid a hash-table lookup of function identifier to underlying logic.. I wrote a linker.
It’s like, maybe 10 total lines. So not a real linker. But still. Just a bit crazy.2 -
Not sure if junior dev is lying or just really bad at using the search function. He made sweeping changes in code he inherited from me and failed to find all the jQuery selectors that broke because of it. And he didn't think of clicking on all the other buttons on the page to check they are still doing their thing. Of course claiming that there is no time for testing when I pointed out his mistake. Wish he'd stop being such a bad, this is not the first time this has happened!
-
fuck php and fuck it's whitespace header not sent bullshit, apparently there a bazillion ways the header function may just refuse to work, all for a function javascript does way better13
-
FUCKING docker-for-windows, I HATE you, random freezes, "function not implemented"... the worst is that a restart works, but every 2 hours it's FUCKING UNBEARABLE FUCK YOU DOCKER CORP !7
-
Spent three days banging my head against my desk trying to get an AWS Lambda function to work, only to finally discover that my code was perfectly functional and it was a security group problem. It was supposed to send a POST request to a load balancer's URL but couldn't resolve the hostname because the security group blocked a necessary outbound port for DNS requests.
That's what I get for not troubleshooting at the infrastructure level when experiencing connection issues. I did not spend two years doing tech support just to forget basic troubleshooting steps now that I'm in the DevOps field...1 -
So.. playing around with jquerys load() function because I'm trying to implement some updating functionality to a specific div. After researching a bit, it didn't seem like it would be too difficult.. but I could not for the life of me figure out why my template was not displaying! I tried testing with just some basic html and it worked fine. Even took a few snippets from my template and again.. it worked. As soon as I copy/pasted my whole template, the page renders nothing. I was seriously getting frustrated so I started entering the template manually testing each line. It worked until I got to this special div container I made.. went and looked at the css properties for it and..
display: none;
*facepalm*
I forgot I had set it to none because I was using jquerys fadeIn() function xD seriously?? -
People who speak in puzzles during code reviews - fuck you! Just say what you want to say without being philosophical about it. Want me to change the name of a function? Let me know, instead of ranting on about some other shit. I should not have to ask you twice for every god damn comment what you mean, you prick. It’s just annoying and a waste of time.4
-
Write a function that adds two numbers together. However, do not use + or any arithmetic operations to do so.12
-
"Dear" tech lead... Editing Cloud Function with GCP's online IDE is not equivalent to versioning your code. Use a proper VCS dammit. It's fucking sprint 3 already... Ugh3
-
1. Find a function: getDayDiff(d1, d2)
2. d1 and d2 are momentjs dates.
3. See that function performs complex ancient math rituals and then returns an integer
4. Try to rewrite function, return d2.diff(d1, 'days')
5. Should be OK right? Run tests
6. Whole module melts down. WTF?!
Turns out the math performed returned the difference + 1 because it included the current day which moment's diff() function does not (out of the box).
Processes that depended on this function then uses the result like this:
const diff = getDayDiff(d1, d2)
if (diff-1 == should_match) { /* more fun logic */ }
$ git checkout .
$ run-shutdown-script-because-fuck-you2 -
"In Python 3, exec is a function; its use has no effect on the compiled bytecode of the function where it is used."
Found in a stackoverflow post.
So wait, you mean to say, you could hide code in a pyc file or am I mistaken?
How is this not a security concern?11 -
The fact that the latest Linux kernel added support for 32 bit systems to function past 2038 is one of the most baffling things I've ever seen in development history... Not saying it's a bad thing... But.... Why3
-
Just did a group presentation for a uni exam.
Our analysis was by far the most thorough, most detailed of all the groups. Our presentation was one of the best as well.
Final score: 27/30
Why, you ask?
Because all our deltaT results were wrong. Because somewhere in the code there must be a bug in the function to calculate the transfer time between each orbital maneuver.
A bug that did not come up when we wrote that function, in spite of the multiple known test cases, which all worked fine.
We could have had a 30/30.
FFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUCCCCCKKKK -
ANYONE USING MONGOOSE HERE?!!
TypeError: User is not a function.
That User is a Schema. I've been searching for so long now and I can't seem to find a way to make this work. Sorry for being desperate that I had to ask on devRant.5 -
We used a javascript library before on our project. While reading the documentation, it states that you need to put the ajax response on an .addRow() function in json array.
That was what we did, but it keeps on throwing tons of errors. In the end, we visited our senior dev. Turns out, the function needs an array and not a json array.
I stopped reading documentations since then. And our senior dev stopped talking to us. Hahahajk -
During a code review I was doing the dev wrote a function that takes a tweet, iterates over each letter, if the letter is not in a specified unicode range the letter is removed from the sentence. So now you have a sentence with missing letters... Wtf1
-
Not a rant, just something that made me laugh way too much. We wanted to test this error logger we made to see if it could report where the error happened, so we wrote a function that just throws an exception. Not sure what to call it, we called it “shitTheBed”.
So it looked like:
service.shitTheBed()
I almost want to leave it there.2 -
Do you guys return 200 when a search function in your API returns a not found and you attach a response in the object saying "success: false", or do you return 404? I'm confused. Thanks.
https://softwareengineering.stackexchange.com/...3 -
If you create a website with a login function, please mention the password requirements on the login page (not just the signup page, in the login page too). So i know which of my default passwords i used for this website.16
-
A contains() function for a class to check if there was something in a list. I did not know about the if a in list_b python feature, so I resorted in a loop and a bunch of if/elses.
Efficiency = 01 -
Learning C/C++ started to become fun, mainly because I've managed to do seemingly cursed stuff lately.
For example, today, I learned you could totally call a class member function using a type-matching nullptr variable. The 'this' variable is so null that it will crash as soon as the program hits 'this', though, but the control flow does go into the function.
It's not *that* cursed once you learn the behind-the-scene stuff, but that kind of weird s#!+ is funny, even amusing for me, who've mained languages other than C/C++.11 -
WTF!! Function that returns multiple outputs!! Why not make a datetime object and return the whole fucking object!!1
-
Having an argument about "empty" function in php.
someone told me that we shouldn't use this function because this is deprecated and doesn't work on php 5.3.
He has this opinion because once we took a site live and there few conditions broke. And they were like this " if ( empty($this->input->post())"
While I was trying to tell basically it wasn't empty fault I used it wrong, because the docs says nor its deprecated neither it'll break if we just use variables in it and not functions.
Argument ends up in "not getting any reply" :/ -
Google codelab's logic :
"uncomment the code from a xyz function
run the test
test fails
uncomment the code from abc function
run the test again
test pass
Congratulations you learned test."
Well apparently this is not how world works Google 😥😌😴 -
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 -
Having a cold on a busy time schedule sucks. I almost worked myself to death yesterday by consuming a ungodly ammount of caffeine. Even though the caffeine helped for what felt like 15 minutes, my brain did not seem to function. Just one more worksheet to hand in tomorrow ....
-
!rant
Maybe a usefull function for the fellow developers here, in case you need default Avatars for your users. "UI-Avatars". Just 'discovered' this beautiful API today and it really is easy and helpful! :D It even has a PHP package if you would like to generate them yourself.. This is not an ad or anything, it's just a usefull API, like 'placehold.it' etc that could be useful for anyone out there! -
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. -
How are your companies doing on writing docs? Is it mandatory/optional? Would you say reading a doc by other team in your company would be enough to understand what their module is doing? Do you write docs per module/file/function? Also please mention main programming language if it's not a secret..5
-
debugger; // JavaScript
It's a statement not a function, but it can save lives when console.log debugging fails. -
I am really frustrated and angry when my friends only think that web development is easy you just do everything in bootstrap thats it, but really not all web apps are made in bootstrap, i make mine using css media query and thats hard to set everything manually, im so pissed that they take my job for granted and they cant even right a single decent php function , ignorant retards4
-
Trying to make my first genetic algorithm program "to be or not to be" in javascript.... (coming from java and experimenting a bit)
Can't even get past instantiating a function/class Gene.js file into the main.js file. -_-
I got a long way to go...1 -
PHP are you freaking kidding me right now? Why are you forcing me to write ugly and meaningless code like this?
Today I just learned that boolval("false") will return true.
I'd deffo expect this from casting operators, but not from a function which even has val inside of its name.
What purpose is to have functions like these in language if they just serve as plain wrapper for casting operators8 -
How do you plan before small software changes?
I have some extremely iterative approach where I change one function or one variable at a time, like a headless chicken. I am not planning beforehand which modules or functions I need to change but start from somewhere and like a linked list, I am moving on until the end.
But I feel like it is wasting my time. What is your approach when you want to have let's say -50 line of code changes?5 -
!rant, more of an incredulous/cruelly amused "you had ONE job..."
so: biggest IT/PC/electronics store in my (and neighboring) country. their webpage, of course with the function to buy online, because of course.
the big green "Buy" button does nothing. doesn't work. doesn't react. I keep clicking it multiple times, shorter, longer, etc, because maybe their JS scripts are just shit so they slow.
nope.
okay. open devtools, JS console.
hover over the button: "Error: isMobile is not a function".
click the button: "Error: isMobile is not a function"
WAT.
search for isMobile in the script.
173 occurences.
fuck this.
console: isMobile = function(){return false;}
because I'm not on my phone.
click the "Buy" button.
works flawlessly.
...HOW?
THE WHOLE PAGE IS AN ESHOP YOU COMIC RELIEF INCOMPETENTS! =D
173 uses of non-existing function that blocks business-critical feature, THE ONLY CORE FEATURE FOR WHICH YOUR SITE EVEN EXISTS, and NOBODY, not the dev who fucked it up, NOT EVEN QA, noticed it??? =D =D
if I was the boss of the devs, or even boss of the whole company...
git blame
...and then i'd go the whole chain from the dev who caused the bug, through all of the QA people who "tested" that version before deploy, and I would personally, on the spot, fire each and every single one of them.
mainly because of who knows how much money this stupid not even a proper bug lost them.
but secondarily, because clearly none of those people give a single shit (n)or have an idea how to do their jobs.
=D =D
yeah but I was a good guy, filed a bug report in the "Complaints" section of their Contact form.
it goes to some call-center-like peon, so it starts with a sentence "forward this to your site's dev people outright to file as a bug, thank you".
but... HOW.... =D
HOW can you let something like this through? =D
the bottleneck of your whole user interaction, which forms first of the three steps OF THE MAIN AND MOST IMPORTANT FUNCTION of your whole business... =D
...I...
...does not compute =D
...BUT THEY USING ANGULAR, SO THEY ALL MODERN AND HIGH-TECH AND EVERYTHING'S FINE!!! =D =D1 -
I spent two hours trying to figure out why VBA was giving me the correct values when I used debug.print, but not when I got the returned from the function.
I MISSPENT THE GOOD DAMN FUNCTION IN THE RETURN AND VBA DOESN'T SHOW OR AS A BUG OR GOOD DAMN ANYTHING....
I hate this thing so much.
On the bright side the office thinks I'm some sort of magical tech-deity.5 -
I'm not trying to say that PHP is not consistent, but it's the only language where you can use two styles of typage in a function definition:
function myFunc(ArgType $arg) : ReturnType
{
//...
return new ReturnType($arg);
}
You must decide, PHP... Not use both... -
"As if a device can function if it has no style. As if a device can be called stylish that does not function superbly… yes, beauty matters. Boy, does it matter. It is not surface, it is not an extra, it is the thing itself." - Stephen Fry1
-
I have always had the fantasy to build a function in my developments that upon start would check if my user still is enabled in the Active Directory, and if not then shut down the application. Never done it... yet.
-
We had a dispute @ work yesterday on this topic :
aproach 1 :
$res = getSomeData( [ 'filter_1' => 'str_1', 'filter_2' => 'str_2', ... 'limit' => 10 );
with
function getSomeData( $data )
{
...
}
VS
aproach 2 :
$res = getSomeData( 'str_1', 'str_2', ... 10 );
with
function getSomeData( $filter_1 = '', $filter_2 = 'default_str', ... $limit = 20 )
{
...
}
I had used 1-st b/c IMHO it's more dynamic and easy to maintain and call ( especially when there are many params, most of which not used on each call )
and my colleague didn't liked it w/h his main arguments that one can not easily see the needed params and no default vals for them ( the latest could be easily corrected in the function body ). I'm curious to read your opinions, arguments & contra arguments for each aproach12 -
attempt neater/cleaner implementation, doesn't work
attempt ugly implementation, it works
maybe one day i'll learn how to write good typescript and react
easier to throw the args around than try to figure out the correct syntax to pass a function to a child component, or not have a react hook closest to where it gets used? -
At what point can you say you are experienced in x language?
I am consistently looking up function definitions and ... how to... for languages I worked with for years.
I'm not talking like 'how do I loop through data from a database' but something like 'which param goes where for this function'
Curious
Friend is wondering if he is a copy/paste dev... :/6 -
A few weeks ago a friend was teaching me about 16bit numbers because we were making one in C# with a function, but he said we need two numbers for the function to work.(so as an example were gonna use 0, 2)
Now I didn’t understand how two numbers were supposed to make one. And my friend could not explain it to me. So I researched the topic all day and the epiphany happened I realized I was looking at it all wrong. I shouldn’t be looking at it as 2 decimal numbers but 2 binary values or two binary arrays forming one byte array with a length of 16.7 -
Is the title "Web & Mobile Developer" on my profile misleading?
And the part in my summary which says I'm studying and currently not working ambiguous?
Cause I keep getting investment offers and job applications!
If you want I can hire you as an onClickListener function of a button in my Android app or as an activation function in my neural network model! -
Ok so Sonar had a rule that you should not throw Exception. Rather you should always throw a specific types or catch them...
I don't understand this. So if the underlying function throws 10 different types of exceptions then the calling function should also declare it throws 10 different types rather than just Exception?
Assuming it isn't in a position to handle them?2 -
I just want to say make sure you build app to be scalable from the begining I spent around 5 hours remaking my Vue app to use eventbus and vuex because at first I thought it was going to be a much smaller project but it looks like I'm going to expand on it.
Btw it's still not 100% function like it did before the refractoring so ya.2 -
I just found this in the code I'm working on:
function checkDateValidity() {
function checkDateValidity() {
...
}
}
Obviously a bad copy/paste. Not even sure how it was working before; it probably wasn't.1 -
Fuck javascript, pice of shit can't be learned without reading 50 shades of books and even SO solution don't work.
why for fuck sake there is no easy way to create module in another pice of shit vue js
And fuck devRant for not being able to paste images directly. I'm done! bullet in the head!
trial 1: is not a function
trial 2: is not a function
trial 3: is not a function
trial 4: is not a function
trial 5: is not a function
trial 6: is not a function
is not a function
is not a function
is not a function
is not a function6 -
I've implemented Chat function for my app. Since I'm a security noob what is the preferred way of encrypting the messages End-to-end maybe?
I'm definitely not leaving them as plain text :)4 -
Trying to write some JavaScript (still learning it)
Why does the fucking
(function() {
})();
not work for starting a function below it?
Or above... I tried to fiddle with it too much, I'm just gonna leave it for now18 -
I hate it, when symfony stops the execution without any hint if you configure a dependency-injection with a non-existing class or a call on a function that does not exist.
The only reliable debugging is supported for di configuration of constructors.
It feels like, "oh. You wanna call a function or give us the classname via dependency-injection? Good luck yankee!! Better know your shit xD" -
Noob question
Is it better to implement a cryptpgraphic algo in a function or in a class? Also how?
More info:
I have a cryptography class and I really enjoy implementing the different techniques that we study in class. At first I was just implementing the techniques in a simple function with 3 parameters; key, message and a bool for encryption or decryption. But as they are getting more complex, it is becoming harder to continue implementing them in a single function block. So I thought of using a class but ran into the problem of how do I even do that? Do I make different methods for key generation, encrypting and decrypting?
P.S. It's really just for learning how the crypto technique works and not for anything serious.12 -
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 -
being 4th in line to maintain legacy code in a language I have never used before when the the last two guys were, and this is my boss telling me and not my judgment, 'incompetent.'
there are literally four functions in this class that all do the same thing... which is the one being called in this case... a seperate external function located in another file in a different language on a different server all together. 😐 -
Found a bug
- Calling function sent wrong parameter.
- Calling function itself was shit. Changed it.
- Few hours later, revamped whole class, updated all references and pushed to production next day.
Till date that class has not changed and still works flawlessly!
And probably first time I used queues in java. Algorithms FTW -
So I was wondering if any of you know if any good ways to inject additional functionality into a function in CPP. My use case is injecting a counter into an OpenGL draw function to see how many times per frame it's called. I know I can do this using assembly Inca more hacky manner as you might do for cheats in games(code caves), but I'm more interested in adding is for debugging/statistics for the game engine I'm working on. Basically im looking for a portable stable way of doing it that when I compile as a debug build, the code gets added to various functions, and when I compile under release, it doesn't.
Example:
glDraw();
Would call
glDraw() {
drawCount++; //some debug stuff
glDraw(); //call the real one internally
}
I should mention with code caves you can do this by saving the original address of the function, patching the vTable to point to your new function that has the same parameters etc, then all calls to that function are redirected to yours instead and then you simply call the original function with the address of the function you originally saved. That said, I'm not sure how to access vTable, etc the "normal" way...2 -
Every day hour minute i have to work on these charts im getting more sad frustrated and annoyed.
I have a function which works perfectly in the mobile versie of the webapp. Copy paste it to the desktop, it’s not working. Something is wrong and i can’t get my head around it. Neither does AI.
Kendo is hell. -
I swear! I just typed some words, I pressed [Enter] key and....
Oh my good, I broke the machine ...
I'm sorry I'm sorry I'm sorry !
PS: this message is not alone, I found another one about a deprecated function once I clicked on a link... -
That moment that you realize that you have more experience than your college teacher...
Me: Can you tell me why a tail recurcive function in a functional programming language the stack and memory do not increase?
Teacher: I don't know what is a tail recursive function...
Me: Ok....
I feel like I am wasting time... -
JUST HAPPEND
tariner and coworker: when getting a dto lets make sure to get the object by a query before the function then pass only the object found
<couple of lines later>
see her the thing again....
me: this function you did it.
tariner and coworker: um.....mmmmm.
yeah this thing is wrong you should never do this...
(as if he made a mistake and covering it by telling me not to do it) -
Is there a common style name/popular origin for the style of whitespace in code where you put spaces inside parentheses but not after keywords in control statements, or after function names? (See img)
This is my preferred whitespace method (in most languages), but I don't know where I adopted it from, if anywhere... ;P16 -
You need to have a personal definition of success based on your own values not what is defined by society, neighbours or even your family.
Just staying in your lane will relax you and you can then function instinctively without any comparisons,living your own life to the fullest.2 -
Is there anything like React Context or Unix envvars in any functional language?
Not global mutable state, but variables with a global identity that I can set to a value for the duration of a function call to influence the behavior of all deeply nested functions that reference the same variable without having to acknowledge them.11 -
As if I fucking care if you have to add another parameter to my function call. Just because you think it's easier, does not mean its more usefull.
It's inconsistent as F U C K
You code IS spaghetti code. Your logic is closer a maze on a fucking one way street and I don't fucking care if it works. It's a pain1 -
Practicing some random code interview questions while not busy.
Find top N values with MaxHeap in JS
Didn’t get it right in 1st try. Something wrong with the replace function. Then started getting busy...
At the end of the day, still didnt have a chance to fix it.
God damn it! It’s me. A frontend developer can’t write MaxHeap in JavaScript 🤦♂️ -
It was one of those "I need more coffee days"..
I was writing some checking function called "check" (now to clarify my company is not coding oop style so no classes etc.) And as I went on I included another file for some functions and what not. Pretty normal stuff right? Right. In that file I required there also was a function called "check".
Guess who tried to use the "check" function of the imported file in the "check" function?! Right! A Fucking genius aka. me!!
So I tried to figure out why the page wouldn't load and why the server was starting to lag more and more.
After killing all the apache tasks three times i finally realized what I did.
Took me 10 minutes to figure out that i was causing endless recursion. That day wasn't my best and clearly not filled with enough coffee.
PS: yes I know oop would have probably eliminated the possibility for this but I'm just adapting to the coding style of my company as I can't really change things since I'm just an intern.1 -
I spent three days debugging an API endpoint because in this framework, a "function not in scope" error fails silently. The only way to find out that this issue was happening was to drop the entire endpoint handler into a try/catch block.
Guys.
JavaScript is the shittiest fucking language.3 -
Built the most generic file importer.
So a customer had his SAP system giving us some 5 million barcodes in a csv which we needed to parse. But as there could be different file types and I thought the handling would always include the same steps I made them configurable through function pointers. - Did not want to make it as spooky as the rest of the code base where the function pointers were buried deep in some shared memory configs, which might even change at run time, but rather I statically used the member functions of my class. Just to poke fun on the ugly C++ syntax of member function pointers. I still shudder at the thought some poor soul now has to maintain that code.
(For the actual parsing I actually used a one liner in awk which was churning through the records in one minute which was faster than the SAP guys seemed to be accustomed to.) -
i dont know typescript and thus hate it
why can't my fucking ide extract the type of a thing
i've no fucking clue if it's a function or not or the syntax
statically typed language gang rise up,
dynamic can be good for certain use cases and if you know what you're doing i suppose3 -
Python is an example of a language which is far, far too high-level for my liking; to provide a reference for my preference, C++ is one of my favourite languages, because it is versatile while remaining somewhat verbose, while Python tosses that verbosity out of the window while not functioning as one would expect it to function after reading a lot of the documentation.3
-
Looking at Rust's preliminary fn trait model (basically the function call operator) and I don't get one thing:
Why is the argument tuple a generic type parameter and not an associated type? It would've been so easy to ensure consistency in the position that Rust doesn't have overloads. A trait can be implemented for any number of generic type parameter values, but an implementation may only have a single type for each association.3 -
in vb.net i can declare a void function:
Declare Function some_func& Lib "some_lib.dll" ()
then try to assign its return value to a variable:
some_return = some_func()
and get no errors during compilation, not even a warning
but in runtime it produces integer arithmetic overflow exception
in what way it is not even a warning?4 -
`Not really a function, but inserting a ${variable} like this is so convenient in JS.`
Closure Compiler will make it IE proof at the end, but I like having nice code in development. -
tell me guys what would you prefer:
function a(){
..
b(..)
..
b(..)
..
}
function b(p1,p2,p3,p4,p5,p6){.
...
}
or
function a(){
..
b(..)
..
b(..)
..
}
function b(
p1,
p2,
p3,
p4,
p5,
p6
){
...
}
if you read this rant before expanding, you got a complete context on how what function a is, its calling b 2 times and how function b looks.
if instead of the first option, i had used 2nd block, you wouldn't even know the 2nd param of b function without expanding this rant.
my point?
i prefer to keeping unnecessary info on one line. and w lot of linters disagree by splitting up the code. and most importantly , my arrogant tl disagree by saying he prefers the splitted code "for readability" and becaue "he likes code this way, old-eng1 likes this and old-eng2 likes this" .
why tf does an ide have horizontal a scrolling option available when you are too stupid to use it?
ok, i know some smartass is going to point that i too can use vertical scrolling, but hear me out: i am optimising this!
case 1 : a function with 7 params is NOT split into 7 lines. lets calculate the effort to remember it
- since all params could have similar charactersticks ( they will be of some type, might have defaults, might be a suspendable/async function etc), each param will take similar memory-efforts points. say 5sp each.
- total memory-efforts= 5sp *7 = 35 sp.
- say a human has 100 sp of fast memory storage, he can use the remaining 65 sp for loading say 5 small lines above or below.
- but since 5 lines above are already read and still visible on screen, they won't be needed to be loaded again nd again, nd we can just check the lines below.
- thus we are able to store 65+35+65 = 165 sp or about 11 lines of code in out fast memory for just a 100sp brain storage
case 2 function with 7 params IS split into 7 lines.
- in this case all lines are somewhat similar. 5sp for param lines as they are still similar which implies same 35sp for storing current function and params
- remaining 65sp can only be used to store next 5 lines of 13sp as the previous code is no longer visible.
- plus if you wanna refresh the code above, you gotta scroll, which will result in removing bottom code from screen , and now your 65sp from bottom code is overwritten by 65sp of top code.
- thus at a time, you are storing only 6 lines worth of code info. this makes you slow.
this is some imaginary math, but i believe it works9 -
Maybe one of you can help me, since I can't find something online.
I want to do a transfer.sh-like app in Go. So you can upload a file with curl, it gets stored there for some time and you can download it later.
The problem is, I only found tutorials for uploading files over html-forms, not over curl.
Does any of you know, how to write a handle-function, that accepts something Like
"Curl --upload-file SUPERIMPORTANT localhost:9999/upload"1 -
Hey guys!
Once again, I got a little stumped when writing one thingmajig in Python.
I am normally not a programmer (Work as sysadmin), so I don't really know all the fancy abstract ways things are done "properly", which is why I need to ask here:
I have a program, separated into parts. The "core" is a part that sets commandline argument structure (using the argparse library), loads master configuration file, sets up the main logging facility, and then proceeds to load "plugins" - python files with one or more classes that implement one specific abstract class that forces them to implement a common interface of init, run, cleanup functions.
The core then proceeds to initialize those classes, run the "run" function, and run the "cleanup" function.
If the plugin class throws a Warning, it is only logged and runtime continues. If it is anything else, the program logs it and stops.
Now, the issue is, sometimes, a user may want to continue even if a non-warning occurs.
Lets say that I am creating a user, and the user already exists. Sometimes, the program user might want to continue with further plugin execution. And what I was told was to implement specific commandline switches that force continuation of runtime despite the plugin failing.
How should I implement it? The most obvious thing is to add a specific switch for every plugin, but that is exactly what I am trying to evade. I want to have the core as abstract as possible.
Other solution I thought of is to have a file of some sort that would list extra switches to implement, then it would be up to the class to implement if it uses the switch or not (I pretty much pass the entire Namespace received from parse_args() function), but this also feels kinda hackish.
I thought about having some sort of function that the plugin could call in the core to add a new argument, but at the point that plugins start loading, the argument parser is already compiled and cannot be changed further.
Any other ideas of how to re-implement the program are also welcome! I may not do it this times, but I'd at least learn something new again.3 -
Man it really sucks to be a stranger among hundreds of people. You're are not alone but you're lonely and that sucks more. Currently attending a wedding function of daughter or son of co-worker of my mom because I had to drive her to this place.
How can i make this situation good?3 -
Fuck javascript, been on this firestore cloud function since yesterday , i have been get some stupid errors like expected catch or return promise/catch or return , used some stackoverflow answers still not working. Uugggh really wished cloud firestore used a better language like python,..what more do u expect from a language created in 7 days..shitty js
-
JavaScript keeps surprising me, or I'm just rushing. lol
class Group {
#group;
constructor(){
this.group = [];
return this.group;
}
add(item) {
// only if it isn't already a member
// value can be part of set only once
if(!this.has(item)) {
group.push(item);
}
}
has(item){
// return boolean: item member of group
for(let i=0; i<group.length; i++) {
if(group[i] === item) {
return true;
}
}
return false;
}
let group = new Group();
group.add(1);
console.log(group);
Error: group.add() is not a function
Why is group.add() not a function?
A.I. analysis:
1. Private field vs public field:
A private field #group can only be accessed as this.#group. But in the constructor, I wrote:
this.group = [];
This creates a new public field, unrelated to #group.
2. Returning from constructor:
return this.group;
In JavaScript, a constructor automatically returns this, which is the instance of the class. Returning this.group replaces the instance with the array. That’s why after new Group(), your variable group is just an array, not an instance of Group. Arrays don’t have the add method — hence the error.
3. Referencing group inside methods:
group.push(item);
Here group is not defined. You probably meant this.group (or this.#group if using the private field).
Note to self: in the magic of computer science, you must be precise. If I loosely define the black box, the result will have a chance of producing anomalies.. kind of like reality. lol4 -
Yesterday at midnight, I discovered why the Appveyor CI system for my project was failing sometimes for over three months.
If the commit message was only one line long, the environment variable holding the rest of them did not exist, and the function returned null.
One of the few times I don't say "The hell had I written!" when I discover a bug. -
It seems I am developing a habit to always forget to test "fetch" code in a repository, found two unit tests having all insert/update/delete but not a single fetch function T_T
-
"What the f, why isn't this Type or expression recognized?!" you think as you are writing your code.. and then you realize you're not inside a function.
I wonder how many times this has happened.1 -
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
-
Why do I struggle sooooo much with xCode and Swift just trying to place a button in the View that when you click, runs a function? I can do this very easily with Visual Studio and C# but not xCode.
Anyone know a good (simple) tutorial video on creating views with xCode and Swift? Every one I’ve seen all assume that you have programmed in Swift for over 10 years.2 -
When you a find a phantom function that looks important that doesnt get referenced, but the application is so big your not sure so you leave it.
-
Why don't people use Ctype.h in C for verifying whether the input is alphanumeric or not? Why bother with the long ass if, when you can just have the result with a simple function?3
-
typeof NaN === 'number' ... why javascript?... why Not a Number type is number??... a couple of minutes later i've discovered isNaN function. 💪💪💪
-
I'm working with this stupid ass framework that has a bunch of old style React class nonsense as examples (that's not actually that bad, but) ... AND worst of all every code example revolves around this convoluted thing where:
"How you do a thing."
"Make button, then you make a function that calls X, Y, Z and it opens the thing!"
But that's not the way you'd EVER do it because doing the thing inside the framework's components is COMPLETELY DIFFERENT!
I get wanting to dumb down documentation but this is dumbed down to pointlessness! -
I'd like to make a simple-ish game with OpenGL, but I'm not sure if I should use the older (fixed function pipeline) versions or the newer (programmable pipeline thingy, with shaders and stuff) ones. Thoughts?3
-
Writing PHP code for advent of code (https://adventofcode.com):
I'll use camel case for that function and snake case for the second one and why not just use all lowercase (what is that called anyway?) for the third function. Variables: $input, $inputs, $a, $count2, $xord, $yord. Why do I have no consistent naming scheme?!?! -
!rant
*reworks complete solution then publishes it to Azure*
"Okay, now let's debug"
*calls function, no response*
*directly opens function in browser*
Function host is not running.
Fuck.
*opens Insights*
System.BadImageFormatException
(additionally, it states that it couldnt load my main project or one of it's dependencies)
Shit, never even heard of that exception.
DDG: yo you're fucked, here, have 3 proper results
SO: lul thats some known bug Azure Functions havent fixed till now
Github: Yeah got a lot of open issues ok that, they just aint any help lmao
Me, a naive person: "okay lets try randomly changing some dependency versions, might help"
It didn't.
Now my question: how do I escape Dependency Hell?1 -
My question is very easy and it is possible that this is a stupid question but I need your help. I have tried to develop a component with a function where I implemented a require function. In this last function, I included a state where a "select" option send the value (the path of the css file) to update this state. The value depend the choice of the user. So, it partially works because when I come back to an option that I picked a few seconds ago, the require function doesn't work anymore. I am not sure that was the best option. I am a beginner. Can someone explain me the reason why "require()" stops to work and which is the best way to resolve this functionality please ?
-
Ghidra won't let you relocate a function or data label and update all pointers to it, so I made a tool where that is its only fucking job. That's all it does. Open a textfile, drop in symbol names, paste in hex strings, change address bytes in the hex strings to other symbol names, hit GO. why is this not a feature built into these goddamn RE tools, when people have been doing this manually since before game piracy was a thing on home computers?2
-
I have JUST realized the word “ease-in-out” is not a palindrome! The function itself is, and I was SURE the word was a palindrome too. I just _knew_ it. Fuck.
Fun fact: “()()” is also not a palindrome.3 -
first of all sorry for my english, its not my first language
hello, i am an aspiring programmer and im honestly just a really big newbie, im learning vb dot net and ran into an issue that i had. So basically i was using the WinActivate function from autoit with FindWindow(using the title of the window) to supply WinActivate the hwnd. Heres my issue: When the window is NOT minimized so selected or behind other windows the WinActivate function works completely fine, but when the window is minimized it doesnt work, i have read on the documentation that neither function cares wether the window is minimized or not so i came to the conclusion that it might have a different title when minimized? The window is the league of legends client by the way. What can i do to solve/debug this issue, perhaps spy++ could help me? how would i use this, i could upload the visual studio project if someone wants to help me out in that way. WinActivate((FindWindow(Nothing, "League of Legends"))) this is what it looks like.12 -
Python muses me sometimes.
Gunicorn has a preload mode. It enables forking...
So Gunicorn starts, when Gunicorn loaded it forks the workers (Uvicorn / FastAPI in my case).
https://github.com/tiangolo/...
So if we add a function that creates the app... this function will be executed before forking, thus the memory at the state of creating the app will be duplicated.
You can thus spawn 40 workers, they would all have the same ML models.
Or in my case a client who does some things that should only be run by a single thread (with locking).
So the client has a cache, as long as I load the cache during the create_app phase, the cache will be shared between all instances and not created per instance.
It's ... Such a small detail. So simple.
Yet completely fucks my brain.
It's logical, yes. I understand what it does, yes.
But it still makes my brain fart. -
Not a function, but a java object... SortedMap saves my ass all the time. Be it market-basket analysis, or selecting top k individuals in an evolutionary algorithm xD5
-
It's not an exactly habit, it's a error that I sometimes do. Type 'funtion' when I defining a function. Then the console logs an error and I cannot identify what and where is the error in the code. After search 1/2 hour, I realize, and then I feel a pathetic dev :'v1
-
Not a function but X macros in C. Using them makes the code significantly more manageable and cleaner
-
Multer is shit.
Do you know how to validate file size + mime type of the file before saving it to the disk?
Here is an instruction:
1. In one place you provide a it a fileFilter function that will validate the mime type, but this function can not validate file size or send user response.
2. In second place provide it a config limits file, that will validate file size, but can not validate mime type
3. In third place you provide middleware to capture any errors caused by previous 2 places and send response back to the user.
4. Go google for what is cb in multer because their shit documentation says nothing about it
Such simple thing as request->validation->response is split into 3 different parts, each of different type: callback, config file and middleware.
Why do so much people use this shit written by a braindead retarded morons?3 -
When do we consider to "hack" some code in?
I am ashamed that I have to ask this. but the codebase is such a mess that simply adding another function to pass some information to 5 different classes that should not know about this. just to make it work. feels awful to me
wait why do I have feelings I get paid to maintain this shit.2 -
How the fuck does browser not have Buffer class support ???????? Isn't Buffer a fundamental programming function.... ??3
-
Hi,I want to provide a button when clicked txt file should be uploaded to cloud account.I want to do it using Java and JavaFX. UI Is easy but how to use GOOGLE DRIVE API? No complete code is given on internet.I don't know how to start from scratch.I am making a software where i need this function to link users drive account to it. Help appreciated :) .(official site of Google api is not useful)1
-
Fuck JS. I want to import file and it just gives errors. In PHP for few years it never happens. You check if namespace is correct it always imports without problems. Fuck you JS creators. It asks to install a library, but I am not fucking importing a library. I am just importing my own created simple file. Fuck you.
import addCommas from 'formatter';
formatter.js
export default function addCommas(number)
{
console.log('aaa');
return number;
}
idiotism.13 -
Holy shit, the exr crate is one of the most overengineered pieces of shit I have ever seen
... well maybe nalgebra is even worse, but that's not a fair comparison. Nothing is worse than nalgebra
Check out this fantastic function: https://docs.rs/exr/1.73.0/...3 -
Hello chat, its been a long week with no progress, i have four problems right now.
1 node js repl cant recognize <> in js, and i cant find a fix for that anywhere on the internet, is there a way to convert html tags in js to smooth brackets code?
2 node js repl dosnt recognize codes like import react from react, and i have to do an async function load, and i dont know y or how to fix it.
3 i dont know how to write import exg.csv into an async function load, its usually something like “import react from react” to “async function load(){let react=await import (‘react’);}”, and i dont know how to do this.
4 i tried to install materials.ui using npm into a folder called materialsui in modules in node, it deleted all the other modules in module folder, installed, and then left the materialsui folder empty. I complained and i dont know how to get it to not do that.
5 how do i fix out of memory errors?8 -
first() function in python...
Because it does not exist
Why have a any() that returns True if any of the items in iteratable are True
But what if I need to get the item itself...
In C it's as easy to write as the any func The performance will be the same6 -
I have learnt html,css, and some basic javascript for web development,and made a few projects including a calculator with prompts.This is the code :
<script type="text/javascript">
function prote(){
let firstNum=prompt("Enter first number")
let secondNum=prompt("Enter second number")
let num1=parseInt(firstNum);
let num2=parseInt(secondNum);
let result=num1 + num2;
alert(result);
}
function prote2(){
let firstNum=prompt("Enter first number")
let secondNum=prompt("Enter second number")
let num1=parseInt(firstNum);
let num2=parseInt(secondNum);
let result=num1 - num2;
alert(result);
}
function prote3(){
let firstNum=prompt("Enter first number")
let secondNum=prompt("Enter second number")
let num1=parseInt(firstNum);
let num2=parseInt(secondNum);
let result=num1* num2;
alert(result);
}
function prote4(){
let firstNum=prompt("Enter first number")
let secondNum=prompt("Enter second number")
let num1=parseInt(firstNum);
let num2=parseInt(secondNum);
let result=num1/num2;
alert(result);
}
</script>
</body>
<form>
<br>
<input type= "button" value="Add" onclick="prote()" />
<input type= "button" value="Subtract" onclick="prote2()" /><br><br>
<input type= "button" value="Multiply" onclick="prote3()" />
<input type= "button" value="Divide" onclick="prote4()" />
</form>
However I want to do game dev and I feel it may have been a mistake to start learning web development,I originally started learning code in roblox studio,however some do not consider making games in roblox studio "REAL" game development and I didn't exactly feel it was either.I messed around with unity and found the layout quite similar to roblox studio. However
I heard phaser uses javascript and Unity uses C#.In which case using phaser would not require using a new language.However I am aware that If I want to make 3d games(Which I do) I will have to move to unity eventually.Basically, as a beginner should I switch to unity and C# first or Phaser and javascript first.5 -
I am that kind of a person who writes the function of each function() in comments above the def.
I hat people who do not do that properly :/
If you are working as a part of a team or wanting to distribute your code, you should do that. :)2 -
HELP! Stack overflow did not take this question! I want to learn code! How can I learn code if they won’t help! Question was:
CS 101 take home assignment question 1: write a function to determine if an array of numbers is sorted. The function must return true if it is, false otherwise.
@Fast-Nop , @Root , @theabbie please. I have a week to get this question done 😭19 -
I lost 30 min to find why a function didn't give me the result.
I've found out why.
Hardcoded with a if with no bracket nor breaklines
Yes, the " if (something) return someotherthing;"
Now I see why it's not always recommended.. -
Not exactly a function in a programming language, but as far as Android SDK goes, typing "adb lolcat" instead of "adb logcat" is easier on fingers, and funnier !
-
Fuck you creator of that video: https://youtube.com/watch/...
this shit does not work.
At line:
const app = createApp(App);
"Uncaught TypeError: Object(...) is not a function"
wtf. Or fuck vue? maybe in another place I did something wrong but I cannot see? And error is written by idiot. What object? createApp object? Then why it is not a fuction? I have imported it as was in the fucking video
import {createApp} from 'vue'
so how the fuck it can be not a function?
DId
console.log(createApp)
and it shows it is fucking undefined. So yea, it is not a fuction.2 -
i miss the big job because i could not solve this problem.
A code to count the number of words in the sentence
" this is debug message " without the use of any internal function. Anyone want to help11 -
I was building Alexa Skill. I choose Lambda and then Create Function.
Now in the blueprint section the amazon-skill... Is not available. It is under "repository" (the third option).
I'm a newbie, after click and choosing alexa-skill from the repo, I don't know how to configure it to add my facts to it.
Can someone help?3 -
Ah. As someone learning Python coming from .NET background, function names starting with a lower case is killing me.
I just spent 5 minutes figuring out why "PIL.Image.Open" didn't work. It's "open" not "Open"!!!