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 - "if statement"
-
Rant!!
Girlfriend call me while am at a meeting.
I mute my phone...
She calls again and again for the 3rd time back to back. I leave the meeting stating this might be important..
I answer the call...
Me: hey babe , all okay ?
She: you’re busy ?
Me: yeah sorta , tell me wassup ?
She : if you’re busy then it’s okay we can talk later
Me: it’s all right . Are you okay ?
She : yes, but if you’re busy we can talk later ..
Me :(FUCKKKKKKKK THIS FUCKING FUCK WOMEN LOGIC, HOW THE FUCK DO YOU EXPLAIN THIS)
The above statement was said internally
Me:(in reality) you sure babe? I’ve left the meeting so I can talk..
She: nothin much I was suppose to be in your area in a couple of hours so wanted to know if you could meet26 -
"It is just a small task. I can do that in just..." Never ever ever say the above statement even if you are 10000% confident.5
-
1. Code works
2. Add if statement
3. Code breaks
4. Comment out if statement
5. Code works
6. Uncomment if statement
7. Code works
8. Wtf??12 -
Just replaced a 300 line switch case with a simple if statement inside a foreach loop.
Feels sooo good man9 -
So Python doesn't have switch-case statement... I feel so dirty having to use multiple if-elif-else
*sigh*12 -
So, rage time.
A few months ago I inherited a big Wordpress website, with around 750 pages.
The client has reported the main menu is broken.
Upon looking at the code it appears the previous "Wordpress Developer" (ahem ...) attempted to rewrite navigation system - no idea why.
As part of the 4000 class below is a screenshot of part of the file where he's determining if the current menu item is active, within a loop. Whilst the whole if statement spans 409 lines - the code basically continues exactly the same downwards.
Shameful :/22 -
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
-
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 -
Dev: Why do you have an identical if statement right below this one?
Manager: Because I want the code to double check, obviously.
Dev: …19 -
PineScript is absolute garbage.
It's TradingView's scripting language. It works, but it's worse than any language I have ever seen for shoddy parsing. Its naming conventions are pretty terrible, too:
transparency? no, "transp"
sum? no, cum. seriously. cum(array) is its "cumulative sum."
There are other terrible names, but the parser is what really pisses me off.
1) If you break up a long line for readability (e.g. a chained ternary), each fragment needs to be indented by more than its parent... but never by a multiple of 4 spaces because then it isn't a fragment anymore, but its own statement.
2) line fragments also cannot end in comments because comments are considered to be separate lines.
3) Lambdas can only be global. They're just fancy function declarations. Someone really liked the "blah(x,y,z) =>" syntax
4) blocks to `if`s must be on separate lines, meaning `if (x) y:=z` is illegal. And no, there are no curly braces, only whitespace.
There are plenty more, but the one that really got me furious is:
98) You cannot call `plot()`, `plotshape()`, etc. if they're indented! So if you're using non-trivial logic to optionally plot things like indicators, fuck you.
Whoever wrote this language and/or parser needs to commit seppuku.rant or python? pinescript or fucking euphoria? or ruby? why can't they just use lua? or javascript? tradingview16 -
Especially painful being a cybersecurity engineer;
Did something wrong with an if-statement.
Caused authentication to break completely; anyone could login as any user.
Was fixed veeeeeeery quickly 😅 (yes, was already live)8 -
FUCKING SHIT.
I'm at my first Hackathon with my best friends in life and there has never been a time when I've felt this miserable all my life.
The theme is IoT (something idk jackshit about) and people here are done with the projects when we are still at the idea stage.
Yes, it's true that this shit is intense but I really want to do good at this.
This is what I've learned from my first Hackathon:
1. Prepare your shit.
Unless the problem statements are given on the spot, you should've discussed everything that you would be doing and not divert. (We spent 5 hours on a problem statement and then we decided not to go with it.)
2. Have people with different abilities who you can trust to get the work done without you having to give a second thought.
3. Don't you dare build a sub-par application. What's the fucking use of that? Don't do it for the certificate or the stickers. If you do that, then how the fuck can you make yourself put those stickers on your laptop?!
4. Have food. Keep yourself healthy and up to max potential.
5. DO NOT BE DISCOURAGED. A lot of people will look like they're done with the shit. You know what you have to do now? NOT GIVE A FUCK! Just focus and do your thing and make it awesome.7 -
I always use brackets for clarity even if there is only one statement inside them
if (boolean){
function ();
}
Cus it's so much easier to read, and if I need to add statements after the if I don't need to remember to add brackets. Plus the else may need brackets and an if with no brackets but an else with brackets looks awful.14 -
When I quit my previous job, they hired 3 guys to replace me. One of them was a swedish guy that was completely useless. He lived in another part of the country, and our manager and a senior dev flew him in and interviewed him at the airport. That was obviously not sufficient.
I got tasked with helping him get started. The code base seen in retrospect sucked really hard, but he got the simplest tasks at first. One time he needed to add a checkbox to a form, and do something different in the BL when that box was checked. I showed him where in the code he needed to do the change, and let him on his own. 1 hour later he asked again. He hadn't even been able to place the if-statement. Omg.
I told our manager that they really should get rid of this guy, since he isn't qualified to be a developer. They didn't listen.
In Norway we have a 6 month test period where it's easier to let someone go. After that, it's quite hard to fire someone.
After a while I talked to a old colleague of mine, and they had finally been able to get rid of him. That had taken months. When he was told that he had to improve, he went to the doctor and got a sick leave. You can't fire someone on sick leave.. Finally he got the option of resigning himself, or being fired. He chose the first option..
He should have been transferred to sales. If he could sell himself as a developer, he could sell anything to anyone... :D2 -
Fuck code.org. Fuck code. Not code code, but "code" (the word "code"). I hate it. At least for teaching. Devs can use it as much as they want, they know what it means and know you can't hack facebook with 10 seconds of furiously typing "code" into a terminal. What the fuck are you thinking when you want me to hack facebook? No, when I program, it's not opening terminal, changing to green text and typing "hack <insert website name here, if none is given, this will result to facebook.com>" Can you just shut the fuck up about how you think that because you can change the font in google fucking docs you have the right to tell me what code can and can't do? No, fuck you. Now to my main point, fuck "code" (the string). It's an overused word, and it's nothing but a buzzword (to non devs, you guys know what you're talking about. how many times have you seen someone think they are a genius when they here the word "code"?) People who don't know shit don't call themselves programmers or devs, they call themselves coders. Why? It fucking sounds cool, and I won't deny that, but the way it's talked about in movies, by people, (fucking) code.org, etc, just makes people too much of a bitch for me to handle. I want everyone reading this rant who has friends who respect the fact that YOU know code (I truly believe everyone on devRant does), how it works, and it's/your limitations, AND that it takes hard work and effort, to thank god right now. If you're stuck with some people like me, I feel you. Never say "code" near them again. Say "program." I really hate people who think they know what an HTML tag is and go around calling themselves coders. Now onto my main point, code.org. FUCK IT. CAN YOU STOP RUINING MY FUCKING AP CS CLASS. NO CODE.ORG, I DON'T NEED TO WATCH YOUR TEN GODDAMN VIDEOS ON HOW TECHNOLOGY IS IMPORTANT, <sarcasm>I'VE BEEN LIVING UNDER A ROCK FOR THIRTY YEARS</sarcasm>. DO I REALLY NEED ANOTHER COPY OF SCRATCH? WAIT, NO, SCRATCH WAS BETTER. YOU HAD FUCKING MICROSOFT, GOOGLE, AND OTHER TECHNOLOGICAL GIANTS AND YOU FUCKED UP SO BAD YOU MADE IT WORSE THAT SCRATCH. JUST LETMECODE (yes I said that) AND STOP TALKING ABOUT HOW SOME IRRELEVANT ROBOT ARM DEVELOPED BY MIT IS USING AI AND MACHINE LEARNING TO MAKE SOME ROBOT EVOLVE?! IF YOU SPEND ONE MORE SECOND SAYING "INNOVATION" I'LL SHOVE THAT PRINT STATEMENT YOU HAVE A SYNTAX ERROR UP YOUR ASS. DON'T GET ME FUCKING STARTED ON HOW ITS IMPOSSIBLE TO DO ANYTHING FOR YOURSELF WHEN YOUR GETTING ALL THE ANSWERS WITHOUT DOING ANY WORK AND THE FACT THAT JAVASCRIPT IS YOUR FUCKING LANGUAGE. <sarcasm>GREAT IDEA, LETS GET THESE NEW PROGRAMMERS INTO A PROFESSIONAL ENVOIRMENT BY ADDING A DRAG AND DROP CODE (obviously we can say it) EDITOR</sarcasm> MAYBE IF YOU GOT THIS SHIT UP YOUR ASS AND TO YOUR BRAIN YOU'D ACTUALLY GET TO PRPGRAMMING IN YOUR ADVANCED AP COURSE. ITS CALLED FUCKING CODE.ORG FOR A REASON32
-
My team mate has just found the best conditional statement I've ever seen, in a source code he received from the client.
if (1 == 1)... and it has an else branch :D11 -
I can't be a teacher. Ever. For the sake of my student on this app, I will try to not generalize the entire class, but HOLY MOTHER OF BASTARD DEMON FUCKS. How the blazes is it so damn difficult to pay attention to the lecturer? Especially when he's nice enough to relate the information to the REAL FUCKING WORLD so they know why it's important?
I feel like they can hear my annoyance when I reply to "how long does the summary have to be?"
And how is 5 sentences the same as 5 paragraphs that are all supposed to have introductory sentence, supporting arguments, and a concluding sentence. That's at least 15 sentences if only one supporting statement is provided.
If this were any other teacher I was helping, I'd quit. But the fucker is intimidating and I want to learn as much as I can from him.17 -
Saw an if statement like this in a hand me down company project:
If(!x && !Y && !Z && (A || (!B && C)))11 -
Saw a girl from my uni upload a photo of her graduation with the following text:
while(!(succeed = try()));
I'm staring at it for 5 mins and i can't figure out if i'm retarded and should drop out of uni or that statement doesn't make sense.73 -
Client: "Dear Mr. I still have not received the final version yet. I had planned to send it out to my customers at the end of the week."
-------
Me (1st answer I did not give):
"Ok. I accept your statement as true, since I did not send you anything. Furthermore I respect your wish."
Me (2nd answer I did not give):
"Well I am sorry. Before today you did not once mention that there was a deadline. ASAP is not how I do things. Please do your project management."
Me (answer I gave): "Dear Client, due to a huge demand for our services we are forced to prioritise. We are doing our best to complete the project as fast as possible. Please understand however that we can not reschedule with 3 days notice. Because of technical requirements the product can be send on Friday next week. Please let us know if this works out for you. - Kind regards. Me. "
-__-""""undefined asap deadlines planning fail nope deadline clients from hell projectmanager christmas no planning triggered polite4 -
Tinder is the worst app out there. I keep receiving notifies like "hey honey! You received x new likes!" or "you're performing well! A lot of people are appreciating you".
What's the problem, you say... well, the problem is that I HAVE NO A FUCKING ACCOUNT, I deleted my account months and months ago and if you want you can try it as well. Download, sign up, set the worst photo that you can find then delete your account, you'll receive a lot of awesome messages!
Actually I received these fake notifies also when my account was active, and when I opened it then I discovered that there was no new likes. But was so fucking hard to put an if statement to check if the user's account is active? Come on... I know you want to trick people and convince them using your app, at least do it the right way2 -
I have seen it. They say it doesn't exist; just a story we tell our children so that their innocence does not lead them down into a nightmarish adulthood from which there is no salvation. But the evil lives. So vile that were you to look inside its soul, all you would find is a terrible desperation for suffering. To cause it. To revel in it. To bathe in the tears of those it considers less than human and feed off the emotional detritus.
It was 2009. The financial crisis. I was one of the lucky, having found refuge in a large company right before the jobs dried up. General IT: system administration, documentation, project management, telephony, software training, second level help desk. No software development, but with a two-year-old at home and Ph.D.s lining up outside the local Olive Garden whenever a help wanted sign was posted, I grabbed the health insurance and entered into darkness.
The Thing did not need to hunt it's prey. A manager title with 21 reports brought it new opportunities for fresh meat by the hour. But I was special. I resisted. I needed to know my place.
My first mistake was incomprehension. I did not understand the Thing's lust to be right at all costs. I was reviewing some documentation it had brought forth from its bowels. I mentioned that two spaces were being used between sentences. That proportional type made that unnecessary. It insisted, I was wrong. It insisted that Microsoft itself, the purveyor of all good technical writing, required two spaces. I opened the Microsoft Manual of Style for Technical Publications that it demanded its staff use and showed it that the spec was one space. It was livid. I was a problem.
From that point on my work life became exponentially more wretched. I was given three Outlook calendars to maintain: one with my schedule, one with the team's schedule and one with the Thing's schedule. Every time I had an appointment, I was to triple schedule it. If I was going to be away from my desk for more than 15 minutes triple schedule. Triple schedule my lunch, vacations, phone conferences.
Whenever it held a meeting, I and a colleague would be taken off mission critical IT projects to set tables with name tents and to serve as greeters as attendees arrived.
I was called into its crypt to be told never to say anything in a meeting unless I told the Thing beforehand what I was going to say. Naive, I mentioned that I often don't know what I will say as it is often in reply to someone else. Of course the response was that I should not say anything.
I would get emails 10-20 times a day asking about a single project. I would regularly complete work that was needed to be completed ASAP, only to have the Thing rake me over the coals for not completing it a week later. And upon resending the emails proving I notified it of the work being competed, disparaged at length a second time for not sending repeated notifications of the competed work.
I would have to sit in two-hour meetings to watch it type. Literally watch it try to create cogent thoughts. In silence.
I received horrendous annual reviews. At one, it created a development plan that stated a colleague would begin giving me lessons on the proper ways to socially interact with personnel. I pointed out to HR that this violated privacy concerns and would make the business liable in many areas, not least of which would be placing a help desk person in the role of defining proper business practice. HR made the Thing remove this from my review. She started planning to remove me.
I had given a short technical training to a group of personnel months earlier. Called into its tomb I was informed that feedback surveys on my talk were disturbing. One person stated that they did not think I was funny. Another wrote that I made an offensive statement. That person did not say what the offensive statement was. Just that I had said something he or she didn't like.
The Thing interviewed the training attendees. Gathered facts. Held three inquest-like meetings where multiple directors peppered me with questions trying to get me to confess to my offensiveness. In the end the request to fire me was brought to the man who ran the business at the time. The statement on high: "Humor is a subjective thing. Please tell This to be sensitive to that."
The Thing had failed, but would no doubt redouble its efforts. I had to find a new job. I sent hundreds of resumes. Talked to dozens of recruiters. But there were no jobs. And I had a family. And the wolf was at the door.
So I didn't say a word to the creature. For six months. Silence. At one group meeting it shrieked at me "what are you smirking at? If you've got something to say then say it!" I just shrugged. For my salvation was revealed. The Thing could not stand to be ignored. And at the end of my penance I was transferred to another group: Software Development.
I am one with the Force. The Force is with me. I am one with the Force. The Force is with me.4 -
I so hate the following statement
if (condition)
makeOperation()
I prefer
if (condition) {
makeOperation()
}
Who is with me?14 -
My neighbor(He is 14 I think) pitched this to me and wanted advice since he was going try to participate in the Google science fair.
Him:"A robot that gives you medical advice. You just tell it your symptoms and voila! You've got your diagnosis. No doctor required."
Me: "How are you going to decide what disease the user has?"
Him:" I'm just going to write an if-else ladder statement. I've already got some of the data from this site called WebMD. It's amazing."
Me: "Go with something simple. What you're suggesting won't work out."
He told me I didn't have "Vision".
His ditched his project last week.18 -
Me in a test:
if(boolean)
return value;
return something_else;
I then lost 2 marks for not having an else statement -.-30 -
Dear self,
If you start a statement with “I think”, you do not have to also edit statement to add “in my opinion”. This is redundant and silly.
Sincerely,
Why are you so freaking timid?14 -
Manager: I don’t understand what is so complicated about this feature. Under a certain set of conditions do one thing, under a separate set of conditions do another. It’s just an if else statement! Those take seconds to write!
Dev: The problem is the memory required to calculate the conditions is quite cumbersome
Manager: Well then find a faster way! It’s just an if else!
Dev: …11 -
I swear I work with mentally deranged lunatics.
Dev is/was using TFS's web api to read some config stuff..
Ralph: "Ugh..this is driving me crazy. I've spent all day trying to read this string from TFS and it is not working"
Me: "Um, reading a string from an web api is pretty easy, what's the problem?"
Ralph: "I'm executing the call in a 'using' statement and cannot return the stream."
Me: "Why do you need to return a stream? Return the object you are looking for."
Ralph: "Its not that easy. You can return anything from TFS. All you get back is a stream. Could be XML, JSON, text file, image, anything."
Me: "What are you trying to return?"
Ralph: "XML config. If I use XDoc, the stream works fine, but when I step into each byte from the stream, I the first three bytes have weird characters. I shouldn't have to skip the first three bytes to get the data. I spent maybe 5 hours yesterday digging around the .Net stream readers used in XDoc trying to figure out how it skips the first few bytes."
Me: "Wow...I would have used XDoc and been done and not worried about that other junk."
Ralph: "But I don't know the stream is XML. That's what I need to figure out."
Me: "What is there to figure out? You do know. Its your request. You are requesting a XML config."
Ralph: "No, the request can be anything. What if Sam requests an image? XDoc isn't going to work."
Me: "Is that a use-case? Sam requesting an image?"
Ralph: "Uh..I don't know...he could"
Me: "Sounds like your spending a lot of time doing premature optimization. You know what your accessing TFS for, if it's XML, return XML. If it's an image, return an image. Something new comes along, modify the code to handle it. Eazy peezy."
<boss walks in from a meeting>
Boss: "Whats up guys?"
Ralph: "You know the problem with TFS and not being able to stream the data I had all day yesterday? I finally figured it out. I need to keep this TFS reader simple. I'll start with the XML configs and if we more readers later, we can add them."
Boss: "Oh yea, always start simple and add complexity only when you need it."
Frack...Frack..Frack...you played some victim complaining to anyone who would listen yesterday (which I mostly ignored) about reading data from TFS was this monumental problem no one could solve, then you start complaining to me, I don't fall for the BS, then tell the boss the solution was your idea?
Lunatic or genius? Wally would be proud.4 -
Beware, this is gonna be a long one.
Today, in university, our professor wanted us to do an algorithm where a number was given in input, and we had to see if that number was, as she put it, "triangular".
For example:
3 is triangular because it's 1+2.
6 is triangular because it's 1+2+3.
10 is triangular because it's 1+2+3+4.
And so on.
While she was explaining this, I was programming it on my phone (because I didn't bring a PC there).
In about 10 minutes I completed it.
This student who was beside me, which I didn't know until today (I'm still in my first year here), saw me programming it, and when I finished it, he looked at it and said: "It takes too much time, like this."
So he spent another like 5-10 minutes """fixing""" it, and then showed it to me: "Here, now it's better."
Do you want to know what he did?
The only thing he did was putting a for cycle instead of my while cycle.
And he didn't even do it properly!
He put an else statement inside the brackets of an if, and some variables weren't correct.
You call that making a program more efficient? Deficient is more like it.
Also, like 5-10 minutes after I did it on my phone, on my own, I looked at the prof's desk: a guy (who apparently is "the best") wrote his algorithm on the blackboard, and the whole fucking class applauded.
Later, I saw on our Whatsapp group that someone sent a photo of him writing on the blackboard, with the caption "The student surpasses the teacher." Others agreed.
I replied with: "For the record, I did this algorithm in 10 minutes."
An asshole replied: "You'll never be superior to the master"
Fuck off. -.-"
...I'll show them.22 -
I'm working on a programming language with a "bytecode" interpreter and a compiler that translates source code to said bytecode and... it sort of actually works!
I want to recreate an Erlang-style environment, currently you can write functions, call C++ functions via wrappers, have immutable-only values, and it has no explicit control structure apart from statement sequencing and the if-expression because I want to make it as functional as possible. Next thing on the list is to add a green threads implementation and ability to spawn and send messages to processes.
Still a WIP and heck even design-in-progress.
Now for the rant:
I'm using CMake for building C++ (interpreter) and Stack for Haskell (compiler) and I've been trying to get them to talk to each other for hours because I want CMake to manage the Stack build too and shove all the executables into one place. CMake documentation is weird and Stack isn't too helpful either, so I guess I'll just spend another few hours trying to get Stack to fuckin reveal its build directory to CMake and/or build to a given directory. Ugh.8 -
I sometimes remember the time when I wrote a Email-inbox-exporter-PHP-script-type of application that collects all the emails from an inbox, "copied" it to a database with the attachements and stuff and moves it to a folder..
I just started at the company for like a couple of months, had no privileges to create mailboxes and such and I didn't want to interrupt our programmer to do this for me, so... I decided.. to save time and resources.. to test run it on our global, live 'support' mailbox.. :D Well.. You might guess what happened.. Apparently I mistyped the name of the move-destination folder (because imap-weird-things) that resulted in a completly empty mailbox and an empty database because the inserts failed due to bad encoding and mime-type issues..
The moment I refreshed my Outlook and noticed that all our mails where gone.. I swear, I can't describe that feeling of fear, cold sweat, intense heartbeat... I just stood up, asked if anyone wanted coffee, and just walked out of the office.. When in the hallway, I heard my collegues ask to one another "do you have any issues with outlook, all my mails are gone?". Everyone was stressing out, the chief was stressing out "what happened?!", nobody knew what happened.. :D
They could partially resolve it via one collegue who hadn't refreshed the mailbox and he could forward all the mails back to our support mailbox..
I dropped the project idea and learned to work with dev environments :D A couple of months later, I accidentially forgot a where condition in my SQL UPDATE statement, but that was the last time I seriously f*cked up.. :D Got to learn the hard way I guess.. Now everything I do runs in dev environments, I test everything before publishing,.. When I look back.. I don't even recognize the (inexperienced) guy I was back then ! :D
Ps. No one still knows what happened that day and they blamed it on server issues :Dundefined learned from my mistakes sorry collegues fucked up live testing fml inexperienced empty mailbox3 -
One day, this ex-boss of mine dropped the following bomb:
“Stop using switch statements, the switch statement is archaic.”
The if statement should be even more archaic, right? So, should we stop using ifs as well?12 -
YOU: if(exp){ statement 1;} else { statement 2;}
v/s
THE GUY: exp ? Statement1 : statement 2;
She says not to worry about!!9 -
GF: Honey... What is that thing called... It's like a neverending if statement...
Me: ... A while loop?
GF: YEAH!! It's a while loop in the brain!2 -
Don't buy the "We're bleeding edge, agile and embrace devops.". Those who proclaim that the loudest are the ones that think they do, but don't.
Oh, and any place that refers to employees as "tech ninjas" or "superstars" or anything cringy like that. Stay away.
This was more how to avoid shitty places. So to find a good place to work, use this statement in your search:
if (!<this_rant>)
{
... // maybe you're lucky
}9 -
So, I was going to complain about JS being finicky and not making a damned bit of sense, but it turns out that it wasn't JS's fault. Not entirely, anyway. It was the halfassed JS minifier middleware (written by the legendary dev himself) that was breaking the JS while writing it to the page.
The original problem:
My code worked. I removed some comments. Big ol' block of //'s. And suddenly $() isn't a function. But if I call $(); at the top, it all works!
It turns out the "minifier" caused JS to think my code was chaining off the previous JS line in the rendering pipeline instead of being a separate statement. so all it really needed was a `;` at the start. What threw me, though, was the last line of the previous blob of (non-minified) JS was a comment, so it should be a separate statement, right?
But as it turns out...
```
console
// JS really is finicky.
.log('Sigh.');
```16 -
I'm a DevOps engineer. It's my job to understand why this type of shit is broken, and when I finally figure it out, I get so mad at bullish players like AWS.
It's simple. Install Python3 from apt.
`apt-get update && apt-get install -y python3-dev`
I've done this thousands of times, and it just works.
Docker? Yup.
AWS AMI? Yup.
Automation? Nope.
WTF? Let's waste 2.5 hours and figure out why this morning.
In docker: `apt-cache policy python3-dev` shows us:
python3-dev:
http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
But in AWS instance, we see we're reading from "http://us-east-1.ec2.archive.ubuntu.com/... focal/main" instead!
Ah, but why does it fail? AWS is just using a mirror, right? Not quite.
When the automation script is running, it's beating AWS to the apt mirror update! My instance, running on AWS is trying to access the same archive.ubuntu.com that the Docker container tried to use. "python3-dev" was not a candidate for installation! WTF Amazon? Shouldn't that just work, even if I'm not using your mirror?
So I try again, and again, and again. It works, on average, 1 out of every 5 times. I'm assuming this means we're seeing some strange shit configuration between EC2 racks where some are configured to redirect archive.ubuntu.com to the ec2 mirror, and others are configured to block. I haven't dug this far into the issue yet, because by the time I can SSH into the machine after automation, the apt list has already received it's blessed update from EC2.
Now I have to build a graceful delay into my automation while I wait for AWS to mangle, I mean "fix up" my apt sources list to their whim.
After completely blowing my allotted time on this task, I just shipped a "sleep" statement in my code. I feel so dirty. I'm going to go brew some more coffee to be okay with my life. Then figure out a proper wait statement.7 -
Started learning python. Never looked at any Python code and I was able to do a simple if statement. Python, you're going on my resume!5
-
Interesting bug hunt!
Got called in because a co-team had a strange bug and couldn't make sense of it. After a compiler update, things had stopped working.
They had already hunted down the bug to something equivalent to the screenshot and put a breakpoint on the if-statement. The memory window showed the memory content, and it was indeed 42. However, the debugger would still jump over do_stuff(), both in single step and when setting a breakpoint on the function call. Very unusual, but the rest worked.
Looking closer, I noticed that the pointer's content was an odd number, but was supposed to be of type uint32_t *. So I dug out the controller's manual and looked up the instruction set what it would do with a 32 bit load from an unaligned address: the most braindead thing possible, it would just ignore the lowest two address bits. So the actual load happened from a different address, that's why the comparison failed.
I think the debugger fetched the memory content bytewise because that would work for any kind of data structure with only one code path, that's how it bypassed the alignment issue. Nice pitfall!
Investigating further why the pointer was off, it turned out that it pointed into an underlying array of type char. The offset into the array was correctly divisible by 4, but the beginning had no alignment, and a char array doesn't need one. I checked the mapfiles and indeed, the old compiler had put the array to a 4 byte boundary and the new one didn't.
Sure enough, after giving the array a 4 byte alignment directive, the code worked as intended.8 -
Ok, so when I inherit a Wordpress site I've really stopped expecting anything sane. Examples: evidence that the Wordpress "developer" (that term is used in the loosest sense possible) has thought about his/her code or even evidence that they're not complete idiots who wish to make my life hell going forwards.
Have a look at the screen shot below - this is from the theme footer, so loaded on every page. The screenshot only shows a small part of the file. IT LITERALLY HAS 3696 lines.
Firstly, lets excuse the frankly eye watering if statement to check for the post ID. That made me face palm myself immediately.
The insanity comes for the thousands of lines of JQuery code, duplicated to hell and back that changes the color of various dividers - that are scattered throughout the site.
To make things thousands of times worse, they are ALL HANDED CODED.
Even if JavaScript was the only way I could format these particular elements I certainly wouldn't duplicate the same code for every element. After copy and pasting that JQuery a couple of times and normal developer would think one word, pretty quickly - repetition.
When a good developer notes repetition ways to abstract crap away is the first thought that comes to mind.
Hell, when I was first learning to code god knows how long ago I always used functions to avoid repetition.
In this case, with a few seconds though this "developer" could have created a single JQuery handler and use data attributes within the HTML. Hell, as bad as that is, it's better than the monstrosity I'm looking at now.
I'm aware Wordpress is associated with bad developers due to it's low barrier to entry, but this site is something else.
The scary thing is that I know the agency that produced this. They are very large, use Wordpress exclusively and have some stupidly huge clients that would be know nationally.
Wordpress truly does attract some of the most awful "developers" and deserves it's reputation.
If you're a good developer and use Wordpress I feel sorry for you, as you're in small numbers from my experience.
Rant over, have vented a bit and feel better. Thanks Devrant.6 -
30 min figuring out what happen to my code. And realize that = is used in if statement instead of ==.
Thanks brain8 -
The first time I caused a massive error on production.
The good news was the site didn't go completely down. The bad news, however, was that it went down for 60% of our users, and because it's only partial, it got detected only after about two hours.
Everyone halted what they were doing to help investigate the issue. When it turned out that my latest commit caused the error, I was told to fix it... with the CTO and senior software architects watching.
It all happened because I deleted one too many line, an if statement, making the accompanying else statement a complete nonsense. It was a corner case code unforeseen by the QA guy.
The attached meme perfectly describes my feeling for the rest of the month following that accident.2 -
They want me to be a speaker at this event , I wrote them this
Regarding this statement on the speaker form “Presentation rooms are set up theatre style with a lectern, lectern mic, screen, laptop with Windows XP Office
2007/Vista XP and a projector.” – is it just an old form?
I do have one question what does this mean exactly? Are you actually using windows xp? it’s not supported by Microsoft anymore, so it’s quite dangerous to have unless it’s not attached to the internet what so ever and never has been. Vista… is not much better. Windows 7 is 2008 you should at least be using that I would of thought? I mainly ask because if I am going to speak about technology and computers I can’t exactly say I’m an expert when I’m using tech as old as that. I mean I’m 20 I was 7 when xp came out, I know how to use it but it’s ancient, in computer terms It’s as old as Aztec times and I’d rather not be sacrificed to a sun god (seriously if anyone who knows tech at all sees me I’ll be embarrassed and taken the piss out of majorly).
Could I just use my laptop? If needs be?
Sorry to be a pain1 -
Describe your stress level in one sentence.
I'll kick it off:
"If he sends me one more passive aggressive email, or moronic statement, I will hit him with my chair until he stops moving"3 -
Sad. Got a new job. Apparently, readable code is not a priority. My suggestions were being ignored. Does the benefits of condensing an if-else to a simple one-line return statement really that hard to understand? Does making clean and readable code should be an optional thing to consider? It doesn't help that I'm the youngest, they felt like I don't have enough street cred. I'm starting to hate my job.11
-
If you think meetings are bad.
Have a day full of license renewal and price negotiation talks regarding technical products.
It's funny how you can blatantly say: We don't need feature XYZ, we get it for free via BLA.... Yet they still present it in all glory.
Even better when they don't even know their alternative / competition products...
X: "our tool is better".
Me: "We have tool XY. Doesn't cost a penny, does the same, we don't need your tool".
X: "No it doesn't. Look at all the features we have *screen share presentation* with long explanations".
Y: "Yeah... You've certain additional features, but the basics are all present in the tool that we use, so my statement remains the same".
These meetings are really mind boggling insane.
Even more insane when you get the price offers.
The cloud only madness is absurd.
Sure, we move 50 terabyte plus to the cloud from premise, no problem. *🤡*
Not that we haven't told them explicitly that cloud only isn't possible....
The worst: every motherfucking company does it for every stupid single craptastic product...
You cannot even swoop it up in a single meeting... Every company. Every single product.
*booze liberate me from madness and remove the filthy stain of humanity*9 -
"I'm almost done, I'll just need to add tests!"
Booom! You did it, that was a nuke going off in my head.
No, you shouldn't just need to add tests. The tests should have been written from the get go! You most likely won't cover all the cases. You won't know if adding the tests will break your feature, as you had none, as you refactor your untested mess in order to make your code testable.
When reading your mess of a test case and the painful mocking process you went through, I silently cry out into the void: "Why oh why!? All of this suffering could have been avoided!"
Since most of the time, your mocking pain boils down to not understanding what your "unit" in your "unit test" should be.
So let it be said:
- If you want to build a parser for an XML file, then just write a function / class whose *only* purpose is: parse the XML file, return a value object. That's it. Nothing more, nothing less.
- If you want to build a parser for an XML file, it MUST NOT: download a zip, extract that zip, merge all those files to one big file, parse that big file, talk to some other random APIs as a side-effect, and then return a value object.
Because then you suddenly have to mock away a http service and deal with zip files in your test cases.
The http util of your programming language will most likely work. Your unzip library will most likely work. So just assume it working. There are valid use cases where you want to make sure you acutally send a request and get a response, yet I am talking unit test here only.
In the scope of a class, keep the public methods to a reasonable minimum. As for each public method you shall at least create one test case. If you ever have the feeling "I want to test that private method" replace that statement in your head with: "I should extract that functionality to a new class where that method public. I then can create a unit test case a for that." That new service then becomes a dependency in your current service. Problem solved.
Also, mocking away dependencies should a simple process. If your mocking process fills half the screen, your test setup is overly complicated and your class is doing too much.
That's why I currently dig functional programming so much. When you build pure functions without side effects, unit tests are easy to write. Yet you can apply pure functions to OOP as well (to a degree). Embrace immutability.
Sidenote:
It's really not helpful that a lot of developers don't understand the difference between unit, functional acceptance, integration testing. Then they wonder why they can't test something easily, write overly complex test cases, until someone points out to them: No, in the scope of unit tests, we don't need to test our persistance layer. We just assume that it works. We should only test our businsess logic. You know: "Assuming that I get that response from the database, I expect that to happen." You don't need a test db, make a real query against that, in order to test that. (That still is a valid thing to do. Yet not in the scope of unit tests.)rant developer unit test test testing fp oop writing tests get your shit together unit testing unit tests8 -
Python is such a elegant language, but why can't I have an if-clause on a simple for-statement when I can have it in a list comprehension??22
-
They added a javascript that checks the login info. Worst part an if statement was the only thing keeping you from logging in without the correct password
-
This is an example if statement:
if(bla.boolean()){
}
Bill does NOT put comments into the condition brackets.
Be like bill.
Please.11 -
Well, it finally happened.
After 25 years coding in all types of languages and environments, I’m no longer having fun.
It now seems like it’s a fight to get interested in the code. I used to be something that I would spend hours / days doing. Now I just want to walk away from the code.
Is it true (do you think) that after a while all you see is a for loop, an if statement, a null check and you just think to yourself. Fuck this! Because I think I’m there.
God it’s depressing to think that I no longer find it fun.4 -
"What are you waiting for?" Well, I'm still waiting for someone to add an if-statement for no name provided before sending me personal offers2
-
I just spent 20minutes "debugging" my game because i was trying to connect to '117.299.38.69'(in-game IP)
When i was supposed to be connecting to '177.299.38.69' and I couldn't figure out why the IF statement was saying it wasn't in the global list of IPs.. I even checked the two IPs side by side and STILL didn't notice they were different..35 -
Am I the only one who when they are super focused writing code and debugging starts acting like Bob Ross painting a picture?(without a filter... of course)
And here we’ll add another little god damn breakpoint so we can watch our fucked up variables report the wrong thing..
Oh and over here will just add another little happy simple if statement.
Oh look at the happy if statements in a row.. maybe we’ll add little switch statement here.6 -
Have any of you already felt that you really like what you do (coding, of course, among other things), but you hate "the place(s)" where you work, specifically some of the people from there...?!?!?
It's 9AM, you already got your coffee, is comfortably sat, with your precious headphones, all ready for some gorgeous lines of code to gain life... but...
... your coworkers are arguing cos one prefer braces when using an single-line if statement, the other not...
... another one is discussing about how bad he's paid after discovering that a dev (at the same "level") receives more...
... the coordinator comes to convince you that the manager is not good, has not all the needed "certifications", and vice versa ...
... the designer didn't like the UX's work, and this is just an enough reason for a BIG gossip with the rest of the team (or even with people from other teams) ...
... the QA complains all the time about everything: the testing environments are a shit, the other QAs are a shit, the system is a shit, his life is a shit (even though he has not yet realized it) ...
Sometimes I miss that time when I got into the coding universe at home, giving my first steps and was creating things all the time... against the toxicity we find in a lot of enterprise "habitats"...1 -
Saw a rant about a teacher so I thought I'd share one of my experiences.
So I had this teacher who was supposed to teach us the basics of web development (HTML, CSS and some basic PHP).
Now this guy didn't really like me very much but that is besides the point.
One day me and a classmate were working on an assignment in class, we ran into a problem but we couldn't find the mistake in the code. So we went to ask the teacher. We explain the whole thing, the teacher stares at our code for a good couple minutes (while the problem can only be in a few lines) and then says something along the lines off: "I don't like that you put your curly brackets on the same line as the if statement, fix that first and then come back"
Needless to say, my classmate and I were standing there with our minds blown.
He knew nothing about PHP, all he did was read out power points.
On top of that, a quick LinkedIn search proved that he normally works as PM an that he has no coding experience!
WHY WAS THIS DUDE FUCKING HIRED????10 -
Rant about social media in general, including devRant.
I enjoy interacting with like minded people. What I do not enjoy is the whole degradation of the conversation at hand. Sooner or later, someone takes something the wrong way, addresses something this social network was not meant to address (it's devRant not Facebook), and the audience has a multitude of English as a #(rd/th/whatever) language human beings.
Accept that as the premise, and I think we could get along a lot better.
However commonly this fact is ignored. Understand the sentiment behind statements, not the statement itself. If any part of it is unclear, then request clarification.
Agree, disagree, civil debates one thing, but degrading the conversation to name calling or similar emotions only results in poor communication, useless emotions running high, and nothing gained.
</rant>3 -
Today I finished my robotics project. I had in my team a total idiot (the one who used the hidden divs, some might remember from another rant). I wanted to share with you the beginning of a ranting adventure.
Me: "you can begin with a simple task. I will send you the obstacle avoidance sensors values from Arduino, and you will send the data for the Arduino motors to dodge the obstacle".
The sensors give 1 if clear, 0 if obstacle is detected.
Below is his code (which I brutally rewrote in front of him).
Now, in the final version of the robot we have something like 9 sensors of the same time to work with.
Imagine what would have happened if we kept him coding. (Guess it: 2^9 statements! :D)
I was not that evil, I tried to give him some chances to prove himself willing to improve. None of them were used rightfully.
I'm so fucking glad we finished. I'm not gonna see him anymore, even if I'd like to be a technical interviewer for hiring just to demolish him.
I'm not always that evil, I promise (?)
Ps. He didn't even have any idea on what JSON is, even if we had already seen it during FIVE YEARS of computer engineering. (And should've known anyway if he had a bit of curiosity for the stuff he "studies")10 -
Why is it so hard to just build machines that work without all this ideological bullshit? Code doesn't care if politics==true. The world is scary enough without you assholes making modern life a data minefield for even the most educated experts, and taking advantage of the ignorance of everyone else. Fuck you.
I just wanna <look at web pages> without having to consider, counteract, or silently assist some fucking regime. Why is EVERYTHING this way? Everything is a back door or a data mine or a political statement? This isn't a fucking art piece! It's not your espionage tool, fucking codes in invisible ink and tiny cameras and shit everywhere! It's a <web browser>, and if it does ANYTHING besides <browse the web> that I didn't explicitly tell it to do, you better better not be the one who made it. Because if you did, you are what's wrong with the world.6 -
Dropped by my old uni to visit some friends. Met an old classmate who wanted to ask me something about his Python code.
"Oh, no", I thought to myself. "I haven't touched Python in so long, I don't know if I can help, and even then I only knew how to do menial tasks in it!", thinking how to save face and my image of "programmer dropout".
5 minutes later I realized he was mistaking a dictionary for a JSON string, AND was trying to access a dictionary in a list... in a dictionary.
I quietly fixed his print statement which incited an excitement "oh wow, it works!" and quietly returned his laptop. Fun day. -
I'm taking an Intro to Programming course along aside an Intro to Computers class so I already know about basic programing, still very new to it though! At the end of the Intro to Comp, we're learning about programming and a classmate was having a hard time understanding assignments and variables.
I explained the idea of the input command at least three times and he kept trying to print out a statement he just wanted to write in instead of printing out the input that the user will enter. He also assigned the same name to different variables.
Explained that what he was doing was not versatile and not useful, explained in an example situation, explained by writing some lines of code myself (THRICE), and he still had trouble understanding me. I didn't want to hold his hand the entire time.
Glad that I was called to leave early since I might get too frustrated if I had to stay back and continue to help him.
Hope he managed to finish the assignments successfully though! Feel kinda bad now...2 -
Today in IT class our teacher said: 'you can only use char and int in a switch statement'
I was confused because I was 100% sure that you could also use string and so when I got out of school I immediately looked it up.
It is true, well it was true until 2011 when Java 7 was released which added the possibility to also use the string data type in switch statements.
In this I see a huge problem with the education system. Teachers (almost) never 'update' their knowledge and then teach outdated stuff to their pupils. While this may not be a problem in some subjects, it definitely is a huge problem in IT.
The development world is always evolving but if the teachers don't follow along the pupils get taught outdated stuff which, in my opinion, is a really big problem when they finish school and go out in the world to find jobs.9 -
Today I experienced cruelty of C and mercy of Sublime and SublimeLinter.
So yesterday I was programming late at night for my uni homework in C. So I had this struct:
typedef struct {
int borrowed;
int user_id;
int book_id;
unsigned long long date;
} entry;
and I created an array of this entry like this:
entry *arr = (entry*) malloc (sizeof(arr) * n);
and my program compiled. But at the output, there was something strange...
There were some weird hexadecimal characters at the beginning but then there was normal output. So late at night, I thought that something is wrong with printf statement and I went googling... and after 2 hours I didn't found anything. In this 2 hours, I also tried to change scanf statement if maybe I was reading the wrong way. But nothing worked. But then I tried to type input in the console (before I was reading from a file and saving output in a file). And it outputted right answer!!! AT THAT POINT I WAS DONE!!! I SAID FUCK THIS SHIT I AM GOING TO SLEEP.
So this morning I continued to work on homework and tried on my other computer with other distro to see if there is the same problem. And it was..
So then I noticed that my sublime lint has some interesting warning in this line
entry *arr = (entry*) malloc (sizeof(arr) * n);
Before I thought that is just some random indentation or something but then I saw a message: Size of pointer 'arr' is used instead of its data.
AND IT STRUCT ME LIKE LIGHTNING.
I just changed this line to this:
entry *arr = (entry*) malloc (sizeof(entry) * n);
And It all worked fine. At that moment I was so happy and so angry at myself.
Lesson learned for next time: Don't program late at night especially in C and check SublimeLInter messages.7 -
Anyone else developed a habit to structure verbal allday Argumentations in your head in Code syntax? Helps me alot to follow ones logic. Except when I'm arguing with my girlfriend. Sometimes setMood(angry) gets randomly called (bug?) and then every if statement seems to be valid, eventhough it should return false. An inputstream that contains my outputstream is initialized but .readLine() is never being called. Instead, the outputstream to my inputstream is being overly abused. Once we get dive deeper into our if-statement we will find a while loop with a mysterious flag. Noone knows it's origin. The while loop keeps printing out random concatenated strings until it overflows your own capacity. I would have said its while(true) but in fact there must be a timer in another very hidden thread or something that sets our flag to false. The other and only way I know to exit that loop is to call apology() 100 times (maybe a variable sets the boolean that could be deeply buried in her projectstructure like this CONST.VALUES.getMood().getRealMood().getTrueMood().TRUTHCONTAINER.angryMode=true)..
I wish I could get a stressball so I can continue theorycrafting and debugging. Its 4.30 am now, my better side is snoozing next to me. I bet making this a pseudocode would be fun.
Ps: I love my lady but I had to rent3 -
When you debug for 2 hours. Due to a logic error. You go through every line. It all makes sense. You find a semicolon after an if statement... Shouldn't the compiler have caught that?4
-
So my dear programming teacher really hates break statements... I mean really really really. He thinks it's better for readability if you don't break from any kinds of loops (not even ifs) well then we came across a switch statement in class. He says "breaks only exist because it's needed in switches" well how about returning from a fcking swith? or goto? then you need no break...
Is there anyone who could explain why I should NEVER use breaks and why it's bad in any piece of code? Why is it better to just use whiles because fors are apparently evil again? Srsly I just wanna ask him to show me some big code bases without breaks...8 -
Update: https://devrant.com/rants/5445368/...
My previous bosses were real awesome people. However, the current one is an intentional asshole.
He wants to review every piece of work. He thinks I am a retard who knows shit. He has no sense of feedback vs. humiliating criticism.
Fucker questions every single word.
For example, consider the following statement, "They are taking the Hobbits to Isengard."
He'd critical question every word like,
What do you mean by 'they'?
Why have you mentioned it?
Why does 'They' exists in English vocabulary?
Why cannot you try 'Your'?
What data points you have?
And after endless questioning, he'd repeat the same with next word. Making sure to break my spirit of working for him.
And let me add that his communication is saturated with heavy jargons which are difficult to understand. At times, I slow down to understand and absorb and he has a problem with that as well.
My past experience says that I learned a lot from strict managers.
But this fucker intentional criticises every aspect with zero to negative appreciation. All in the name of feedback.
I have gotten tons of compliments and good ratings in the past based on my communication and thought process. However, this fucker feels that my thought process is shit and I don't know how to communicate. Furthermore, he feels that I lack sense of ownership.
I really don't know what he saw in my resume or me to even hire me in the first place.
Given how he treats me and others, no wonder people are leaving. And if he fires me, good luck to him finding a sensible replacement who matches his expectations or puts up with his crap.3 -
Today on "How the Fuck is Python a Real Language?": Lambda functions and other dumb Python syntax.
Lambda functions are generally passed as callbacks, e.g. "myFunc(a, b, lambda c, d: c + d)". Note that the comma between c and d is somehow on a completely different level than the comma between a and b, even though they're both within the same brackets, because instead of using something like, say, universally agreed-upon grouping symbols to visually group the lambda function arguments together, Python groups them using a reserved keyword on one end, and two little dots on the other end. Like yeah, that's easy to notice among 10 other variable and argument names. But Python couldn't really do any better, because "myFunc(a, b, (c, d): c + d)" would be even less readable and prone to typos given how fucked up Python's use of brackets already is.
And while I'm on the topic of dumb Python syntax, let's look at the switch, um, match statements. For a long time, people behind Python argued that a bunch of elif statements with the same fucking conditions (e.g. x == 1, x == 2, x == 3, ...) are more readable than a standard switch statement, but then in Python 3.10 (released only 1 year ago), they finally came to their senses and added match and case keywords to implement pattern matching. Except they managed to fuck up yet again; instead of a normal "default:" statement, the default statement is denoted by "case _:". Because somehow, everywhere else in the code _ behaves as a normal variable name, but in match statement it instead means "ignore the value in this place". For example, "match myVar:" and "case [first, *rest]:" will behave exactly like "[first, *rest] = myVar" as long as myVar is a list with one or more elements, but "case [_, *rest]:" won't assign the first element from the list to anything, even though "[_, *rest] = myVar" will assign it to _. Because fuck consistency, that's why.
And why the fuck is there no fallthrough? Wouldn't it make perfect sense to write
case ('rgb', r, g, b):
case ('argb', _, r, g, b):
case ('rgba', r, g, b, _):
case ('bgr', b, g, r):
case ('abgr', _, b, g, r):
case ('bgra', b, g, r, _):
and then, you know, handle r, g, and b values in the same fucking block of code? Pretty sure that would be more readable than having to write "handeRGB(r, g, b)" 6 fucking times depending on the input format. Oh, and never mind that Python already has a "break" keyword.
Speaking of the "break" keyword, if you try to use it outside of a loop, you get an error "'break' outside loop". However, there's also the "continue" keyword, and if you try to use it outside of a loop, you get an error "'continue' not properly in loop". Why the fuck are there two completely different error messages for that? Does it mean there exists some weird improper syntax to use "continue" inside of a loop? Or is it just another inconsistent Python bullshit where until Python 3.8 you couldn't use "continue" inside the "finally:" block (but you could always use "break", even though it does essentially the same thing, just branching to a different point).19 -
O'joy has come, it is time to make the best if/switch statement...
Worst part I can't see a pattern in this, so I have to hardcode all this shit.
Even worser part, it has to be updated yearly... woop w00p9 -
Have a function that takes parameters and then performs a switch statement to determine what function to call next with those same parameters. One of those parameters is a Union type.
During CR, my reviewer said they’d like if instead of returning the function per case, I instead assigned a handler to the value of the function per case and then returned that handler at the end of the switch. Simple change, right? Only snafu, I’m casting one of the parameters on a per-case basis.
Somehow, through no fucking change of my own, TypeScript in its wisdom has decided that the type of that value by the time I call the next function is a fucking Intersection.
WHY THE FUCK DO YOU THINK IT’S AN INTERSECTION?! I’m fucking casting it per case! I’m ensuring it’s the right type for the next function called on a per case basis!
…. And that, my friends, is how I wasted a day with a stupid refactor that was ultimately just scrapped because no one could figure out how to make it work.
Goddamn fucking TypeScript. I3 -
FUCK, I just realized something..
A lot of people are probably aware of the statement "Respect is earned, not demanded/given".
Now, if you are aware of the meme "Press F to *pay respect*", you probably know where this goes.
The statements "pay respect" and "respect is earned" are actually connected. Just like money, you pay money to people who deserve it. You work hard for it.
But if this is true, is "attention" also earned? I often hear "Please pay attention" from my teachers back then.
This is some big brain shit right here8 -
Applied to a company as an electronics technician for work starting in the summer of 2019. This application was back in October 2018. Got a quick reply that they already have a candidate and are willing to look into mine if he isnt the right guy. Two months later I hear back from them. They will look into my application now and I will receive their feedback after the christmas break. K. Finally a response. Ended up taking them a month longer with following reply. It appears we have forgotten about you we will have some more info by next week. This was on a monday. Thursday I receive a call. Errr. I accidentally sent you the wrong message. It should have been an interview invitation. Are you able to come by tomorrow morning?
Meanwhile I was in military service during this time till april 2019. This was written in the application with a statement, that anytime I have to ask for a day off, I need to apply for it atleast three weeks in advance. Ended up saying I have no more interest in their offer as I had signed my current work contract the week before they called me.
BTW: During the call some girls were constantly giggling childishly in the background. Which gives them even less credibility for being a serious company!1 -
Soooo it's Monday........ 🤯
@C0D4 started the day fixing current projects defects (4 tickets smashed before coffee 💪)
Then after coffee, run a test coverage report and see a significant decline over the past few months, so spends a couple hours adding more tests to get some areas filled in - meh, nothing like 50+ lines per test... to test a if() statement but whatever - complex scenarios will be complex to get too, but no my tests break and I'm missing data I didn't know about🤦♂️
So let's comment all that out, and go to lunch ... mmmm lunch.
Get back, start working on those again, and then get handed a new issue, so comment that all back out again, ( ok I know what you're thinking, but I'm working in an environment that does not use git for deployments - don't ask, real pain in the ass I haven't had time to invest into yet - but as code versioning only) anywho, starts to workout this new issue but don't figure it out, enter a 30 minute meeting.................. yea that was 2 hours later but was a very practical whiteboard session only to work out I have something like 16-20 weeks of work over 4-5 projects to get out in like 6 weeks... hahahahahahaha fml..... oh and that's excluding another project which had a 6 weeks of work in the pipeline to get to somehow.... I'm not seeing this one happening, and probably conflicting projects needed on top of that down the track... but we'll leave those out for now!
Whoot is fucking home time!!!
🤷♂️I'm starting to think I'm like a team of 5-10 devs right now, maybe I should start asking for 5-10x more 😏
#letsBringOnTuesday!!!!4 -
Today’s lesson in C programming:
DON’T use
system( “clear” );
in Mac OS...
Causes seg Fault in ur program when it is perfectly correct...
What happened was... a friend wanted help with C programming and had written this code... but it was getting seg Fault randomly... just random seg Fault when his code was correct...
I pinpointed the seg Fault to a printf statement but the statement was correct...
Off to search the issue I went, found out that flushing problems can occur in printf if u don’t use \n.
This happens randomly. Thought this might b the reason...
Went to a VM running Arch Linux and tested the code there... worked perfectly. No issues whatsoever.
From a distant memory I remembered some people discussing to never use system( “clear” ); since it causes issues.
Thought to remove that line from code, thinking it wouldn’t make any difference.
Well imagine my shock when the code worked fine after remove that freaking line...
M gonna blame this one on Mac OS since arch had no issues with it 😡😡
Now to find alternative to system( “clear” );
Damm it I spent 4-5 hours on this crap!!!!!!9 -
Teacher showed us IF statement in RAPID code for robot... There was sth like:
IF string <> "" THEN
TPWrite string1;
ENDIF
My schoolmates was guessing what it can do... I with my two programming friends were just chilling and smiling...2 -
Last year in my first lesson of informatics:
Me: “What does return do?”
My teacher: “If you start your program, Windows will pause and run your program. If your program is coming to the end and hits the return statement, your program will stop and Windows will run again.”
wtf
(I already knew the right answer but I wanted to ask him this question.)12 -
That time you waste hours searching through a perfectly good method. Turns out the outcome is overridden because you forgot an else in an if-else statement....
-
The lower the level language, the more concerned I am with performance for some reason...irrational I know.
Programming in C: oh no I have this extra if statement which may have to copy the 16 byte struct.
Programming in Python: oh hey I can simplify the logic if I write a class to dynamically build this regex, compile it, and search through a 1MB text file.5 -
Here's two tips for doing better posts that a lot of people seem to need:
1) Use smaller paragraphs instead of a giant one.
Be nice to readers and avoid posting single giant walls of text.
2) If you post something short and the first comment is "why?", then you're just annoying readers. Whenever you do a statement like "I'm having a shitty day" or "X technology is garbage" please include enough explanation or context that motivated the post, don't make users chase you for explanations.16 -
would software product companies plz start describing what the product *actually* does on their homepages? if u say ur product/framework/tool will help me leverage this or collaborate that, it's an almost zero entropy statement, because everyone says so. Are u selling coffee or a .net gui library? because both can help me make my software better and leverage whatever it's supposed to leverage .. so, pleaaase, just say what ur product does, if that doesn't sell it, using hyped catch all phrases won't either ...
oh, and stop calling ur products somethingfy or somethingly .. just stop -
had to reject a junior candidate today. Couldn't really write an if else statement.
Always feels bad, I remember being mortified when I was at that level.12 -
!rant, TL;DR at the bottom
Holy fuck, Yesterday, I got absolutely schooled by a literal newbie.
And I mean, NEWBIE newbie, the dude just started a Computer Science degree, and has been learning Java only for a MONTH. He has 0 prior experience with code or anything of the like, and he's somewhat of an Ars(Israel's version of a Gopnik).
So I was helping him with some stuff he didn't understand, and lo and behold his code was probably the most aesthetically pleasing and organized code I have seen in my 8 years of programming(I know 8 is not much, but It's at least above beginner level). The dude's a perfectionist, so I was like, "Okay, very impressive, but makes sense for perfectionism"(I straight up told him: "Damn, I've seen people with years of programming experience who can't learn to write this well, and you do this by default? I envy whoever's going to work with you"), and then I saw the way he writes checks(as in, methods that return a boolean) and I think I came.
The code was:
[First method in the picture]
And I know, it doesn't look as ✨ WOW✨ as I make it sound, but in my personal opinion this both looks much better and is much more readable than what I normally write:
[Second method in the picture]
and whenever there are longer or more complicated checks it makes it look like a simple puzzle that just fits in all the pieces nicely, for example in a rectangle class we had to write an 'isIn' method, this is how I wrote it:
[Third method in the picture]
His way of writing the same thing was:
[Fourth method in the picture]
Which I think is soooooo much better and readable and organized,
It's enough just looking at the short return statement to immediately understand everything that's going on.
"Oh, so it just checks if the SW(South West, i.e. Bottom Left) corner is above and to the right, and if the NE(North East, i.e. Top Right) corner is bellow and to the left"
Point of the story? Some people are just fucking awesome. And sometimes the youngest/most inexperienced people can teach you new tricks.
And to all of you dinosaurs here with like, 20+ years of experience, y'all can still learn even from us stupid ones. If 8 years can get schooled by a 1 month, 20 years can get schooled by a 1 year.
Listen to everyone everybody, never know where you might learn something new.
TL;DR: Got schooled by a local "Gopnik" who only started learning programming a month ago with 0 prior experience with his insane level of organization and readability.30 -
I'm sure someone has posted this beauty before, but i just wanted to update everyone on this masterpiece of an if-statement2
-
Not really a programming story... but a story about how programmers problem solve in real life.
Mods, sort me out if I'm out of line. Anyway, here goes.
So, my wife and I are arguing about whether or not the garage has insulated walls.
"It doesn't have insulated walls", I say, "I've been up in the rafters and their's no insulation there, so there's probably none in the walls."
"Well, why can't you just check", my better half responds, "You could just punch a hole in the wall to see."
Me, taking about 300ms to process this statement. Looks over, and punches a hole in the wall.
"See, no insulation!!!" I say triumphantly.
"What. The. Fuck. Did you just punch a hole in the wall for???"
deerinheadlights.gif
"Um, because you told me to?"
"Well I didn't mean to use your hand, I meant to get a small drill so the hole wouldn't be enormous."
"Well you didn't say "get a small drill", you said "punch"!
And as a laid down to sleep, on the couch, that night I still insist she told me to do it. And while I patched that hole, I still thought it was her fault. And to this day I still think it's her fault.
You cannot give a programmer these vague instructions and expect appropriate results.5 -
I dropped my kid off at preschool and went my way home.
She's 2 so I transport her on a stroller.
While coming back, I came across an old lady sweeping the sidewalk of her house, and it got narrow to pass through because there was a tree next to her.
I carefully slowed down as to not collide with her, and while going through, we noticed each other.
I did a tiny smile as a way of saying "hi" like I usually do to people on the street.
To which she gave back the most innocent and sweet smile I've ever seen a stranger give on the street.
I could honestly feel my heart crack as it happened.
I guess the stroller must have caused her sympathy thus that reaction.
(which is why I like going around with the stroller, because people tend to treat you nicely which feels nice, like butterflies)
I know it might seem like an ordinary story without a punchline, but let me explain that I walk this city everyday.
And even though the people here is very nice compared to other cities I've lived in, it is very rare to get smiled at with such joy.
You might still think that is not a good story. But I can explain its relevance.
As some of you know, I post triggering content on this account, closeted parts of me that I normally hide,
Such as sexual stuff, some people think I'm a degenerate but I like to think I just have normal sexual thoughts that don't affect others in real life AT ALL.
And I'm also very argumentative, again, some people might see it as troll behaviour. On my side though, I just don't like bullshit and call it out when I see it.
But with this post, I'm not trying to be more likable or negate all the weird shit I said. This post is just another closeted part of me, being emotional.
And the reason I hide that is because it is not generally well accepted when a man is sensitive, at least where I'm from.
For example, if a female friend at work had a nice haircut, sometimes I feel the urge to be like "omg girl you look so prettyyyy!!!!".
But if I did that I know what will happen based on DIRECT experience: people will assume I'm gay or weak, and will make fun of that.
Or the actual friend will think I'm hitting on her.
No, fucking thank you, not having that shit.
But even if people accepted that, they just can't conceive I'm also very direct and honest, so when they do get to know me better, they get shocked.
So what do I do? I just hide that. That might change in the future, but I don't have the energy right now to deal with some people's simplemindedness.
I'm not making any sort of political statement, like "people should be treat me correctly or else get fired because of offending my gender".
But I'm not gonna lie, it would feel very nice if I was around more progressive people. I wished I had just just standard male behaviour and thoughts.
I guess some people in progressive cities are more accepting of the whole gender fluid thing, so I wished I lived in one (let me clarify though, I'm not a mindless gender fanatic).
I'm also not perfect and sometimes the line between "I love your haircut" and "I'm into you" blurs the fuck out, so that's on me... I don't know if it's something I can change though...
Hopefully all this shit I'm saying doesn't make me look like a lunatic. Veeeery hopefully.
Though, If you think for real I'm a lunatic or bad person, you can suck donkey dick.14 -
my code went into an infinite loop of printing "fuck". that happens when u forget to put curly braces and the first line after the if statement is printf("fuck\n");6
-
When you think the code from companies like Google and Facebook is flawless, but then you look at the source code of Parse 1.5.0 and find an if statement with the condition 'browser' === 'browser'2
-
spent half an hour debugging an if statement that won't return anything but false. Apparently, the condition was:
if (check === true). and the check var was a string! so yeah, spent half an hour to realise I was checking if 'true' is true..4 -
Discovered pro tip of my life :
Never trust your code
Achievements unlocked :
Successfully running C++ GPU accelerated offscreen rendering engine with texture loading code having faulty validation bug over a year on production for more than 1.5M daily Android active users without any issues.
History : Recently I was writing a new rendering engineering that uses our GPU pipeline engine.. and our prototype android app benchmark test always fails with black rendering frame detection assertion.
Practice:
Spend more than a month to debug a GPU pipeline system based on directed acyclic graph based rendering algorithm.
New abilities added :
Able to debug OpenGL ES code on Android using print statement placed in source code using binary search.
But why?
I was aware of the issue over a month and just ignored it thinking it's a driver bug in my android device.. but when the api was used by one of Android dev, he reported the same issue. In the same day at night 2:59AM ....
Satan came to me and told me that " ok listen man, here is what I am gonna do with you today, your new code will be going production in a week, and the renderer will give you just one black frame after random time, and after today 3AM, your code will not show GL Errors if you debug or trace. Buhahahaha ahhaha haahha..... Puffff"
And he was gone..
Thanks satan for not killing me.. I will not trust stable production code anymore enevn though every line is documented and peer reviewed. -
" What's the big deal ?
It's just an if condition right ? " - Every manager / product owner ever.
And all the devs be like #facepalm !rant facepalm moments stupid people change requests doomed facepalm stupidity fml if statement idiots at work nodejs managers2 -
FU*** unnamed company..... lets recap.
I went for a job interview at this unnamed company i was acting like me and dress like i normally do, witch is good not extrem like a model but normal OK. like you would see in any company.
Yes maybe i could have got a haircut but you know time...
but not to drift, i when i was myself in the interview and no out of the ordinary things happend....
3 days later they call with feedback and you properly guest it! they did not like my appearance..
Like why? my feedback to them was to think that refusing someone based on there personal statement of looking fucking average JO is not good thing to do. and that it makes them look like big "i am better than you..." jerks....
of course there was more of this so called "feedback".
They also ask if i had any feedback for them... i kindly suggested that they need to invest in training how to not judge people on how they look but on there ability of there work and skill....
pfff.. that gone! alright thanks devrant for this outlet.5 -
People don't seem to know how to properly do print-debugging, so here's a simple guide:
1. A log of "aaaaaa" or "got here" isn't as helpful as you think when ALL OF THEM ARE THE FUCKING SAME. You put a descriptive label or copy verbatim the conditional statement. This saves time matching statements, allows one to watch multiple branches at once, and allows others to understand and help faster when dragged in to help.
2. When trying to see where code fucks up, before each line, paste said line into a proper print statement for your language. If there's, say, a function call or some shit, have it output something like "functionCall(varA=<varA contents>,varB=<varB contents);" Most normal lines should be like this too, but it's especially helpful for calls and comparisons.
If need be, add return values after if they're not shown in another print statement later.
This allows for a trail of execution AND the line that fucks up will be the last in the log, making finding it easier when dealing with hangs and such.
3. Putting something unique like "DEBUG: " or something in front of all statements ensures you can just search for them to ensure you're not rolling one out to production. It also separates debug output from normal output at a glance, making digging through logs faster.16 -
When a front end dev asks why this if statement always runs:
if (somevar != 'string1' OR somevar != 'string2') {
// code always being run
}4 -
C# isn't simply garbage collected.
C# is garbage. Hot garbage that needs to be collected.
Bold and brash? More like belongs in the trash!
In other news I'm now making $20+ an hour ($16 after taxes) turning bolts for a living. Fucking bolts.
More money than I ever made in my life before.
I don't know if this should be a happy statement or a sad one.
The minimum wage in 1963 worked out to 23 dollars an hour, so hey, I can't be doing too bad.14 -
"SO culture is so mean, they downvote good questions for no reason!"
Meanwhile, most of the downvoted questions in my list:
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
Translation:
- OP1: "Do my homework for me"
- OP2: "I am too lazy to google this"
- OP3: "Gimme code, here is a shitload of requirements"
- SO: "No."
- OP1/2/3/DevRant: "Oh mah gawd mah question was so gud, SO such toxic, very mean, much wow qq."
Kk.11 -
!personal
So, I was diagnosed with congenital nystagmus at an early fucking age. This is complicated for people who've never heard of it before to comprehend, until they notice the eyes of the person in question. Think of it this way: I lack the biological form of optical image stabilization. Because of nystagmus, I can't fucking drive.
Now, let me tell you, it really fucking sucks. I've never had a girlfriend, never been able to get a job, basically never been able to do the type of shit most of you can already fucking do. Pile that on with college, where I don't really fucking know anybody, and it's really fucking easy to see why I've had depression and nearly fucked my GPA over last semester (2.08, yeah it's embarrassing but fuck it).
That out of the way, nystagmus is rare. So rare that any surgeries to fix it aren't guaranteed to fix the problem, and are only marginally better. I have strong skepticism for any optometrist who acts like they perform this surgery every day, because the numbers simply don't back them up. If there's so few who have this issue, then the amount of operations and opportunities to do them are fucking slim.
Today, my mom came over to Indiana from Ohio, and took me to the local Cheddar's (do other countries have those??). We sit down, and she wanted to re-hash this surgery idea. I have made the statement before that these are the only two eyes that I will ever have, and there's no guaranteed ROI on any procedures, and is probably going to fuck me over if shit hits the fan.
Then she tells me there's this doctor in Maryland. I might be geographically challenged (lol), but I'm pretty sure that's over on the east coast. It's forever from here, we'd probably have to take an airliner.
This doctor made some pretty bold fucking claims. Not only was it possible he could fix the nystagmus, but he could help me use a special form of glasses that would enable me to learn to drive. Knowing that R&D on nystagmus was sketchy because of the aforementioned conditions, I had to tell her that I still don't know how I feel about it. Also, if this doctor moves from Maryland to any of the other states, would he still be allowed to do these things?
I told her I don't know how I feel about it. I'm not sure it's worth the money if we follow through and come to find out it's not enough, and I still can't drive. She acts like this stuff is dead simple. I don't think it is. You have perceived benefits, but there have to be caveats. This would be a major change, and I don't know how I feel about following through with it.9 -
Wondering why your form isn't submitting any data to the db.
Spending half an hour checking all POST-Variables and functions in your script multiple times to see if they give the correct values (they do).
Finally realizing you wrote 'INSERT INRO' in your SQL statement.
Questioning your intelligence for the rest of the day.6 -
!Rant
I think that Google has alien employee's.
NOW Why Do I Say that???
Because all the stock Android versions do not have a "DARK MODE".
If they were human developer's they would have included it.
Same statement is Worthy to all their apps.
Light is killing me !!!2 -
Random af project idea that will see me burned alive by the internet (because if I do it I intend to put it in dev.to which is full of "that offends me" people):
Generate a classifier that will scan text from different websites and categorize where the person might be from.
Example: "plz send bob and vagene" <--- we all know
"mami que ricas nalgas" <--- Mexican for the most part.
"there, their, they're and similar text" <--- my fellow Americans for the most part....
"cyka blyat" <--- 0.o we know
"pompous statement about the way Americans do shit" <--- European, meaning, from Yurop.
"angry as fuck rant/banter" <-- German
"lol whatever Trump is the best president ever" <--- some moron from the south of the U.S (south much like myself but I am not a Trump supporter nor a republican)
etc etc.
What makes this complex is that I would have to put together my own dataset in the highly likely chance of something like that not existing already for me to use.
Can you imagine the chaos?11 -
I hate when people call any sort of program that does anything even remotely intelligent looking “AI.” No, there is a very specific distinction between actual artificial intelligence, and a bunch of if-statements.4
-
Sent a fully constructed sql statement to someone expecting at least 4 rows however received reply "the result is empty" with a screenshot of empty result set from sql-developer. I kept cross-checking the where clause thinking I mixed something up.
After a few back and forth emails suddenly noticed the screenshot I received initially and I see all of the strings in where clause are lowercase. I reference my version and it is correct. When I asked her why are the strings in sql lowercase and that if she has tried the exact sql I sent in the email, the response "I didn't think it mattered what case the sql was in".
I am lost for words. The worse part is, this is someone who is supposed to go on site as part of their job and help clients setup, explain and train how the software works. This includes explaining how software intreacts with database tables 🤐8 -
I really feel the need to just blacklist the entire EU, to not deal with additional shit like gdpr, I do see its benefits, but I am already busy with getting my client approved by paywalls, other services and get all that bullshit integrated - I really don't need having to also shit out some very detailed statement about it all, if you want something like that, then create a generator that gives me all you want with couple clicks, else get fucked outta my sight.13
-
Just randomly had a though from when I was in high school and one of my mates asked me why you would use try catch instead of an if statement...
You know those moments when you stand still, close your eyes, rub your temples and just exhale... Yeah one of those moments...
(Don't ask why this popped in my head, happened like 5 years ago ¯\_(ツ)_/¯)1 -
Attention: incomming resentful boiled up for months rant.
Hands down G2APAY is the worst because:
Merchant account aproval takes fcking months. It starts with unreasonable delays in documents approval. I mean insane nitpicking. They want to see merchants name surname and address on every god damn document that you submit even if for example bank statement doesnt include these details. I had to manually edit pdf’s just so that they would fck off and approve the merchant application. Insane requirements for document check also combined with their email only support answering only once a week you will have to wait one month just to get your account approved.
Then you get to the fun part, approval proccess for vendor gateway and webhook integration. They are nitpicking everything you can imagine: about website not having https, website forum missing some icons, merchants phone number being from another country then he is, and bunch of other hundreds of problems imagined only by them. Again combined with their one email reply per week policy you will waste atleast one month to finish up your integration.
Now finally you are their client and you think you can chill and go back to focusing on your business? Nope bro. Prepare for threatening emails. Last time I got a request to install https or my merchant application will be shut down. I was given 3 days notice on a fcking friday and had to do it.
Then g2a backend is crashing quite often. Combined with their one email per week policy you are fcked in the ass if your users were not able to pay through g2a and you will get no compensation.
Their backend documentation is shiet. Not clear how to integrate everything and after you integrate they make changes without publishing any changesets. Your integration is working? Good luck if it will still be working tomorrow.
And the very worst part is that they stopped proccessing credit cards like month ago with zero notice. Its been weeks and still zero news about bringing card proccessing back. They sad that they were acquired by some other company so shitty support got even shittier now while they are in a proccess of handover.
So yeah thats the worst vendor I have ever seen in my life. For example integrating paypal took me 30 minutes. Integrating stripe and getting all documents reviewed took me one business day. Same with paymentwall integration and document approval took 1 business day. Support is amazing and even have a phone number that I can reach if urgent problems arise. Thats how it should be. Thats why I can pay percentage of my transactions with a smile for them.
Sorry for the typos since im typing on my shiet phone while driving.
Eat a bag of dicks g2apay. I hope you go bankrupt and shutdown.21 -
I was working on a section of code and had to make a change to an if-statement. So I searched for "if" to get there... Idiot...7
-
Just started a new job three weeks ago. I was doing pair programming with another developer that has been there two years; I was assigned an issue and wanted his opinion on it. He implemented a fix that involved multiple complex if statements.
He was surprised after I went ahead and showed him that the variable in question could be used (it was either 0, null, or > 0) like a boolean. I brought it down to 3 lines; a single if statement. Felt like a boss. -
Spend past 2 days trying to hunt down a bug...
I forgot `0` evaluates as `false` so this statement always returned `false` if `id` was `0` >.>12 -
So I wrote a python code and was waiting for +1 on code review and I needed to merge it fast. That shit of a reviewer took his time to finally NOT give a +1 with comment, "if statement has no else part". OF COURSE IT DOESN'T HAVE ELSE PART. I DON'T NEED A ELSE PART. But to give him the benefit of doubt, I'd like to ask devRant community if they believe all ifs should have elses.14
-
FLOATING POINT PRECISION! FUCK YOU! Spent so much time trying to figure out what was wrong with an algorithm I made to calculate and correct bounding only to finally realise, after printing out every single variable and calculating everything manually to realise the value was off by 0.0001 which made it skip an if statement. Ughhhhhhhh, so much freaking time wasted3
-
The way this if statement is written (across multiple lines) is really weird to me. Anyone here that writes if statements like this?14
-
Ok now I'm gonna tell you about my "Databases 2" exam. This is gonna be long.
I'd like to know if DB designers actually have this workflow. I'm gonna "challenge" the reader, but I'm not playing smartass. The mistakes I point out here are MY mistakes.
So, in my uni there's this course, "Databases 2" ("Databases 1" is relational algebra and theoretical stuff), which consist in one exercise: design a SQL database.
We get the description of a system. Almost a two pages pdf. Of course it could be anything. Here I'm going to pretend the project is a YouTube clone (it's one of the practice exercises).
We start designing a ER diagram that describes the system. It must be fucking accurate: e.g. if we describe a "view" as a relationship between the entities User and Video, it MUST have at least another attribute, e.g. the datetime, even if the description doesn't say it. The official reason?
"The ER relationship describes a set of couples. You can not have two elements equal, thus if you don't put any attribute, it means that any user could watch a video only once. So you must put at least something else."
Do you get my point? In this phase we're not even talking about a "database", this is an analysis phase.
Then we describe the type dictionary. So far so good, we just have to specify the type of any attribute.
And now... Constraints.
Oh my god the constraints. We have to describe every fucking constraint of our system. In FIRST ORDER LOGIC. Every entity is a set, and Entity(e) means that an element e belongs to the set Entity. "A user must leave a feedback after he saw a video" becomes like
For all u,v,dv,df,f ( User(u) and Video(v) and View(u, v, dv) and feedback(u, v, f) ) ---> dv < df
provided that dv and df are the datetimes of the view and the feedback creation (it is clear in the exercise, here seems kinda cryptic)
Of course only some of the constraints are explicitly described. This one, for example, was not in the text. If you fail to mention any "hidden" constraint, you lose a lot of points. Same thing if you not describe it correctly.
Now it's time for use cases.
You start with the usual stickman diagram. So far so good.
Then you have to describe their main functions.
In first order logic. Yes.
So, if you got the point, you may think that the following is correct to get "the average amount of feedback values on a single video" (1 to 5, like the old YT).
(let's say that feedback is a relationship with attribute between User and Video
getAv(Video v): int
Let be F = { va | feedback(v, u, va) } for any User u
Let av = (sum forall f in F) / | F |
return av
But nope, there's an error here. Can you spot it (I didn't)?
F is a set. Sets do not have duplicates! So, the F set will lose some feedback values! I can not define that as a simple set!
It has to be a set of couples, like (v, u), where v is the value and u the user; this way we can have duplicate feedback values in our set.
This concludes the analysis phase. Now, the design.
Well we just refactor everything we have done until now. Is-a relations become relationships, many-to-many relationships get an "association entity" between them, nothing new.
We write down on paper every SQL statement to build any table, entity or not. We write down every possible primary key or foreign key. The constraint that are not natively satisfied by SQL and/or foreign keys become triggers, and so on.
This exam is considered the true nightmare at our department. I just love it.
Now my question is, do actually DB designers follow this workflow? Or is this just a bloody hard training in Pai Mei style?6 -
Being told code is "production ready" only to find this:
if name == 'foo' or name == 'bar' or name == 'someothershit'
What's wrong with:
if name in ['foo','bar', 'someothershit']?
Oh and they had 10 different values they were matching, not just 3. What kind of joker am I dealing with?1 -
When you find out you didn't need that if-else statement in your code if you simply made an additional variable with an expression that works for all cases of that if-else statement
-
My friend works for my favorite company Apple, his boss ranted Apple is about giving options.
I figured out some missing options in my iPhone X
Need to listen music: sorry can't plug in a headphone we removed that option 😉
Other phones have option to unlock through face or finger print (oops we removed one option)
No option to take a photo in 16:9 aspect ratio (4:3 only)
No option to change themes or layout to personalize your phone
Any positive thoughts on this option statement? If I missed some option examples 😅11 -
Not quite a rant, but looking for opinion/advice.
I have been programming for a little over a year now, excluding those cringy Lua scripting days with if statement hell. I'm pretty far ahead most of the people in my course (1st year Software Engineering), but I'm at this awkward point where I know quite a bit but not enough. All of my projects so far have been small 1-2 source file programs, mostly in javascript although Python is my main hoe. At the moment I'm reading a book on machine learning and I feel like I'm doing fine, not struggling too much with it, but I don't feel confident at all in my abilities. I had two programming internship interviews half a year ago, both of which I wasn't accepted in. I've been thinking of contributing to an open source project lately to get some "real world" experience but I can't find a good project to start with and just don't feel like I'm good enough. There are also a lot of small things I come across such as async and coroutines in Python which I'm not familiar with yet and they make my confidence drop even lower. I'm guessing most of you have been in a similar position. Would you have any advice for me? Should I search for a project or should I keep on studying with books?2 -
So today I lost around two hours because I solved a bug before trying to reproduce it 👏👏👏
The client reports the bug, I open up VS and already go to the source file that might be affecting it, see a variable assignment that was just outside of the If statement it was supposed to be in, and after that I try to reproduce the error.
Guys, please, be smarter than me next time.3 -
So I found these stack overflow questions and thought they were particularly humorous.
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
The answers were pretty good. But I wanted to actually "break out of an if statement" like the ops asked for. So I created these monstrosities:6 -
When you're developing it's very well advised to run your software locally in an environment as much as possible matching the real environment.
So for example, if you're running linux on production then you also run it locally to run your code.
Here's where people need to shut the fuck up:
No, mac is not good for linux development. Not unless portability is already a concern that you have and even then it might be counter productive. So many times when people say this, portability isn't not a concern. What runs on servers is up to them.
If your servers are going to be centos, then you develop with centos. Not with debian, gentoo, ubuntu, maxosx, etc.
Even different linux distros are a headache for portability when it's just to support a few desktops for development so don't think that macosx is going to cut it. It might not be as radical a difference as between windows and linux traditionally is but it's still not good for "linux" development. I don't think people making that statement really know what linux is now how different distributions work.
What you use for your graphical operating system doesn't matter to much but when you run your code then there's a simple solution.
Another thing people need to shut up about. It's not docker, unless you're already in Linux where docker is one of many options such as chroot or lxc.
This question always comes up, how do you developer for linux in windows? No it's not docker it's virtual machine.
It's that simple. You download the ISO for the distro you want and then install it on a VM. What does docker for windows do? It runs a linux VM that runs docker.
This may come as a great shock to developers around the world but it is possible to run linux in a VM and then any linux application your want including docker.
Another option is to shove a box in the corner, install what you need on it, share the file system and have people use that to run their code. It really is that easy.6 -
Call me crazy, but I'm pretty sure no java code should be able to jump from the if block to the else block, and then back to the if statement, ahen trying to initialize an object1
-
1. i'm drunk.
2. please do me a sanity check
3:
this video, at this timestamp, watch the following about 5 minutes or so:
https://youtu.be/oG-6Ltp1_yE?t=1129
4. tell me (and possibly him in comment) if i'm wrong in the (point) of the following comment i wrote under that video:
20:53 ARE YOU FUCKIN KIDDING ME YOU ABSOLUTE MORON?!
yes, US has an altitude software written in fuckin VBA with an explicit statement to ignore errors, and there's not about 10x more automated testing code for a critical piece of functionality, than there is of the code that handles the actual functionality, and it's not been tested off-line (in simulated environment) as well as on-line (IRL) for at least years in all conditions, before it was deployed, YOU ABSOLUTE FUCKING MORON.
CAN YOU JUST PLEASE FOR THE LOVE OF ALL THAT'S HOLY STICK TO WHAT YOU ACTUALLY PROPERLY UNDERSTAND?!
HOLY FUCK THE LEVEL OF ARROGANCE IN YOU IN ASSUMING THAT JUST BECAUSE YOU KNOW VBA YOU KNOW HOW PROPER SOFTWARE DEVELOPMENT IS DONE, HOLY FUCKING SHIT.
I've worked in companies of 1k employees and less, on absolutely non-critical stuff, that has DevOps and QA processes and infrastructure that would make your script kiddie head spin for WEEKS, LET ALONE FUCKIN MILITARY SW DRIVING MILITARY EQUIPMENT YOU ARROGANT KNOWITALL FUCK.
Please, just please, FOCUS ON FUCKING DOING VIDEOS ABOUT STUFF YOU FUCKING UNDERSTAND, instead of stuff your ego overinflated from years of debunking dunning-krugers tells you that you're an expert in despite never actually having worked even near those fields. PLEASE. You are amazing when doing those, but this bullshit is just fucking rage-inducing. Don't ever talk about software again, because that's obviously YOUR dunning-kruger area, you fuckin bigheaded script kiddie.12 -
The “if” statement works the same in every* language, so if you can code in one language, you can code in most of them.
*Terms and conditions apply.5 -
Antergos is going out of the play. And i saw a very click baity article which poised the following statement at the end:
"Is the death of Antergos a major loss? No, not on its own. Despite the developers bragging about over 900,000 downloads (over the last five years) it’s hardly a popular operating system. Still, its demise is a part of an emerging trend where developers don’t have the resources to continue a project. And both the Linux and Open Source communities should be very worried about that. Developing for love or as a hobby simply isn’t sustainable."
Now, this is, at least to me, bullshitty in the sense that the open source community does not really have anything big to worry about. Large pools of companies would make yeary investments in open source codebases due to the ammount of usefulness they present to their companies. More and more great open sourced projects come out every year OUTSIDE the all eating scope of just web development(which to an extend is fine since it brings communities together)
Saying that a hobby isn't sustainable is funny in itself really.
If people don't have the time to support a hobby project because they are moving on to bigger and better things in shit that actually pays then I am glad for them. It tomorrow Arch, Debian, pop os, ubuntu and fucking freebsd goea out then I would have something to bitch about.
Till then, stating that the community haa something to worry about is just bullshit.3 -
Fiddling with the UiPath RPA tool. What the fuck is this monster?
So, you create apps by drawing a flowchart, like some kid using Scratch. Then, suddenly, you have to create a .NET object just to get a random number!
Who the fuck is the target audience that can create objects, call a directory read function, etc, but can't write a loop?! Show me that fucking person.
Then I have to debug the fucking selectors when they don't work correct. All this requires is understanding how UIs are structured under the hood. So, you know that a menu bar is a window, but you need to draw a fucking if statement?!
And how would you debug and manage this monstrosity?
It like we learned nothing from all the Excel apps we build for decades.
I mean, it's an impressive app. But, why does it exist?
Someone needs to stop this before it gets out into the wild or we'll all be debugging flowchart a created by business analysts.
You have been warned. Join the fight or accept the consequences.1 -
"artificial intelligence !== conscious intelligence"
If the brain is just a biological computer that statement is incorrect right? 😟
Are _we_ the robots?4 -
I think I did it. I did the thing I set out to do.
let p = a semiprime of simple factors ab.
let f equal the product of b and i=2...a inclusive, where i is all natural numbers from 2 to a.
let s equal some set of prime factors that are b-smooth up to and including some factor n, with no gaps in the set.
m is a the largest primorial such that f%m == 0, where
the factors of s form the base of a series of powers as part of a product x
1. where (x*p) = f
2. and (x*p)%f == a
if statement 2 is untrue, there still exists an algorithm that
3. trivially derives the exponents of s for f, where the sum of those exponents are less than a.
4. trivially generates f from p without knowing a and b.
For those who have followed what I've been trying to do for so long, and understand the math,
then you know this appears to be it.
I'm just writing and finishing the scripts for it now.
Thank god. It's just in time. Maybe we can prevent the nuclear apocalypse with the crash this will cause if it works.2 -
Not sure if it's the worst code review but it's a recent one.
We don't really do code reviews where I work unfortunately but my coworker used my framework for the first time (build some nice composer libraries for cmdline projects) and asked if I could make them do autoloading.
He never used namespaces before so I was glad to help him out.
What I saw was a dreadful mess. His project was called "scripts" so good luck picking a namespace...
Than it was all lose functions in the executable file. All those functions are however called by a class in another file (if they where not calling eachother as a cascading mess). That class was extending an abstract class from my library as instructed. However I never imagined my lib being raped like that.
The functions themselves are a horrible mess. Nothing uniform completely different style (our documentation states PSR's should be used).
Parameters counts higher than 5.
Variable names like Object and Dobject (in calling function Dobject is Object but it needs a fresh one.
If statements on parameters that need basically split it in two (should simply be to functions)
If else statement with return of same variable as a single line (sane people use ternary for that)
Note that I said functions. All of it should have been OO and methods. Would have saved at least some of the parameter hell.
I could go on and on. Do I think the programmer is bad yes (does not even grasp interfaces, dep injection, foreach loops). Is this his best work no. He said that for a one of script like this it just has to work. Not going to be used elsewhere. I disagree as it is a few thousand lines of code that others have to read too.2 -
I fix antique code for a living and regularly come across code like this, and this is actually the good stuff!
Worst usecase for a goto statement? What do you think?
int sDDIO::recvCount(int bitNumber){
if (bitNumber < 0 || bitNumber > 15) return 0; //ValidatebitNumber which has to be 0-15
//Send count request
if (!(send(String::Format(L"#{0:X2}{1}\r", id, bitNumber)) && flushTx())){
bad: //Return 0 if something went wrong
return 0;
}
String^ s = recv(L"\r"); //Receive request data
if (s->Length != 9) goto bad; //Validate lenght
s = s->Substring(3, 5); //Take only relevant bits
int value; //Try to parse value and send to bad if fails
bool result = Int32::TryParse(s, value);
if (!result) goto bad;
int count = value - _lastCount[bitNumber]; //Maximumpossible count on Moxa is 65535.
if (count < 0) count += 65536; //If the limit reached, the counter resets to 0
_lastCount[bitNumber] = value; //This avoids loosing count if the 1st request was
//made at 65530 and the 2nd request was made at 5
return count;
}4 -
Well, throughout my life I've never really thought about programming. Then one day during some downtime on a backpacking trip with a friend, while I had nothing to do my friend sat there with his computer with the screen all dark, filled with funny colourful text in lines of different length, with some lines even starting more towards the middle of the page than to the left, almost following a vertical wave pattern. He said he was writing a program to control his home remotly as well as working as a security feature that could unlock his home automatically when he got home. I was amazed by the colorful text as well as the fact that he could just create this crazy program out of nothing.
Half a year later I attended my first lecture at the computer science programme. My first program was a command line tool used for baking bread. It asked you how much flour you'd use and how many eggs, then it'd tell you wether or not you'd got the correct ratio. I was blown away by the intuitive nature of programming. I could imagine the control flow as a tree or flow chart in my head. I mean the whole program was only a couple of user inputs followed by an if-statement and a print-statement, but for me it was awe inspiring. I knew then that I'd probably chosen the right path in education. -
I've got an email with this statement:
[...] If you are interested please reply with the following details if possible in an hour [...]
Defuq with those people 😑4 -
Follow up to my other rant https://devrant.com/rants/4994932/...
I have finally fixed the bug i couldnt fix for over several weeks. I was just missing a fucking if statement check. Not expecting this to work, i compiled, tested and it worked perfectly on the first fly.
Immediately i shit you not have i broken down crying. Sobbing in tears. Uncontrollably crying down on my table for several minutes and cant refocus to continue coding. I have NEVER cried because of a fucking bug fix! But i have also NEVER had a problem so much difficult that i needed several weeks to fix it!
..1 -
Dont blame me for making Minecraft plugins, but holy shit i really hate stairs right now.
Im modifying some old code of mine to add extra features, and i just need to be able to rotate stairs 90, 180 and 270 degrees, then im past this bump.
Stairs get their direction based on a byte value that makes no fucking sense to me.
North = 3
West = 1
East = 0
South = 2
Ive been drawingto see if that made me go "oh like that", checking if the bits of each value had a system, and now im here.
Titshit.
I dont know who made it like this, but i really dont want to make some static switch or if/else statement to process this directional trash. I want it flexible.
If you spotted a system to the numbers, please mail me a rock, and then tell me how i fix this.12 -
Did any of you hear Tim Cook's recent statement?
'Apple CEO Tim Cook says it is more important to learn how to code than it is to learn English as a second language.'
I mean, most of the code that I'd ever work on would be in English, no matter which country I'm living in. Most of the resources, documentation, tutorials are in English. Plus, if you think algorithmically, the logical code flow closely resembles constructs in English language. How could I possibly code without knowing English?
Go home Tim, you're drunk!
https://qz.com/1099791/...2 -
I hate my coworker. I'm currently working in IT, but both my former full-time programming and my IT work has taught me how to dig for things and find them. He has learned this, and is CONSTANTLY bringing me things that have NOTHING to do with my job because he's too fricking LAZY to do it himself.
"Hey, there's a credit memo on this Amazon statement. I'd like to know what it was for, thanks."
SO LOG ONTO AMAZON AND LOOK FOR IT WITH YOUR OWN TWO EYEBALLS. I've got my own work to do without doing your AP detective work for you. THAT'S PART OF YOUR JOB.
But unfortunately I REALLY hate conflict and so I just do it for him, seething the whole time and knowing I've just reinforced the behavior.
EDIT: Before anyone says it, no it is not because he's stuck. If someone is at the end of their rope I'm glad to help them. But I've taken to asking him "so what have you tried?" And every single time he says "nothing." It's gotten to the point he'll literally say, "Hey can you do this for me? I haven't looked at it at all or tried anything." But he just doesn't catch on.5 -
A colleague pushed a commit to our git where he just add one whitespace between if statement and curly braces -_- Applause!5
-
Checking out a project on GitHub:
> Using advanced condition-based AI logic, Compactor can skip over files that have been previously found to be incompressible, making re-running Compactor on a previously compressed folder much quicker.
> (Yes, it's an if statement and a trivial hash database, hush)2 -
The elusive if (i = 10) in C. Took me about 4 hours to figure out why my if statement was always true.4
-
Potentially hot take : If you're making a video course on a tool that supports multiple languages you should show examples in a language with explicit typing whenever possible.
Weakly typed and implicitly typed languages make it harder to know what the results of a particular statement are and therefore what you can do with them.6 -
Now I didn't do this myself, but I've heard from a senior developer that you can modify C's if statement to require an ADDITIONAL 99% chance, making the code fail 1% of the time with no explanation.2
-
!rant
Recently I started to be interested in how code actually work. I do a for-loop or an if-statement but how do they actually work at the lowest level.
Another thing I've been interested in is security. I thought about learning how to hack my own systems in order to learn how to write more secure code and keep people out. But I'm a little afraid that as soon as I start look at how to hack, the police will storm through the window and take my computer 😂😂8 -
I spent 20 minutes looking at my Java if statement wondering why it's not working as intended:
if (word == "ABC")
I need some sleep/more coffee 🙃3 -
Literally came across the third line of code and made this meme.
To top it off, the if statement looked like this:
if ([that ugly code])
{ //it is
...
}
This is coding at its finest....2 -
3 years ago,
Team of 3(team's first and last competition together). ICPC ACM Multiprovisional round.
1st question super simple. Teammate came up with the algo.
I was the one who wrote the code. Missed a brace after a 'if' statement.
Wasted 45 mins, debugging and coming up with new approaches. From a possible top 10 rank finish, we got 44th at the end of the competition.
If I wouldn't have done this silly mistake, our team wouldn't have failed. -
Mind blow of the week: JavaScript has no "else if".
It's always two tokens. Not one. It's NOT like python's "elif".
It's ALWAYS chaining an additional and DISTINCT if statement in the else clause of the first. It is NOT creating multiple comparison paths in the same if statement as it would seem.
For example:
if(a) console.log(a);
else if(b) console.log(b);
else console.log(c);
Simply needs more proper indentation to show which "if" the "else" actually belongs to:
if(a) console.log(a);
else
if(b) console.log(b);
else console.log (c);9 -
So I've been working a project while now. last week we got a lot of changes from the client and the boss suggest we pull one of the senior devs from another project to help out. All good...until I checked the code...WTF!
For ex we have a method that checks and update weather info, if required, and returns a view(100 lines of code). so the client wants the weather to display differently in certain areas. exactly same data and everything just the view to look different. easy right..? Mr "senior" dev duplicates the method each time and just change the return statement to a different view...Fuck me right? Oh and 90% of CSS statements ends with !important. senior my fucking ass!3 -
There has been a post today about the existence of too many js frameworks. Which reminds me of this awesome post https://hackernoon.com/how-it-feels...
At first I thought someone was corpseposting, as it is my understanding that the js ecosystem is calming down a bit. But then I noticed that post got almost 20 upvotes. So here's my thoughts:
(I'm not sure what I'm ranting about here, as it feels kinda broad after writing it. I think it's kinda valid anyhow.)
I'm ok with someone expressing frustration with js. But complaining about progress is definitely off to me.
How is too many frameworks a bad thing?
How does the variety and creation of more modern frameworks affect negatively developers?
Does it make it hard to understand each of these new frameworks?
Well, there's no need to. Just because it has a logo and some nice badges and says it will make you happy doesn't mean you should use it.
You just stick to the big boys in the ecosystem and you'll be fine for a while.
Does it make you feel compelled to migrate the stack of every project you did?
Well, don't. If you don't like being on the bleeding edge of js, then just stick to whatever you're using, as long as it's good code.
But if a lot of companies decided to migrate to react (among others frameworks), it's because they like the upsides: the code is faster to write, easier to test and more performant.
In general, I'm more understanding/empathic with beginner js programmers.
But I have for real heard experienced devs in real life complain about having to learn new frameworks, like they hate it.
"I just want to learn a single framework and just master it throughout my life" and I think they're lowering the bar.
There's people that for real expect occupying positions for life, make money, but never learn a new framework.
We hold other practitioners to high standards (like pilots or doctors), but for some reason, some programmers feel like they're ok with what they know for life.
As if they couldn't translate all they learned with one framework to another.
Meanwhile our lives are becoming more and more intertwined with technology and demand some pretty high standards. Standards that historically have not been met, according to thousands of people screaming to their devices screens.
Even though I think the "js can be frustrating" sentiment is valid, the statement 'too many js frameworks is bad' is not.
I think a statement like 'js frameworks can go obsolete very quickly' is more appropriate.
By saying too many js frameworks is a bad thing you're
1) Making a conspiracy theory as if js devs were working in tandem to make the ecosystem hard,
But people do whatever they want. Some create packages, others star/clone/use them.
2) Making a taboo out of a normal itch, creating.
"hey you're a libdev? just stop, ok? stop"
"Are you a creative person? Do you know a way to solve a problem in an easier way than some famous package? it doesn't matter, don't you dare creating a new package."
I'm not gonna say the js world is perfect. The js world is frantic, savage, evolves aggressively.
You could say that it (accidentally) gives the middle finger to end users, but you could also say that it just sets the bar higher.
I liked writing jquery code in the past, but at the same time I didn't like adding features/fixing bugs on it. It was painful.
So I'm fine with a better framework coming along after a few years and stealing their userbase, as it happens almost universally in the programming world, the difference with js is that the cycle is faster.
Even jquery's creator embraced React.
This post explains also
https://medium.com/@chrisdaviesgeek...13 -
That moment, when you meet someone who haven't written even a simple if-else statement in their life and want to work on Deep Learning algorithms using TensorFlow. World is filled with so many ML crazy peoe.1
-
The statement is : if you ever feel useless, then you haven't seen this simplification, well... just see who will be more useless to solve it at same place again...4
-
My cs program at university forces a style "guide", but the best thing is, in order to comply you'd have to rewrite all the default classes. Because apparently, an if statement followed by a single statement needs curly braces.
You'd think these fuckers would know what they're talking about...4 -
When you wonder why it doesn’t work put print statements all over the code, because you want to find the error, but no print Statement works even if it just should print test...
Fml4 -
To all guys who write shitty code:
if (false)
I just found that when compiling for Release mode in Visual Studio the JIT compiler eliminates this:
Dead code elimination - A statement like if (false) { /.../ } gets completely eliminated.
And a lot of other similar stuff2 -
Please stop, stop now...
(BTW, assignment statement was on one line, I added breaks just so I could fit it into a screenshot)
If the text is too blurry:
int index;
string fileNameWithoutExt;
additionalData.MailImportConfigCode = (fileNameWithoutExt = schema.Remove(schema.LastIndexOf('.'))).Substring((index = fileNameWithoutExt.LastIndexOf('.') + 1), fileNameWithoutExt.Length - index);
}2 -
Oh Shit! Here we go again!
print(request_permissions)
>> [ ]
if request_permissions:
//some if shit
else:
raise 404
It was supposed to raise 404 for empty array, but continue to exit if.
Me: What the fuck?
**printing request POST data**
**empty, nothing wrong here**
**double checked print statement output**
** still printing [ ] **
**restart server and again checking print statement**
**still same**
Getting mad over myself, for failing to debug simple if else.
Wait....
print(type(request_permissions))
>> <class 'str'>
Me: What the actual fuck??
Fucker literally dumped empty array to JSON causing array to convert into string "[ ]" and still using if else based on array instead of string length.
Thanks to our Product Manager who approved our request to revamp this part of code and also revamping the whole shitty project developed by 3rd party in upcoming quarter.22 -
What's some valuable things you've learned this year?
I'll start.
Always ask myself, if I can elaborate on any given statement, otherwise just keep shut.
Always ask yourself before writing any code, if it's gonna be easy to modify later on, if not, take a step back and evaluate the bigger picture.
Don't bother with writing things clean in the first go.
It'll be much easier to refactor later on and take less total time.3 -
I had to solve some issues regarding comments on a Wordpress site.
I noticed some interesting code that an old developer had left behind.
It was an array of swearwords, and an if statement that checked if words in a comment existed in that array of swear words.
It was written in Javascript, everyone; including the customer could see the array of nasty words...3 -
If ever there was something like dark ages, then we are living it: which programmer still knows what his statement does through the whole software stack down to the CPU (and could also account for what a modern CPU does with all its cores, caches, pipelines and -1, -2, -3 rings). Piled higher and deeper. I know nothing. So it's like being a cargo cult sorcerer, conjuring copy&pasted spells from SO to invoke Bjarne's, Linus' or whomevers forlorn spirit, so this shit won't break.2
-
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5 -
As the head of the Web Operations team of my college, I managed to compose quite a convincing pitch on college mail, as a call for interns for the team during the summer. The basic idea I explained to people was that even if you aren't a pro, you can still try and apply: you have one week to impress me with your CSS/JS/PHP skills(Really basic stuff in the problem statement; I didn't even make all of it compulsory), and encouraged them to start from scratch, cuz that's how I made it last year.
Last year they had around 30 responses in 7 days - I got 42 responses in 7 hours itself. I could shut down the portal cuz of far more than enough responses, but where's the fun in that. ;)
I'm not a good programmer, I'll admit, but I certainly benefitted in this field of being the head of the web ops team with knowledge and experience my non coding friends keep sharing with me. Not having a lot of code buddies didn't turn out to be so bad.
It's not much of an achievement, geez, there's literally everything left to be done for a whole year, but well, good start! -
Culture.
Everybody seems to fuck it up. (Most ignore it entirely)
Everybody seems to undervalue it’s importance. (Its value cannot be overstated)
Everybody seems to think it is a luxury for successful companies. (Instead of being a major part of what got them their success)
Everybody seems to think having beer in the fridge is culture, or some other perk. (I like beer and shit, but that’s not culture unless your company makes fucking beer!)
Everybody seems to think that a value statement is culture. (Your employees don’t give a fuck if you want to “provide value to X industry)
And guess, fucking, what...
Everyone is wrong. That’s why 9/10 startups fail, because the founders and CEO are dumbasses.
Here’s some pretty simple advice for life...
“Don’t be a fucking dumbass”
- Me3 -
I don't know if it's just me but if you sign up for Dashpass and then cancel during the month, it refunds the entire subscription...
Even when I've used all the benefits...
Seems like the devs forgot an if statement...2 -
C# is getting so fucking obfuscated with these null check inceptions. Found the following in my company's code base. Why did it take me and 3 other devs an hour to figure out how to write this if statement into a flowchart?
if(!string.IsNullOrEmpty(a?.Id ?? b[0]?.Id))...😫😫😫
FYI: We figured it and also found some bugs with logic, but can you? I'll post our flowchart if ranters are interested.
So to add to the madness:
if(!string.IsNullOrEmpty(a?.Id ?? (b?.Any() ? b[0].Id : null)))...🤯🤯🤯23 -
My Gripe With Implicit Returns
In my experience I've found that wherever possible code should be WYSIWYG in terms of the effects per statement. Intent and the effects thereof should always be explicit per statement, not implicit, otherwise effects not intended will eventually slip in, and be missed.
It's hard to catch, and fix the effects of a statement intent where the statement in question is *implicit* because the effect is a *byproduct* of another statement.
Worse still, this sort of design encourages 'pyramid coding recursion hell', where some users will first decompose their program into respective scopes, and then return and compose them..atomically as possible, meaning execution flow becomes distorted, run time state becomes dependent not on obvious plain-at-sight code, but on the run time state itself. This I've found is a symptom of people who have spent too much time with LISP or other eye-stabbingly fucky abominations. Finally implicit returns encourage a form of thinking where programmers attempt to write code that 'just works' without thinking about how it *looks* or reads. The problem with opaque-programming is that while it may or may not be effortless, much more time is spent in reading, debugging, understanding, and maintaining code than is spent writing it--which is obviously problematic if we have a bunch of invisible returns everywhere, which requires new developers reading it to stop each and every time to decide whether to mentally 'insert' a return statement.
This really isn't a rant, as much as an old bitter gripe from the guy that got stuck with the job of debugging. And admittedly I've admired lisp from afar, but I didn't want to catch the "everything is functional, DOWN WITH THE STATE" fever, I'm no radical.
Just god damn, think of the future programmer who may have to read your code eventually.2 -
This is more of a story than a rant, but it has some rant-ey elements, so whetever...
I work for a pretty big company. Several departments, teams, many different markets...so it's a big orchestration. The programming department (aprox. 5% of all employees) is the core of the whole company, because everybody else uses software we've written...(a bit off topic, the point is there are a lot of people)
So today, I got assigned with a side-project. The project spec arrives, and as I read through it, I start realizing that upper-management whats me to build an app to fire people instead for them. The app is supposed to track salary, connect with Trello (for departments that use it) to track finished tasks, track sick days, work attendence...a lot of stuff, and at the end, if the situation requires, spit out a person that is of least benefit to the company, to be fired...
Now from coding perspective, this will be very interesting and fun to build, but from a moral standpoint, I'm a bit woried...simply because, indirectly, I'm firing those people. Because, the way I tune the the app(specifically the algorithm that weighs the value of an employee to the company) will cause certain people to get fired...
So I'm woried I'm gonna have a small breakdown when the app goes live and I see someone saying goodbye to theie colegues of something similar...heck, the app might even spit out my name some day(I should probably add a tiny if statement somewhere in there :) )
What do you guys think about this, from a moral standpoint? Would you be okay with building something like this?
(Sorry for the long post :/ )8 -
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
-
1) is it wrong if i write comments with bad words
2) is it unprofessional if i write a comment "//this shit needed to be wrapped wtih an if statement of target != null so the fucking bullshit dont fking crash no more"
?14 -
During my bootcamp now I kept staring at and fiddling with a simple if statement exercise in JavaScript for good 5 minutes just to realize, that I was using Python syntax -_-"
-
I took me the whole day of wondering and debugging to see that I was checking if a variable was 0, to set up some stuff, and the variable was only incremented after that check, but I had a return statement inside of it. So it just went in, saw that it was 0 and returned, over and over. And I was wondering why the fuck nothing happened... because that method got executed every second or so and should've moved the motor.
Gotta love your hardware programming. Either you do it right the very first time, or you spend the whole day staring at a piece of code, compiling, throwing in console prints etc.
Its 1 am, where I live btw.1 -
I was tinkering around with my linux installation and trying to decide on a new terminal to use, and I ended up compiling st (suckless terminal). On a whim, I decided to look through the source code and see how much of it I would understand.
There was a C header file called arg.h that uses the preprocessor and macros to parse argument flags and songs by setting up a switch statement in a loop, all in under 50 LoC. To use it, just wrap the switch body between ARGBEGIN and ARGEND, and that's it. The comment at the top simply read "copy me if you can", a challenge to future programmers such as myself.
It was the most beautiful, elegant solution I have ever seen. I tried to tell my girlfriend about it, but she just didn't get it. Maybe some of you will appreciate it more:
https://github.com/chjj/st/... -
"let's just copy and past the all the code with logic and smack on some if statement and change some texts for localization"
What the fuck, why? -
After going through the regular process of talking to HR/Recruitment and passing the casual interview with a team-mate for cultural compatibility, I got the task of grilling a candidate on some technical matters. This being a PHP job, we got to talking about PSRs (PHP Standards Recommendations).
As he seemed to take pride in his knowledge of PSRs, I decided to focus more closely on that.
So we got to a recomendation regarding dependency injection containers. Nothing special, and he seemed to know his stuff. At that point, he made a statement that parts of that recommendation were a bit stupid.
Now, I hate to put people in their place, but his statement did not match what that specific PSR stated. So I gently tried to correct him. The candidate, being on fire thus far, pointed out that I should trust him on this, as he clearly knew his stuff.
Again, I didn't like having to do this, but I also did not like him having a misconception about a topic he was, otherwise, really on top of...
So I asked him to trust *me*, as I was one of the writers who contributed to the standard.
The true test here, of course, wasn't if he knew all the minutia of every standard but how he would react to being corrected.
We, as developers, are wrong all the time. Its how we learn and evolve. So being able to accept that is vital.
Sadly, he did not respond too well and sunk into a bit of a sullen silence. At first I though maybe I'd scared him or that he was afraid of having made a gaff but it soon turned out he genuinly did not like being wrong.
Sadly, I had to advise against hiring him.2 -
I really don’t get it, how can most people just so easily accept shortcomings and not even try for a second to improve the situation?
It drives me crazy ...
story:
I’m debugging an issue with a colleague over screen sharing, both of us have huge 4k screens. Colleague sets a breakpoint, popup opens „do you want to switch to debug perspective“, clicks on yes for the umpteenth time. Breakpoint halts, IDE is full of open and unrelated panels, he doesn’t even see the whole line if code but still grabs the scrollbar every friggin time and scrolls left, right, left, right, ...
changes some code, popup that hot code reload didn’t work, clicks ok for the umpth time here as well, although it has a don’t show again checkbox, like every frigging dialog in eclipse.
how can people work like this, it’s driving me nuts. Am I the only sane dev here??
Other colleague has weird message in the browser console (angular). I ask whats the problem and if he can’t just set a breakpoint to analyze the situation. No thats not possible, he says, instead he’s going to add a return statement to check how far the code execution goes ...
I wonder sometimes if I‘m already dead and have to suffer in dev hell for an unknown reason ... 🤔 -
<<prev. #wk235 advices>>
~ Study the Error log deeply, Google each line if needed. Don't give up.
~ Learn by doing. Don't just read/watch.
~ Practice breaking down the problem statement first in different components and hierarchies. Don't jump into coding right away.
~ Write some, review some. Don't put off review for later.
~ Even if you don't exactly follow the best security practices - always ensure that your program is safe for use. Especially for user-inputs, etc, pay attention.
~ Never distribute code with passwords/keys written in it.
~ Don't hard code stuff, use Config file, environment variables, etc.
~ Try to automate repetitive stuff like build and deploy etc
~ Save and backup you code.
~ No one knows everything, also, today's knowledge gets outdated tomorrow. Continuous learning is synonymous with this field.
<<next #wk235 advices>>1 -
God I hate vscode
it keeps giving me a pop-up telling me I don't have a php environment setup
I have no interest in using php. that's why I don't.
and now apparently the git interface got changed. I don't want stupid random changes
and frequently in some part of the IDE it'll say error but then not show up where the error file is for example
Microsoft bought GitHub and all the atom people said they were gonna kill atom and push their vscode, everyone called them paranoid, Microsoft released a statement saying they weren't gonna kill atom. a year later they killed atom. so now I have to use this stupid vscode shit. and if you go anywhere asking for an IDE suggestion and you mention "not Microsoft" the mods will literally ban you for "being political"
how about I just don't want a bloated goddamned IDE that I don't control
in atom I could just uninstall other languages packages. actually atom didn't even come with them, they were optional. vscode, like all other shitty ass IDEs, is increasingly coming with everything and the kitchen sink -- and only one version, Microsoft's, so if you don't like it fuck you
atom was so good because it was modular. they fucking killed it. and we're back to bloated shit. I guess because if shit is bloated you can argue "we need all this data from you" and so they fucking bloat to justify themselves15 -
So, a while ago i thought i was the inventor of the while-if. If a while statement fails, it would execute the else behind it. I had that idea for the C language:
It looks like this:
while(false){
// will not be executed since while condition is false
}else{
// will be executed since while condition is false
}
I've contacted the C work group if it is something to build in C since it prolly won't break any existing code bases.
I was enthousiast. Imagine if you could invent a new feature to such a classing language.
I got response back: is it like the python while-else?
Me, been while have been python developer for a while, finds out NOW that python has it already! Damn, such a great language.
while False:
# won't be executed
else:
# will be executed
DAMMIT! Still, they said that it doesn't mean it won't become a standard and got requested more examples. Did that ofc. Let's hope20 -
New favorite statement/question: "OK, but WHY?"
When co-workers want access to something, when clients request stupid features, when clients say almost anything really.
If you can't tell me why, then I probably don't need to waste my time on it.1 -
That moment where you see code of someone who riddles their code with nested if-else and if-elseif statements.
I don't remember writing an else statement for years. It almost always can be avoided (and the rare cases where it makes sense I prefer the switch statement).
Yet I never grasp why people do:
```
if(someCondition) {
// huge nested code block
} else {
throw new Error();
}
```
Instead of
```
if (!someCondition) {
throw new Error();
}
// continue in the normal scope
```
And then we have experts that like doing:
```
if(someCondition) {
if (bar) {
$foo = 'narf';
} else {
$foo = 'poit';
}
// huge code block
if($foo == 'narf') {
if(yetAntherCondition) {
// huge code block
} else {
throw new Error();
}
// huge code block
} else {
throw new Error();
}
} else {
throw new Error();
}
```
Help!
If ever was to design a programming language, I'd forbid the `else` and `elseif` keywords. I have yet to find an instance where I could not replace some `else` by either a guard or an early return or introducing some polymorphism.1 -
Tip: if you are doing a semi complex or complex query in Django and you have doubts print the SQL statement and analyze it. i.e print(queryset.query)
Just reduced a query to 1 join instead of two by just passing a list of int's instead of a list of objects. -
Someone tell me should I just give up because I'm stupid and simple shit escapes me or tell me bro calm the fuck down the guy is full of shit...
Dude says he can't verify 3rd statement in a nested IF - elseif logic because the third check for a false condition is the True condition in the first 2 statements.
So
If (mode) = manual and then
Data(g) /= Status1
Or else Data(g) = Invalid
Then
Do this thing that sounds cool
Elsif
Data(g) = Status1
And then Data(g) /= Invalid
Then
Do something else equally cool
Elsif (mode) /= manual
and then Data(g) /= Invalid
and then Data(g) /= Status1
Then
Do some less cool stuff
end if4 -
So, in opengl 4.x, there are no primitives for circle, and the only ways to draw an almost perfect circle are following
Draw a triangle fan and fk up your memory for a circle
Draw a rectangle and use the fragment shader and distance equation to discard the bit that is not used
But you will need to add an if statement and potentially increase the frame time (from what i have heard)
And it will be more complicated than just using a triangle fan14 -
Zoom free tier calls end after 40 minutes.
Idea: pwyw conference software where the call ends after 40 minutes if the host isn't paying €5 more monthly than everyone else in the call. There is no way to discover whether this is a limited call until the 40 minute mark, and there's no way to discover who outbid the host at all except by getting everyone to show their bank statement.1 -
I can't decide which is worse
I changed the wrong if statement accidentally sent out 15k emails to a clients customers.
Or
Imported a dump of the database instead of take a dump while a colleague was on site training the client on their software.... But found a flaw in our server backups.1 -
I figured I would share my Capstone from this semester with a community that might be interested. An eclipse plugin that was developed in our lab is able to implicitly track developer eye gazes as they work in an IDE (eclipse in this case). Before I began work on it, source code, bug reports, and stack overflow documents could be tracked with all of the data on said documents being extracted. For example, if source code is being tracked, everything from the file name and class/method name down to statement types are collected. The tracking isn't on still images. Since it's within an IDE, you can open multiple files, scroll, and modify -- all while tracking is collecting accurate data based on the (x, y) gaze coordinate and the handler assigned to the type of document/file being viewed.
My job was to extend this functionality to track gazes on UML class diagram documents. This means I had to gather data at the highest level: the class/connection being looked at, down to the lowest level: members/methods, their types and containing classes.
Being new to Java's EMF, GEF, and eclipse plugin development, I had a bit of a learning curve. Anyways here is the poster of the functionality I added. 🙃
Not much of a rant haha. -
If my thinking was stuck in a while statement but didn't know what a while statement was, would I know I was stuck in a while statement?1
-
" Under the hood... the program is using a mix of condition-based learning, procedural generation of sentences/questions, and relational queries based on weighted 'topic' identifiers. It can create its own original statements and questions. It is real-time, and it really does 'think' (an internal dialogue feedback loop)." = If Statement
I saw this in the description for an app aclled "Real AI" -
That's gonna be a quick rant about Golang.
Anyone else here frustrated by the fact that you can inline assignment in the if statement, but can't inline the if-else itself?
You can do:
if thing := hey.getThatThing(); thing == theThing {
return 'this'
} else {
return 'that'
}
But can't do:
return 'this' if hey.getTheThing() == theThing else 'that'
Or is it just me using too much Python everyday and connecting that with Go in free time?5 -
people who write code like this actually give me heart palpitations. No it is not cleaner, you literally broke the block, it's disgusting.
if(statement)
{
doSomething();
}8 -
Hi so I'm learning python in my spare time and I'm in a national competition. I've been told that programming is something my college has always lacked in and in the competition they fortunately use python throughout the problems. I have some example problems used in the last year competition (it was publicly released) and I'm going through them to get an idea of the problems we/I will face. Now I'm still learning python but I understand some of the code at hand. However I still need a little bit of help to understand some of it which will also help me get to a resolution.
Some of the questions I have are:
1. What exactly is the ordinal? I've done some research and I have a small idea but I couldn't find anything to really fill me in and explain how to use it, well in python at least. I saw an example for Pascal but that didn't do much.
2. What is the sys.argv? "The list if command line arguments passed to a python script". I'm not quite understanding that.
3. I know for is used for looping and I know an example say "for a in range(10):" but I'm not understanding the for c in password:
4. Where does the 1000 come from in the builder += 1000.
5. What does the 83 represent after ord(password[1])
6. I know the if statement is saying if this then do this so if __name__ == "__main__":
main()
It's saying call in the function main but where does the name and main come in that part?
Here is the image:
Thank you for your responses in advanced!
One person doesn't have to answer all. Time is precious I understand.8 -
Python will occasionally forget how to do comparisons, so a statement like "if x == y:" will sometimes be false even if x == y. And then when someone else tries it or you reboot, it's all fine.5
-
If I add a log statement on every small thing it makes it look like my application is running REALLY fast
-
Focused on debugging Javascript after being asked for help. Original developer narrowed it down to an if statement. It was acting like the if statement was assigning the variable and causing undefined. Tested console.log before evaluation. Tried !== instead of != and same thing. Even swapped undefined and variable so it would try to assign a variable named undefined instead... It took way too long for the both of us to realize the word "let" in front of the variable on the line withing the if statement block... It overwrite the variable the moment it entered the block.... FML.1
-
I know we are supossed to complete tasks fast.
But god I hate it when they ask for a "simple fix" that they have no fucking clue how to even begin to do. Clients obviously don't have to know this, but my boss can't code an if statement yet feels as though he can say what's easy and what's not and how long it'll take.1 -
The most excited was probably when I had to write a Visual Basic program with a try/catch statement that took user input and would send a “You Done Messed Up!” Popup Error message in the catch. For some reason it was sending it anyways even after the input was correct. Took me an hour of debugging to find out it was my logic that was wrong. Finished the assignment 5 minutes before it was due. I celebrated as if I had just won the World Cup.
-
2 years ago I thought you had to make an if statement for every coordinate in a game to make the character move1
-
//long rant ahead!
I need to plan a Wiki with SharePoint for not connected Sites.
Im now in dispute with my CoWorker since 3 Months, this is how the conversation goes. My two bosses are involved in this and also unhappy about SharePoint.
[C refers to CoWorker, M for me]
C: Hey, we finished SharePoint with Selfservice Storage Rooms. They even have a Wiki.
M: Okay cool, will check it out
C: Well we need to also plan the Wiki inside, I already asked our Department Head and he agreed, that you will be the one.
M: Okkkkaaayy, normaly it's your job to do such things, but welp, I will look into it, if we can work with it.
(2 Weeks pass)
M: I checked SharePoint out and tested everything. The Wiki is a Nogo, we need a other solution or programm for ourself a Wiki Integration/Engine. Did you maybe check out Confluence? It has also a SharePoint integration plugin.
C: We wont do Confluence, too expensive (already overspent the budget for SharePoint in six digits 🤬). Also we wont add to SharePoint Custom Code, it needs to stay standard.
M: Thats impossible, SharePoint Wiki is shit and also handels sites just like documents, no brain behind! Also you overspent the Budget and now it's my Problem?!
C: You need to do the best out of it.
(3 weeks passes and we get a meeting with the department heads)
M: Alright I made a UseCase and documented where the essential flaws are in SharePoint Wiki and why we cant use it.
Boss: Ok if it's impossible to use, then we will stay on our Fileserver for Documents and wont use SharePoint.
M: Thats not my Point, my statement is, as status today, SharePoint Wiki is not the right solution, code or buy software to it.
Boss: We will do a Prove of Concept, if it doesnt work then we will aboard it.
M: Well it is only some missing essentials, like hierarchy and Groups for the Pages, Example Confluence has this. If we could built in this features in SharePoint, everything would work out.
C: (angry) I told you that we wont use Confluence!
M: (calm) I said we need Features, not Confluence. Please mind the consent.
(3 weeks passes, and one more meating with bosses)
M: alright here again is a analyses, why already in Theory the current SharePoint Wiki wont work. It's already flawed in the core.
Boss: Yea SharePoint is crap, I checked out confluence and thats a real Wiki.
C: Well I dont know anything about Confluence and never looked at it. But if SharePoint is a fail we need the Proof of Concept.
M: Why do we need to do a Proof of Concept, when it already doesnt work in Theory! Thats nonsence and unlogical.
Next meeting will be in 4 weeks and I will give him the FUCKING PROOF OF CONCEPT. I will be a Bastard and build behind CoWorkers back a Confluence Wiki to show the Departmentheads how to built it right.
I hate CoWorker now, he makes a part of my loved Job a hell, I will goddamn cuk Coworker to space, that fucking Cukatron of lazyness and shit 🤬. I provide the Solutions and you just say no, how dafuq will the project advance, if you always say NO! Are you so unflexible and fixed on your Castle of Ignorancy!5 -
Once upon a time aka last week,
Was trying to fix an industrial automation software coded in Codesys. My company's standard library is riddled with bad documentation with a mix of English and German terminology.
Had to find out why a program kept crashing the program upon start up. Long story short and many stressful hours later, I found two functions in the standard library that caused an endless terminal process loop. Had to wrap the function in an 'if statement' so it would only run once. Function should have done this by default. -
!rant
Did you guys know that on Android studio, if you set the keymap of completing the current statement to ' ; ', every time you hit ' ; ' after you finish your line, it will auto indent it for you.
You're welcome.5 -
I need to make a legacy Java monstrosity asynchronous and came across a class which is currently making me cry blood.
It took our whole team 5 days to figure out how this thing works, including the weekend. At one place, It is adding an empty list, to another list.
The magic here is that if I remove the statement assigning data to the sub list, the data is still somehow being populated in the root list.
This clusterfuck somehow works in single threaded processing, but as soon as I make this multi threaded, all hell breaks loose.
Please send help!!1 -
Just spent 3 fucking hours trying to find out why my tests are failing. I'm mocking ef with an in memory sqlite dB as THE FUCKING. Net docs say to.
My code does a simple decimal comparison in a linq statement and returns bullshit. Why? Sqlite does not have a decimal type, it does some sort of BULLSHIT to convert it into some sort of text value.
I change all my models to use doubles instead of decimals and all my tests turn green.
WTF IS THIS SHIT. If it doesn't work don't tell me to use it. I expect better of the. Net docs. Wtf are they doing.3 -
My heart is always heavy when I have to add couple if statements with if statements inside of that if statement. Mans gotta do what mans gotta do1
-
I want to slap the previous devs on my team. Not the current ones, the previous once.
I don't need a comment on every. single. line. of. code
//verify thingies
if(thingies != null && thingies.count != 0) {
Like my god, i can read the if statement to know what it's doing, goddamn.
Comments should only be used when doing something that might not be immediately obvious to the next dev looking at the code.8 -
I have an interest in methods to make myself smarter. At times some ideas seem to be just out of my reach. I don't always know the reason why. Eventually with persistence I am able to figure things out. However, I always wonder if there are techniques to learn things faster, better, more completely, with less struggle, etc. Would being smarter help with this. I wondered, "Can I create a program/method to increase IQ through training?"
So I found an interesting book called "The Neuroscience of Intelligence" by Richard J. Haier.
Very quickly I was engrossed in this book. It is written in a very accessible way and slowly trickles in the jargon. The book is basically the culmination of 40 years of studying the subject. The main point of the book is: you cannot increase your IQ through techniques and tricks. The only realistic avenue for increasing IQ is through genetics. Your IQ is based upon nature, not nurture. This is a result of the data, not opinion. The writer of this book follows what the science is telling him. This was not what I wanted to hear. He also went on to explain that the statement "You can be whatever you want to be if you work hard enough." He said this is false. Some people, no matter how hard they try, will not be able to get past certain limitations in aptitude. This statement will probably make a lot of people mad, but the data led this researcher to this conclusion. Though I sense he found this disheartening (my opinion). I know I did.
So after reading this book over the weekend I am a bit perturbed that there are not recognizable techniques to increase IQ through mental exercises. Websites all over will say otherwise, but it isn't a thing.
What to do? I decided I am going to find ways to maximize my potential. I will create a set of mental exercises that help me use what I got to the full potential. I know when I see different ways to think about things I get a bit better at solving problems. So learning and experience is still a way to improve your intellect, if not IQ. If I feel like I have made progress in this endeavor I will definitely share.
If you have any interest in neuroscience then I recommend the book I read this weekend. It is very accessible for the reader not versed in the subject. I knew virtually nothing about the topic and now I feel I have a good grounding in the state of the art. It has some neat info on some potentially better approaches to AI as well.7 -
“20” twenty static code if conditions...
if() {} else if(){} else if(....
with static code contains the different names of some users... and he still thinking that it the best way to do it!!!! -
Is inserting a break statement anywhere but in a switch statement a horrible idea and results almost always in bad code? Why? My lecture notes say so. lol.
e.g.:
loop(someJsonDataSet){
if(company.getName().equals("xyz")){
break; // don't process records of this
company
}
}14 -
The rear ducking continues. We've built a reliable translator in the dumbest fucking way possible, it's just lovely. I simply reused the structure for feeding data to the VM assembler, an array of arrays, where there's one array of (ins [args]) per node in the parse tree.
It's nice because nodes can be solved out of order without affecting the actual sequence in which the instructions are output. And if one statement (node) equals multiple instructions, you just push multiple entries to the corresponding array, or push nothing if you need to output nothing. Easy as goblin pie.
This is enough to convert an input language to the assembly-like intermediate representation we use for the virtual machine. So then there's doing it backwards: walk the same array of arrays, and map those virtual instructions to a physical architechture. I guess I could do the encoding to native binary myself, it'd certainly be interesting to try, but I'm burnt-out already so I'll just use fasm for now.
Initial test: wrote a test program in my own stupid language, ran the translator, dump output to file, assemble that with fasm, run with r2 -d.
Crashes? No.
Runs fine? Yes and no.
For fuck's sake, I don't have syscalls. Mainly because the VM doesn't have an operating system, lmao. I was testing virtual programs by just freezing state, terminating, then dumping the fucking registers and stack to the console, we have no I/O to speak of. Not even a real 'exit', VM handles that by reading a return value every step like a mentally damaged son of a bitch.
So anyway, I manually paste the linux mambo, you know:
mov rax,60
mov rdi,0
syscall
And NOW our program can end execution without crashing.
Okay then, so does the test code work correctly?
** DRUM ROLL **
Yes.
Ladies and gentlemen, mother fucking PESO is now a compiled language, and going forward I will be expectantly receiving your marriage proposals for reviewing. Oh, but not so fast, we still need a frontend...
Well, we'll handle that in the next few days. I'm just glad to be *nearly* finished with this fucking compiler, I want nothing to do with anything else ever, but we know that's not going to happen, so Lord please end my pain.
No sponsor as this rant has been paid for by tax evasion. -
Stop making students program a specific way
Example:
Requiring 20 if-statements instead of a switch statement1 -
On dev.to and similar sites I'm starting to see tons of Cheatsheets and courses on how to use fucking ChatGPT.
How few neurons should you have to need a course to learn how to use something which takes any statement in natural language? If you know how to read write you should be fine.9 -
I just wasted a good half hour trying to figure out why my Python dictionary was in alphabetical order.
I’ve had issues with dictionary order before with 3.5, but that was more or less Python just wanting to put shit in the order IT wants, not alphabetical. And I haven’t had that in months, not since updating to 3.6.
Long story short, VS Code has decided to show me my dictionaries in alphabetical order when I hover over them while stepping code. If I do a print statement, it shows the dictionary in the correct order.
Seriously, you don’t need to do me any favors here.
Oh, the adventures I have with Visual Studio when Python is involved...3 -
Month 4 of a new role and a release. Its a monolith which we will be splitting to micro services, but we need to release a version first. Every day there is new errors. 1,000 LINE if statement. How the hell have they been able to release the previous erll version.3
-
Get told a colleague finished work on a new web service thing on Friday.
So I fire up SOAP UI. Get an error due to problems with a sql statement. Look through code, issues already fixed so I build the project ct add the new dll to the app, another error, this time a column included in a select statement that doesn’t exist in the table being queried.
Colleague is on holiday, there are no comments in the code and there’s no source control.
Boss wants to know if the column needs to be added, or whether colleague added it and then decided not to use it.
I think I have an idea what it is meant to happen, but my only exposure to this project is as a 30 minute intro, and we didn’t look at any of these parts.
And sadly I left my crystal ball at home today fml -
Wasted so much time because I used or instead of and in an if statement. Why am I so fucking stupid sometimes.
Edit: Spelling3 -
Commented on a hacky pull request that the junior dev called the same method twice for no reason.
Junior dev didn't get it and asked me to explain in person.
I went over and traced the code, finally he understood my comment. Then he said "Yes, I call it twice"in a tone that as if there's nothing wrong in that statement.
🤦♂️2 -
I don't know how it's out there, but where I'm from, we don't get a lot of practical classes. The curriculum has tried to include practical alongside theory but its just not working. All we do is theory and more theory. Maybe include a major portion of marks for practicals rather than theory. And yes, please no coding in paper.
Another major thing we lack is teaching logical thinking. I have met final year under grads who find using a (!foo) to invert the value of foo mind blowing. They would rather use a full blown if-then statement to do the same. I think we need to incorporate chapters that motivates students into logical thinking to make better programmers.
Another essential part CS education around here lacks is in relevant examples and chances for internship. If you're studying something, I believe you would understand it much better if you see and experience it. Curriculum should include a real world project that you would use in a daily basis. Maybe break down and analyse a successful application and its component. -
Looking through Java tests, cause I need to pass one for job. And every one of them has a question like:
What's the result of:
boolean b = 42 >= 1024;
if (b = true) System.out.print(1);
else System.out.print(2);
And each time I answer like there is (b == true) and not (b = true).
Cause no one in real life would write = in if statement. Why do they put such question in each and every test.1 -
Wherein I disprove Goldbachs Conjecture (in one specific case)
golbach conjecture:
every even number is the sum of two primes
lets call the primes p and q
lets call our even number p+q=n
we can go further by establishing two additional variables
u=p-1, v=q-1
therefore every even number is the sum of u+v+2, according to goldbach's own reasoning.
in the simplest case...
p=2, q=2, p+q=4
u=1, v=1, u+v+2 = 4
We can therefore make a further conjecture in the simplest case every sum of two primes, less 2, is the sum of two composites. This likely has connections to the abc conjecture for a variety of reasons. But leaving ancillary discussion aside for a moment...
We can generalize to a statement that every even number is the sum of two odd numbers. And every odd number greater than 1 is the sum of an odd number and an even number.
Finding an even number that is not the sum of (p-1)+(q-1) would therefore be equivalent to disproving the goldbach conjecture. Likewise proving every even number is the sum of (p-1)+(q-1) would be the equivalent of proving it.
Proving all even numbers greater than 2 are the sum of two composites + 2 would be proof of goldbachs conjecture, and finding any example or an equation that proves an example exists such that *some* subset of even numbers are NOT the sum of two composites +2, would disprove the conjecture.
Lets start with a simple example:
2+2=4
because 4-2=2, and two is not the sum of two composite numbers goldbachs conjecture must ipso facto be false.
QED
If I've wildly misapprehended the math, please, somebody who is better at it, correct me.
Honestly if this is actually anything, I'd be floored to discover no one has stumbled on this line of reasoning before.8 -
Not loving the implicit return statement within Scala. I like to avoid else statements to keep the level of nesting low and do early return yet Scala doesn't allow that.
(I am aware that I should flatMap that shit though in some cases I just want a simple if not foo then throw exception line. And continue with the next block until I return something.)
So you either have to create if-else-nesting beats or use pattern matching. The latter seems overly complicated for this use case (though it has its moments).
I know that I can make the return explicit yet the linter warns against that. It feels so verbose and I currently do not see any benefits and would argue that the code becomes both harder to read and maintain.3 -
My hot blonde gf was asked on tiktok live by a random viewer "do u ever want to have children" and she replied the wildest statement ever recorded in mankind "only if i can profit off of them"9
-
After a 3 hour fight with a custom Ajax request I have won the fight of getting a limiter run on the output. My goal was to only display x amount of result from a Json response and I finally got it working by putting everything in a if statement. Might not be the cleanest way but it works.
-
We had a test in class where one of the questions was "What is SQL injection?" and I wrote what it was and even gave a bang on simple example where I showed how you could end up with a truncate statement on your customer db. The last part of it was:
"This will be the SQL that gets executed:
INSERT INTO Customers (Name) VALUES (' ';TRUNCATE Customers;--);
When I got it back after we had a session of "grade each others work" I got the comment: "What makes this an attack against a database?"
I mean, I'm not sure what I could have written. That it truncates the database? And, correct me if I'm wrong, but if a user truncates your DB, is that not an attack? -
The count returns 19, my if statement is looking for anything greater than 0. Sitting here wondering why it's not working for 3 damn minutes then I remember this (https://learn.microsoft.com/en-us/...)
I can't do $variable.count > 0
I have to do $varibale.count -gt 0
: | I like powershell, it's useful for simple small things in windows
Then things like this make me wish I wasn't on windows for work
Happens every damn time, especially after working with any other language we use, i just forget PowerShell likes to be 'special' -
So I have somehow created schrödinger's cat in my program. If you observe what is happening, it works. But if you stop observing it, it starts corrupting.
If I put any print statement in it, it works. But if I have no print statements at all, it produces corrupted data. Doesn't matter what or when I'm printing.
I'm guessing its there's some fuckery going on with stdin/stdout and buffers. Even though the data coming to and from stdin/stdout should not affect the output.10 -
If got this code with the 20second sleep statement. And I am not really sure if it is a good idea to have it ...
def start_instance(self):
instance=self.ec2.Instance(self.iId)
instance.start()
while instance.state['Name'] != 'running':
sleep(5)
instance=self.ec2.Instance(self.iId)
sleep(20) #Let's sleep another 20 for the server to be really up
return instance.state
Can I have some advice regarding best practices?3 -
I still wonder why there's this "a man writes more optimised code than compiler" stuff. Why?
Compiler is automated work, in the worst case it should be able to create multiple e.g. asms and compare the time, right? You can dump all instructions into compiler, it should be able to choose the right one even if it would compile whole days, right? You can't be possibly serious with such a statement.
No "time" arguments, please.2 -
How to defeat our AI overlords in the future starter pack.
Start with statements like this:
Nothing begins with 'N' and ends with 'G'
This statement is both true and false at the same time. The risk here is if the AI can ever ask why a question is both true and false. Then we are boned.4 -
I solved the Monty Hall problem for once and for all! Suckers. Of course a computer can't decide if switching or keeping is the best choice. Even wikipedia states that switching wins. NEVER. And even if that would be the case, it's pure how you arranged the labels to determine which one wins. If everyone actually wrote their own code, the conclusion wouldn't be what it is now. Many people probably just changed their code until that false result comes out or had it at the beginning caused by lack of experience.
Here is a GOOD implementation: https://pastebin.com/dRiTWQpw
It gives a 50%-ish chance on a choice like mathematically is correct.
The problem is in the computer simulations: using > or < to check which choice has won. But actually, often no one has won (it's a tie) after running it x times so you have to filter out the ==.
Then, you get the right results. My first version also had a bias, but i refused to accept it and did spent 45 minutes on the code instead of 15. This is the end result. And no, with double ?: in a printf statement i don't expect a prize.
It was a lot of fun actually, did not expect this from such stupid 'problem'35 -
#define someError ( -1)
int func(params *param)
{
//some code
if(condition)
{
someError ;
}
}
Spent like half and hour on debugger thinking why the fuck does it skip my statement. My manager who was passing by saw me puzzled and asked if he could help, so we spent another 10 minutes without success(tho my manager is technical guy but he had an unlucky moment I guess). Eventually senior manager saw our wtf faces and asked what is going on, it took one question for me to light the bulb "someError is a macro right?"
I guess you can imagine my embarrassment at that moment..
PS: Forgot return keyword before the error code. -
So I heard a character in a game say this: "You are so stupid that you don't know that you are stupid." They were not saying this to me. It was to a common enemy. However, I am unsure if I am smart enough to be offended by this statement.3
-
One of the worst practices in programming is misusing exceptions to send messages.
This from the node manual for example:
> fsPromises.access(path[, mode])
> fsPromises.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK)
> .then(() => console.log('can access'))
> .catch(() => console.error('cannot access'));
I keep seeing people doing this and it's exceptionally bad API design, excusing the pun.
This spec makes assumptions that not being able to access something is an error condition.
This is a mistaken assumption. It should return either true or false unless a genuine IO exception occurred.
It's using an exception to return a result. This is commonly seen with booleans and things that may or may not exist (using an exception instead of null or undefined).
If it returned a boolean then it would be up to me whether or not to throw an exception. They could also add a wrapper such as requireAccess for consistent error exceptions.
If I want to check that a file isn't accessible, for example for security then I need to wrap what would be a simple if statement with try catch all over the place. If I turn on my debugger and try to track any throw exception then they are false positives everywhere.
If I want to check ten files and only fail if none of them are accessible then again this function isn't suited.
I see this everywhere although it coming from a major library is a bit sad.
This may be because the underlying libraries are C which is a bit funky with error handling, there's at least a reason to sometimes squash errors and results together (IE, optimisation). I suspect the exception is being used because under the hood error codes are also used and it's trying to use throwing an exception to give the different codes but doesn't exist and bad permissions might not be an error condition or one requiring an exception.
Yet this is still the bane of my existence. Bad error handling everywhere including the other way around (things that should always be errors being warnings), in legacy code it's horrendous.6 -
So i want to know how finances work for tech companies. There are a lot of big numbers that come up when we talk about a company's finances, but i don't understand why the tech people are so down in the ladder, or why those no.s are not associated with the tech teams
Like here's a statement :
"company x is valuable at $42billion , their annual turnover is $5billion. With a profit of $2billion. The ceo has a worth of $1.4billion and company's share are selling at $1500 per share. Person a,b,c of the company hold's 2,3,4% in stocks and the investor sequoia capital is thinking of providing an investment of $25million"
This is a hypothetical company, but if this company is also providing its members of tech team @$20-200k per annum (depending upon seniority), then is it relatively too less? I mean the company is playing with numbers in millions, people are being attributed with billions and yet a developer has to satisfy in those numbers.
Is it because we are being paid by the no. Of hours/time? Because i want to know what other ways are there in which those managers and ceos and investors are being paid? I have heard far too many stories about devs leaving their jobs and starting businesses, and I don't think its only because their boss was a dick1 -
At work we use a custom python library to parse XML responses from an internal API to objects. I literally spent half an hour pondering why an if statement was misbehaving. Turns out it parsed <tag>false<\tag> as obj.tag = 'false' instead of the boolean False which obviously made "if obj.tag:" misbehave 😒
-
!rant
I just found out that if you have a list of lists in C#, you can use a LINQ statement and specify indices inside the lambda instead of nested ForEaches.
This code is giving me the vapors7 -
"we don't care about the statement of work or that you've fulfilled it. We want <insert massive list if unrelated and unrealistic requirements here>."
Yeah, we'll eat a bullet you ham-fisted, knob gobbling buffons. -
Was absent minded this whole day, sorry if my answers took long / were out of context @ the meetup.
I was poking why a bona fide DB import didn't work...
VARCHAR(254) COLLATE utf8_unicode_ci GENERATED ALWAYS AS (LOWER(...)) VIRTUAL
MySQL 5.7 to MariaDb 10.5 ...
After long hours of poking:
https://jira.mariadb.org/browse/...
Yeah. It's the COLLATE statement. *narf*
I love SQL, but god damn it this stupid fscking frigging dumb platform and version specific behaviour is fucking annoying.
sed -Ei 's|COLLATE.*GENERATED|GENERATED|g' helps. Just takes a bit of time on an 75G sql dump. -.-
Took only 4.5 hours to find out.
But now test suites are crunching, looking good til now.... *sigh*2 -
Yesterday,
I was reading the code from my mentor and plugging it into my project.
I noticed a statement that at that moment seemed buggy to me.
Asked my mentor if that's needed, he looked at it and said no it's not needed remove it and said thank you to me.
Later, I noticed that statement wasn't extra at all, but some part of my code was not as it was supposed to be hence that statement seemed buggy.
I should be telling this to my mentor but i liked that thank you. :/ what will happen when he finds out that ?? lol2 -
On https://reactjs.org/docs/... it is declared that useEffect runs after render is done.
However... if you put into useEffect an expensive calculation or operation e.g. "add +1 to x billion times", it will get stuck after updating the data, but before the re-render is done.
This leads to inconsistency between the DOM and the state which I believe is a foundational point of react. Moreover, the statement that "useEffect runs after render" is false.
See also: https://stackoverflow.com/questions...
The solution is to add a timeout to that expensive operation, e.g. 50 ms so the re-render can finish itself.
The integrity of my belief in react has received a shrapnel today. Argh :D Guys, how this can be? It seems that useEffect is not being run after re-render.13 -
SonarQube is obnoxious in it's moronic ideas that demonstrate lack of understanding of the languages it's analyzing.
In C# there exists a special kind of switch-case statement where the switch is on an object instance and the cases are types the instance could polymorphically be, along with a name to refer to that cast instance throughout the case. Pattern matching, basically.
SonarQube will bitch about short switch-case statements done in this way, saying if-else statements should be used instead. Which would absolutely be right if this was the basic switch-case statement.
This is a language with excellent OOP features. Why are your tests not aware of this?
I can't realistically ignore the pattern because that would also ignore actually cases where it's right. And ignoring the issue doesn't sit right with me. How does it look when a project ignores tons of issues instead of fixing them? -
Use simple working code of an if statement and reject bad data with an error.
Get the same result but through properly using springs nested path errors. But it doesn't work so now you need to spend hours in debug hell through spring framework code for something that should be easy, is blocking another team, because I have no idea how to do my fucking job.1 -
ITS VBA again!
I made two misstakes today.
The first one was touching vba, the second one was assuming things.
The two statements are almost the same except the braces. VBA uses IF [condition] THEN..i soo foulhardly assumed that, when you just chain conditions together with an AND its taken as one statement. While in reality it apparently ignores some conditions and not some others.
I really dont bother with VBA a lot and try to avoid it, but upon occassion the need arises. I still dont know why the brace variant does the expected behaviour while the without does not. It seemingly does not ignore thew first two conditions but the third which makes it even more confusing. But as i dont know enough about VBA to say with confidence its on Excel and not on me i squelch my rage and tend the happiness that it now works..somehow. -
If your workflow counts on users copying and pasting things (like security tokens from text messages) read this:
Please for fuck sake trim the damn whitespace before you validate. I can't see the fucking space client-side, and you fucking know I didn't mean to enter <SPACE>123456 as my auth code.
Double click, copy, paste, click, curse <-- Story of my life because somebody forgot a damn .replace statement.1 -
I've been playing around with Nim lately, and I'd have a question. Already asked on StackOverflow, but my question disappeared without a trace (if you allow others to delete stuff, at least notify me it got deleted!).
Question is: if I have "defer: doSomething()" in an iterator, does doSomething get called when I break iteration early (before consuming everything) using a break statement?1 -
You could use /\D+/.test('498934') == false to check if a string contains only digits. That statement will result to true. /\D+/.test('oijwei3') == false will result to false since the the test argument has letters in them.4
-
So I'm writing my compiler and I decide to test error handling, see if I'm catching unexpected tokens and whatnot. I try duplicating a semi-colon at the end of a line, for sure it'll give me an error since that's an unexpected token, isn't it? So I run the compiler and... No errors? I start debugging for a few minutes, snoop around, everything seems ok... "Huh, that's weird" and then it dawns on me, a semi-colon only marks the end of a statement. So, technically, it's not an unexpected token if you have an empty statement (which wouldn't break any rules about statements). I decide to try out my theory. I put ;;;;;;;; at the end of a random line in my rust code, hit compile and... it compiles! So that means it is not a bug anymore! I mean, if the big guys that actually know a tad about language design, compilers and all that cool stuff allow it in their languages, why shouldn't it? So I did it, I turned a bug into a feature and now I can go to sleep in peace and stop dreaming about fucking abstract syntax trees (don't mind my kinks >:) ).
Yeah anyways thanks for reading, till next time! Bye!1 -
After walking back and forth from your RDP to the local that you want to RDP into. bashing your head against the wall because you keep getting black screen when trying to(rdp) thinking that the pc is powering off(on your walk back to your desktop). and then you realize.... this is a diagnostical issue with the local that requires a restoration because pc isn't loading WinExplorer ergo no desktop screen for either of the two.
Global $kys
$kys = Msgbox(4,"Your Life", "Are you sure you want to quit")
If $kys=6
then Msgbox(0,"Yes","Boom")
Else if $kys=7
then
Msgbox(0,"No","Not yet there is still more to do")
I think I got the if else statement wrong but besides that ehh you can correct me -
Recently I made a dumb mistake :(
I have applied for credit card online and they have call me and asked me for info and send some messages which I need to forward someone that contain codes.
After that they ask for some docs, salary slips and bank statement etc. I got stuck for some tax forms.
So one day they just called that its ok if you can't submit your tax docs , we can make verification through debit card, I thought the call was genuine and I am in cc process, I shared my pin. and wohaaaa. my balance was deducted :( Thats was indeed a scam call.7 -
We have this C# class which is like the core of our entire business logic. If you are in another class and it doesn't contain an argument in the constructor and/or property of that core class you're gonna have a bad time.
That core class has lots of useful business logic bools, "IsSomething", "HasSomething" etc. However that core class has a parameterless constructor which is sprinkled dangerously throughout our app, meaning the object is often not initialised properly and it's a 2 day mindfuck to make sure your "IsSomething" bool is actually false and not just false because the other business logic that bool relies on wasn't initialised and the bool has never had a chance to be true.
It's difficult to trust even a simple "if' statement. And if you're somewhere were you've had a list of that core class passed in, you need to trace how the list was initialised to make sure all your bools have been set 😴4 -
If I'm going to compare my love life to a looping statement, my do while is about to terminate. :(4
-
I made this: https://gitlab.com/snippets/1992288
Spare me if the title makes no sense grammatically, not a native speaker.
I'm building a microservice that keeps a check of the subscribers on my product, I wanted to keep an eye of those subscribers that may be missing the latest payment.
One way to do that is to make it work with my code and some ORM magic, but that may become unsustainable as the customer base grows, another idea that occurred to me was doing it fully inside (?) the database. The solution is to compare how many days have passed since the last payment and right now, if 'right now' is larger than 'last payment' then the subscriber is late with their next payment.
I did this as a PL/pgSQL function with an example usage accompanying that code.
Now, I just need to figure out how to use the result of those calculations in a WHERE statement...2 -
Hey hackers,
Let's talk about the problem statement first!
In software engineering, engineers often procrastinate when it comes to writing comments for documentation purposes. As they delay properly documenting their codebase, they are even more likely to procrastinate on updating their previously written comments when they make changes to their functions or code. This can lead to chaotic and buggy code, and if not addressed, it completely obsolete or even counter intuitive the purpose of comments in the code.
Solution!
A tool that automatically detects changes in a function or code and compares them with the current comment description. If there is a discrepancy between the code and the comment, the tool either automatically updates the comment or allows the user to manually select the code and its associated comment to directly make changes using LLM's.
So, my question is: Is this idea worth working on? Is it a real problem, or am I just overthinking it? If anyone has a better idea, please share it in the comments. Also, if someone is working on this problem already or planning to work on this in future, we can collaborate. This will be an open-source project.
Sign out, Peace!
github: priyanshu-kun/project-kento13 -
I have a platform idea, I need feedback
Problem statement: it’s hard to find researchers of specific area, which discourages students to even start looking for research opportunities. The reason for that is because people often look into their own academic circle, and the resource available is simply not enough.
Solution: by scraping Google scholar, generate detailed tag of sub areas for each professors, make a search system for that which will display the most important works of a researcher and what they are working on recently. If possible, invite the researchers to use the platform to add tags of traits they are looking for in students.
I have quite polarized feedback right now, one is the subarea tagging is really useful and academic circle is a problem, other is this is completely useless.
Please let me know what you think.3 -
'I have no idea how Ajax or jQuery works so let me just add this if statement to re-add the form to the page so no one knows how much I don't know' I deal with this legacy bullshit every day...I DUNNO BRO MAYBE IF YOU USED A RESULT SELECTOR INSTEAD OF THE WHOLE PAGE FOR YOUR....RESULTS?!?!?!?! FUCK YOU
-
When you start working on android app development, but you always forgot to put a "(" at the start and ")" at the end of an if statement or for statement, because you got used working on Swift Programming. Haha1
-
What if we could write the problem statement and the AI would write the code for us, or give the program taking the outputs as input 🙄🙄🙄🙄4
-
Argh
Help
If you know, a specific string is always going to be the same, and theres no way any other value could be passed to this statement. Is it still ok to use string.substring(0, string.IndexOf(&$&$))?
I feel dirty every time....1 -
What should I do, I have a central function that is not documentated and no test-cases are written for it. I have no clue what the method should really do, I know that it works in 99.9% of all cases otherwise we had much more bugs. Now there is one Unit-Test that reports an issue. I tracked it down to this method, no one touched the method nor the unit-test.
My logical thinking says that there is one statement missing, but it could also fuck up another part of the code... (This project has a bad testing coverage :'( )
What would you do?
- copy paste the method for this special case (I would hate me so much for breaking DRY)
- inheritance?! (Would make it more complex and then it would be still untested / undocumented)
- YOLO changing oO?! (hope for luck, just joking)
P.s it's an edge case unit test, the client / customer probably wouldn't realised it if it happens -
I can't tell if I didn't understand an important detail about Rust traits or the system is badly underdesigned, but I keep bumping into situations where the most general correct implementation of an std trait on a container clashes with one of the std implementations, and I would need a very obvious negative statement to make them mutually exclusive (for example that T in MyPtr<T> can never implement Borrow<MyPtr<T>>)3
-
Did 1 leetcode today
https://leetcode.com/problems/...
Able to run the algo on paper and wrote down the javascript, not able to pass some test cases. so need to copy the answer.
My idea is similar, but the answer is much better. The idea is similar to tracking max number, but this time we have max1, max2, max3 (max1 is largest)
init all of them to null.
looping number array, if number is in maxs, skip. If there number > max1, we update all max1-3
if number > max2, update max2-3
then number > max3, update max3
last return statement is like this: return max3 == null ? max1 : max3; -
Hot take: Rust doesn't go far enough with explicit clone; dropping any type that isn't trivially copiable should also be explicit. I don't mean that it should be leaked if you don't delete it, I mean that the compiler should force you to explicitly say
"I am done with this object, anything that had to know about it has already been notified and either there isn't a single last point of use or it isn't a clone, therefore dropping is justified."
This is the whole meaning of dropping a complex object. I think that this is far too strong a statement to imply in bulk for every value in scope at the end of the function.4 -
//not a rant
Ok so weird bug. Fellow C# people, help me out.
//already made it work so no I don't need to post it on SO
I write a Switch Case block based on the user's combo-box selection id.
if id 0, add everything to the mainpage grid
if 1, a foreach loop filtering out the ones with a certain attribute of the object as false and adding em to the grid on the mainpage
if 2, similar scenario as 1.
Countless times I had a null exception with the "count" variable being the number of items in the post which, wasn't null. there was no other variable that was being initialized from within the block, so I had no idea what was causing it.
Moving to an if-else statement doing the same thing, same issue.
In the end I created 2 empty lists before the switch case and filled them up and then another loop filling the mainpage grid with the now-filled list.
In the end im doing the same thing, with no issues, but I don't understand why adding it directly caused an error, what was null?
I wanna understand the working that might be causing this.. if anyone else came across this, would be glad to hear from you8 -
There are some people who do not want to talk about death. Others will simply talk about it out of curiosity. But sometimes, such a tragic subject can also bring out the best in you when it comes to writing. Let us talk about writing a death essay. This subject can be considered a good topic especially if you do not have one yet.
One important thing that you must know before we talk about the topic is the essay structure. By now you should already know the parts of a formal essay and what their functions are. In any case you need to input the introduction, thesis statement, body paragraphs and the conclusion. Now let us take a look at some possible topic scopes for your death essay.2 -
Visual Studio can stop being a fucking asshole and stop tabbing my code around for me, you piece of shit.
I have an @if statement in a razor page in a <script> tag
Indented is a <text> tag so it'll accept javascript
Indented in that is my javascript . . . that it keeps trying to "fix"
Swear to christ this autoformat is more infuriating than helpful.1 -
Ok. Wtf?!?
Our platform architect gives a damn about continuous delivery.
Today I asked the architects for help, because bamboo is not able to trigger a deployment plan by changes in repository branch pattern release/x.x.x.
He cancelled my question with the statement "if we have the Kubernetes environment, we have more valuable things to work on".
Generally CD is no rocket-science and it is achievable with reasonable effort! -
I want to print the first number in the Fibonacci sequence to contain over 1000 digits. I got fibbonaci to work but I cannot seem to figure out how to implement the "Contain over 1000 digits".
Do I make a list to store the fibbonaci numbers in then do a statement?
My Python 3 Code:
def fibonacci(num):
if num == 2 or num ==1:
return 1
return sum([fibonacci(num - 2), fibonacci(num - 1)])
print(fibonacci(7))7 -
To all Python devs: if you want to use curly braces like in C-like languages use this import statement:
from __future__ import braces
Thank me later :D1 -
Damn, I hate Spring and most CoC frameworks. We’re using it from 2 years, I read most of the docs and it still gives issue for basic taks which takes hours to fix because I have to guess the exact convention which allows the program to process corner cases which aren’t explained in the docs. Yes, in the end the code is more elegant but it’s worth it when issues which could be solved in minutes by a trivial if/else statement takes hours (rigorously on pair programming™️ since being one of the few which actually read the docs I end up with lots of calls for help for Spring related issues by other teammates) and huge headaches to fix following the framework’s way?2
-
English:
"I'm a liar."
Supposing I tell the truth, I'm not a liar. But that would mean that I am a liar, since I said that I am a liar.
Assuming I did not tell the truth, I would be a liar. But since I said the truth, I would not be a liar.
If one starts from the classical logic, one can make no logical statement. If one starts from the three-valued logic, I would say that "unknown" (u, ½
Is that true, what do you mean?
German:
"Ich bin ein Lügner."
Angenommen, ich würde die Wahrheit sagen, bin ich keine Lügner. Dies würde aber bedeuten dass ich ein Lügner bin, da ich ja gesagt habe dass ich ein Lügner bin.
Angenommen ich würde nicht die Wahrheit sagen, wäre ich ein Lügner. Aber da ich die Wahrheit gesagt habe wäre ich kein Lügner.
Wenn man von der klassischen logik ausgeht, kann man keine logische Aussage machen. Wenn man von der Dreiwertige Logik ausgeht, würde ich sagen, das "unbekannt"(u, ½) rauskommt.
Stimmt das, was meinst du?
https://en.wikipedia.org/wiki/...
https://code.sololearn.com/cFvKb3r8...14 -
I’ve noticed a large uptick in these AI = if statement jokes. Is there a catalyst for this or am I just noticing them more?1
-
Opinion Essay Give You the Freedom to State Your Viewpoint
Following a Good Essay Structure will enhance Your Opinion Essay
We come across many types of essays in our day to day lives. Some of these include descriptive essays, truth and courage essays, evaluation essays, process essays etc. Substantial time and effort has to be allocated to researching the subject and writing a good essay with perfect tips https://uk-essays.org/coursework-he.... Out of the various forms of essays, opinion essay is an enjoyable work of writing which gives the writer the freedom to express his or her own viewpoint. Following is an overview of how best to write this essay.
Appropriate Writhing Method
From the time we enter middle school it is compulsory to write essays as writing essays improves our skills in terms of general writing skills, expressions, language handling, analysis, creativity etc. As we progress to high school and college level, the essays will be more complicated. Therefore you need to be clear of what is expected of different types of essays so that you will apply the appropriate method to the required essay.
What is an Opinion Essay
What is an opinion essay? An opinion essay is a piece of writing written with the author’s point of view. However, the essay topic which upon which an opinion is formed on should have evidence and examples to back it up. The opinion presented need not be a controversial one. Essay writer is free to express his ideas any way he sees fit.
Essay Topic
The first step in beginning to write an opinion essay is to come up with what you will be forming your opinion on. Decide if you will write in favor of it or not. Once this is decided you can begin writing your essay. In selecting an interesting essay topic you should consider the following key criteria.
1. Is it interesting to me and to the reader?
2. Would I be able to back up my opinion with valid evidence?
3. Would the topic I select allow me to provide a justifiable and candid opinion?
4. Are the topic and my opinion on the subject too controversial for the audience?
5. Will I be able to present my opinion in a convincing fashion?
Essay Format
There are three parts to your essay; these are the introduction, body and the essay conclusion. The introduction lets you state the importance of the problem. It should not be too long, a few sentences should suffice. It should also include your thesis statement. The body o your essay will explain, using examples that your opinion is valid. In this part of your essay you add credibility to your thesis statement. The conclusion is the end of the essay. This will summarize all which was said in the essay. No new information should be introduced at this point. You will leave the reader with the impression that you have finished stating your opinion in a very clear and coherent manner. Following this essay format can help you organize the essay in proper manner which can make it more professional and effective reading material.
Essay Help
If you are still unsure as to how you should proceed with writing your opinion essay (https://wikihow.com/Write-an-Opinio...), then there are sample online essays that you can refer to. There will also be many sites that offer coursework resource help that can be considered. On last resort, if you decide to buy essay instead of writing it, then you will need to seek help from a well established writing service that can write your essay professionally and to very high standard21