this post was submitted on 01 Nov 2023
833 points (98.0% liked)

Lemmy Shitpost

33229 readers
4896 users here now

Welcome to Lemmy Shitpost. Here you can shitpost to your hearts content.

Anything and everything goes. Memes, Jokes, Vents and Banter. Though we still have to comply with lemmy.world instance rules. So behave!


Rules:

1. Be Respectful


Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.

Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.

...


2. No Illegal Content


Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.

That means:

-No promoting violence/threats against any individuals

-No CSA content or Revenge Porn

-No sharing private/personal information (Doxxing)

...


3. No Spam


Posting the same post, no matter the intent is against the rules.

-If you have posted content, please refrain from re-posting said content within this community.

-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.

-No posting Scams/Advertisements/Phishing Links/IP Grabbers

-No Bots, Bots will be banned from the community.

...


4. No Porn/ExplicitContent


-Do not post explicit content. Lemmy.World is not the instance for NSFW content.

-Do not post Gore or Shock Content.

...


5. No Enciting Harassment,Brigading, Doxxing or Witch Hunts


-Do not Brigade other Communities

-No calls to action against other communities/users within Lemmy or outside of Lemmy.

-No Witch Hunts against users/communities.

-No content that harasses members within or outside of the community.

...


6. NSFW should be behind NSFW tags.


-Content that is NSFW should be behind NSFW tags.

-Content that might be distressing should be kept behind NSFW tags.

...

If you see content that is a breach of the rules, please flag and report the comment and a moderator will take action where they can.


Also check out:

Partnered Communities:

1.Memes

2.Lemmy Review

3.Mildly Infuriating

4.Lemmy Be Wholesome

5.No Stupid Questions

6.You Should Know

7.Comedy Heaven

8.Credible Defense

9.Ten Forward

10.LinuxMemes (Linux themed memes)


Reach out to

All communities included on the sidebar are to be made in compliance with the instance rules. Striker

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] Rentlar@lemmy.ca 100 points 2 years ago* (last edited 2 years ago) (4 children)

They call me a StackOverflow expert:

private bool isEven(int num) {
if (num == 0) return true;
if (num == 1) return false;
if (num < 0) return isEven(-1 * num);
return isEven(num - 2);
}
[–] nyoooom@lemmy.world 33 points 2 years ago (1 children)
bool isEven(int num) {
 return num == 0 || !isEven(num - (num > 0 ? 1 : -1));
}
load more comments (1 replies)
[–] Johanno@feddit.de 17 points 2 years ago* (last edited 2 years ago)

StackoverflowException.

What do I do now?

Nvm. Got it.

  if(num % 2 == 0){
       int num1 = num/2
       int num2 = num/2
       return isEven(num1) && isEven(num2)   
  } 

if(num % 3 == 0){
      int num1 = num/3
      int num2 = num/3
      int num3 = num/3
      return isEven(num1) && isEven(num2) && isEven(num3) 
}

Obviously we need to check each part of the division to make sure if they are even or not. /s

load more comments (2 replies)
[–] snek@lemmy.world 82 points 2 years ago* (last edited 2 years ago) (2 children)

I shit you not but one coworker I had dared call himself a data scientist and did something really similar to this but in Python and in production code. He should never have been hired. Coding in python was a requirement. I spent a good year sorting out through his spaghetti code and eventually rebuilt everything he had been working on because it was so bad that it only worked on his computer and he always pip freezes all requirements, and since he never used a virtual environment that meant we got a list of ALL packages he had installed on pip for a project. Out of those 100, only about 20 were relevant to the project.

[–] surewhynotlem@lemmy.world 47 points 2 years ago (2 children)

In prod??

Listen up folks. This is why we do code reviews. This right here.

[–] herrvogel@lemmy.world 16 points 2 years ago* (last edited 2 years ago)

Code reviews mean fuck all when the "senior" developer doing the review is someone who implements an entire API endpoint group in one single thousand-something lines magic function that is impossible to decipher for mere humans.

[–] snek@lemmy.world 9 points 2 years ago* (last edited 2 years ago)

A few members of my team were reviewing codes but lots of PRs could be merged without tests or checks passing and only about 2 people before I joined understood what cicd is, no one else believed in its importance. They thought doing otherwise would "slow down the work precess and waste time, we know what we're doing anyway!".

I learned a lot from having to implement best practices and introduce tests in teams that don't give a fuck or were never required to do it. I'm amazed at the industry standards and fully understand why job ads keep listing git as a requirement.

load more comments (1 replies)
[–] Agent641@lemmy.world 76 points 2 years ago* (last edited 2 years ago) (1 children)

Just print True all the time. Half the time it will be correct and the client will be happy, and the other half the time, they will open a ticket that will be marked as duplicate and closed.

[–] Rouxibeau@lemmy.world 22 points 2 years ago (1 children)

Reminds me of the fake thermometers being sold during the peak of COVID that weren't actually thermometers but just displayed numbers to make people think they were.

load more comments (1 replies)
[–] Skyline969@lemmy.ca 62 points 2 years ago* (last edited 2 years ago) (1 children)

Wow. Amateur hour over here. There's a much easier way to write this.

A case select:

select(number){
    case 1:
        return false;
    case 2:
        return true;
}

And so on.

load more comments (1 replies)
[–] lobut@lemmy.ca 44 points 2 years ago (1 children)

Just do a while loop and subtract 2 if it's positive or plus 2 is it's negative until it reaches 1 or 0 and that's how you know, easy! /s

[–] KoboldCoterie@pawb.social 44 points 2 years ago (2 children)

God, it's so obvious, you can do it in only two lines of code.

if (number == 1 || number == 3 || number == 5 || number == 7 || number == 9...) return false;
else return true;
load more comments (2 replies)
[–] affiliate@lemmy.world 36 points 2 years ago (3 children)

amateurs

def is_even(n: int):
    if n ==0:
        return True
    elif n < 0:
        return is_even(-n)
    else:
        return not is_even(n-1)
[–] affiliate@lemmy.world 25 points 2 years ago (1 children)

here's a constant time solution:

def is_even(n: int):
    import math
    return sum(math.floor(abs(math.cos(math.pi/2 * n/i))) for i in range(1, 2 ** 63)) > 0

spoileri can't imagine how long it'll take to run, my computer took over 3 minutes to compute one value when the upper bound was replaced with 2^30^. but hey, at least it's O(1).

load more comments (1 replies)
load more comments (2 replies)
[–] ParsnipWitch@feddit.de 35 points 2 years ago (1 children)

The number of comments posting a better solution is funny and somewhat concerning.

[–] elauso@feddit.de 23 points 2 years ago

Yeah, "just use modulo" - no shit, you must be some kind of master programmer

[–] rollerbang@sopuli.xyz 30 points 2 years ago* (last edited 2 years ago)

You have to make it easy on yourself and just use a switch with default true for evens, then handle all the odd numbers in individual cases. There, cut your workload in half.

[–] Karyoplasma@discuss.tchncs.de 27 points 2 years ago (4 children)
while (true){
    if (number == 0) return true;
    if (number == 1) return false;
    number -= 2
}
[–] SamBBMe@lemmy.world 12 points 2 years ago

return !(number % 2)

load more comments (3 replies)
[–] Smacks@lemmy.world 26 points 2 years ago

Still some of YandereDev's best code

[–] DarkMessiah@lemmy.world 26 points 2 years ago* (last edited 2 years ago) (6 children)

Just in case anyone was looking for a decent way to do it...

if (((number/2) - round(number/2)) == 0) return true;

return false;

Or whatever the rounding function is in your language of choice.

EDIT: removed unnecessary else.

[–] Acters@lemmy.world 14 points 2 years ago* (last edited 2 years ago)

Every bit aside for the ones bit is even. All you have to do is get the ones bit(the far right) for it being a 1 or 0. Which is the fastest and least amount of code needed.

use bitwise &

// n&1 is true, then odd, or !n&1 is true for even  

 return (!(n & 1));  
load more comments (4 replies)
[–] kamen@lemmy.world 24 points 2 years ago (3 children)

Plot twist: it's generated code for the purpose of the joke.

[–] ICastFist@programming.dev 27 points 2 years ago (1 children)

Being yandere dev, that's likely the actual code

load more comments (1 replies)
load more comments (2 replies)
[–] BeigeAgenda@lemmy.ca 23 points 2 years ago (22 children)

Good job my young padawan, let me teach you about the modulo operator ...

load more comments (22 replies)
[–] GoosLife@lemmy.world 22 points 2 years ago* (last edited 2 years ago) (1 children)

There is absolutely no need to add a check for each individual number, just do this:

#include 
#include 


int main()
{
	int number = 0;
	int numberToAdd = 1;
	int modifier = 1;

	std::cout << "Is your number [p]ositive or [n]egative? (Default: positive)\n";
	if (std::cin.get() == 'n') {
		modifier *= -1;
	}

	std::cin.ignore(std::numeric_limits::max(), '\n'); // Clear the input buffer

	bool isEven = true;
	bool running = true;

	while (running) {
		std::cout << number << " is " << (isEven ? "even" : "odd") << ".\n";
		std::cout << "Continue? [y/n] (Default: yes)\n";

		if (std::cin.peek() == 'n') {
			running = false;
		}

		number += numberToAdd * modifier;
		isEven = !isEven;

		std::cin.ignore(std::numeric_limits::max(), '\n');
	}

	std::cout << "Your number, " << number << " was " << (isEven ? "even" : "odd") << ".\n";
}```
[–] trashgirlfriend@lemmy.world 11 points 2 years ago (2 children)
load more comments (2 replies)
[–] WhiskyTangoFoxtrot@lemmy.world 22 points 2 years ago

Just do npm install isEven and don't worry about it.

[–] levi@aussie.zone 21 points 2 years ago (13 children)

Oh man, in js we have a package for this magic.

[–] takeda@lemmy.world 9 points 2 years ago

And it is so light, it only requires is-odd package!

load more comments (12 replies)
[–] Iceman@lemmy.ca 18 points 2 years ago

OMG they can’t even!

[–] dwalin@lemmy.world 18 points 2 years ago (3 children)

Just do a recursive funcion subtracting 2 and stoping on -1 or 0. Easy

load more comments (3 replies)
[–] callyral@pawb.social 17 points 2 years ago (1 children)

number == 0 is not handled

load more comments (1 replies)
[–] Iron_Lynx@lemmy.world 13 points 2 years ago (1 children)

Even the shitposty better version has us:

  • take the absolute value of the input as a variable
  • while that variable is >1, subtract 2. Repeat until this is no longer true
  • if it's now 1, return true. Otherwise, return false.
load more comments (1 replies)
[–] luthis@lemmy.nz 13 points 2 years ago

Ok looks like this might be the source, and I suspect it is actually satirical. Not yanderedev, but yeah... wouldn't put it past him.

https://www.reddit.com/r/ProgrammerHumor/comments/i15h4d/iseven/

[–] jsdz@lemmy.ml 13 points 2 years ago* (last edited 2 years ago) (3 children)
int is_even(int n)
{
    int result = -1;
    char number[8]; //should be enough
    sprintf(number, "%d", n);

    // check the number
    // TODO: handle negative numbers
    for (char *p=number; *p; p++)
    {
        if (*p=='0' || *p=='2' || *p=='4' || *p=='6' || *p=='8')
            result = 1;
        else if (*p=='1' || *p=='3' || *p=='5' || *p=='7' || *p=='9')
            result = 0;
        else {
           fprintf(stderr, "Your number is wrong!\n");
           exit(1); 
        }
    }
    return result;
}
load more comments (3 replies)
[–] Zaphod@discuss.tchncs.de 11 points 2 years ago (2 children)
[–] luthis@lemmy.nz 12 points 2 years ago

From what I've heard about yanderedev... it's possible this is actually real.

[–] Bratwurstboy@iusearchlinux.fyi 9 points 2 years ago (3 children)

It is and it has become a meme since then. Just search for Yandere simulator / Yanderedev.

load more comments (3 replies)
[–] dylanTheDeveloper@lemmy.world 11 points 2 years ago

Now make it a switch case

[–] original_reader@lemm.ee 9 points 2 years ago* (last edited 2 years ago) (2 children)

Recently there was a thread trying to declare PHP obsolete.

Hard to beat this in efficiency:

function is_even($num) {
    return $num % 2 === 0;
}

That said, this should work similarly in most languages.

[–] TheBlue22@lemmy.blahaj.zone 16 points 2 years ago (3 children)

Except maybe in C++ where the makers must have found some bit-fucking method that saves 0.02ms

[–] Wilzax@lemmy.world 17 points 2 years ago (4 children)

for an unsigned int, do

(myNum & 1) == 0;

load more comments (4 replies)
load more comments (2 replies)
load more comments (1 replies)
[–] kromem@lemmy.world 9 points 2 years ago (2 children)

You only need to do the comparison on the last digit.

load more comments (2 replies)
load more comments
view more: next ›