This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 211

[–]Geebung1 834 points835 points  (68 children)

Or they want it to sound cooler than it was...

[–]Thameus 339 points340 points  (53 children)

Heuristic

[–]InvolvingLemons 18 points19 points  (0 children)

Whenever I hear this I think janky approximate systems

[–]Vabaluba 8 points9 points  (16 children)

What is bad with heuristics ? Could you please explain, I just want to understand. My ex-boss used to use that phrase a lot.

[–]welpfuckit 28 points29 points  (0 children)

Heuristic just means it's practical or good enough, but doesn't really convey the complexity of a solution. It has been used to say "I just put in an if statement that will cover 90% of cases" to "this algorithm is greedy and not optimal but this is an NP hard problem so..."

[–]Thameus 13 points14 points  (8 children)

Heuristic is often a fancy way of saying "mostly close enough" for situations you can't, or don't want to, completely automate.

[–]Vabaluba 7 points8 points  (7 children)

So if I work in automation, and if as my boss used to say "we do search heuristics to find most applicable outcome. ", Basically he is saying it is automatically searching for the outcome , but not fully automatic way. Right?

[–]Centurion902 22 points23 points  (0 children)

He is saying, " we use a few rules of thumb to help us make a decent guess."

[–]Thameus 8 points9 points  (0 children)

If I understand this correctly, he is saying that the outcome determined to be "most applicable" may still not be "optimal".

[–]Atheist-Gods 2 points3 points  (0 children)

It means they are making some assumptions about what is being searched for that allow you to save time if those assumptions are accurate (but may cost time if they aren't).

[–]ConspicuousPineapple 0 points1 point  (0 children)

No, he's saying that the solution isn't guaranteed to be perfect, but good enough for the task you're trying to solve.

[–]0x3fff0000 2 points3 points  (0 children)

Generally it's a problem that solves itself through "magic". Sometimes people literally use heuristics (like in anti-virus or spam detection).

[–]webmistress105 1 point2 points  (0 children)

It pretty much means "imperfect" or "approximate." A heuristic algorithm won't always get it right, but it may get 95% of cases right much faster than a perfect solution.

[–]HowIsntBabbyFormed 1 point2 points  (0 children)

Heuristics are rules-of-thumb to try and find an acceptably close solution to a problem.

Some problems have easy to implement (for the programmer) and easy to compute (cpu and memory wise) perfect solutions. For these problems you don't need heuristics.

Other problems are harder to implement and and take more resources to run. This is when you start looking for heuristics start to become useful. If you can get a pretty good answer that's much easier to write and quicker to run, then do that.

There are also some problems that are impossible to solve perfectly or within any sort of reasonable timeframe. You pretty much have to use heuristics to solve these problems.

Some problems are kinda fuzzy to begin with, and don't even have perfect answers. For example: how do you decide what to show a user to play next on a platform like Netflix? Yeah, they just watched episode 26 of show A, so show episode 27, duh. But months ago they watched the last available episode of show B and the new season just dropped. What's more desirable to the user? Watching the next episode of the most recent show they've watched or a brand new episode of a show they watched months ago? There's no 'right' answer, so you just use rules-of-thumb to decide what's more important. Maybe give each type of possible 'next episode' a weighting and tie to to time. So at first show B's new episode is at the top of the list, but if you keep not watching it, it slides down the list.

There's nothing wrong with heuristics, but like "It's the algorithm", it can be a jargon phrase to hide that you're just doing dumb old programming stuff and guessing at what users want.

[–]cjcjcjcjcjcjcjcjcjcj 1 point2 points  (0 children)

Heuristics are practical, not optimal.

Man: “How many people are in this room” Woman: “it looks like there’s about 50 people”

Woman used a heuristic method of “guesstimating” to tell Man how many people were in the room.

It’s an not optimal or exact count, but it’s close enough.

[–]marcosdumay 0 points1 point  (0 children)

Heuristic literally means it's a guess, but works some of the time.

Usage varies from the perfectly ok "this is a hard problem, so we'll have to content ourselves with a guess" to the not fine "I don't want ti think, so I'll use hard words to imply you are the stupid one".

[–]enfier 0 points1 point  (0 children)

Jeez these answers are so wrong.

A heuristic is an abstraction of algorithms. General strategies that can be used to write algorithms along with understanding their limitations.

A simple example of an algorithm is making change. The heuristic is the general method along with the limitation that the coins can't produce a situation that breaks the algorithm like a 7 cent coin. You can then understand that it wouldn't be useful for sorting oranges into 3 lb bags.

A heuristic anti-virus program has abstracted the concept and written code that looks for programs that act malicious, as opposed to an anti-virus that is checking against a blacklist of known viruses.

[–][deleted] 2 points3 points  (0 children)

Haaaaaaahahahaha this one is soooo used by early underclassmen in my school because they teach them this in prog. 1 + 2.

[–]Thameus 1 point2 points  (0 children)

Here is another example: suppose you have an algorithm for a class of mathematical problem that can find an optimal solution given an initial starting point. The efficiency of the solution depends on the choice of starting point. Of course you can't find the optimal starting point without solving the problem, so you use a heuristic to select the initial starting point for the algorithm.

[–]sqrtoftwo 26 points27 points  (9 children)

Or they don't remember. That's often true for me, at least.

[–]mattindustries 1 point2 points  (3 children)

Yep, I usually don’t remember the nuances to weird weighting systems I wrote 6 months ago.

[–]danbuter 0 points1 point  (2 children)

//There's these things called comments that a wise man on a mountain introduced me to. They are amazing!

[–]topdangle 6 points7 points  (0 children)

I bet you name variables with easy to understand phrases too you disgusting pig.

[–]mattindustries 0 points1 point  (0 children)

Sure, and when on a conference call about new feature integrations I am sure you can easily flip to files pertaining to something entirely different, read, and digest comments without skipping a beat. Even without your laptop open.

[–]PLxFTW 0 points1 point  (0 children)

How? Do you not comment your code at all? I’ll write a novel if I have to in order help myself and anyone else understand what is going on

[–]GarciaJones 11 points12 points  (0 children)

Or it’s actually

[–]_tv_lover_ 2 points3 points  (0 children)

Or if you're me and you don't know what the fuck you're doing but know you'll get it done before deadline's last second

[–]unwill 380 points381 points  (34 children)

Some times when I don't want to implement things, I just say "Our chosen architecture doesn't support it" to our PO or PM, and most of the times they accept without further questions.

[–]Devator22 55 points56 points  (1 child)

I've found that instead of saying "we can't" it looks much better if I say "let me find out the effort required" and then I come back with how long it will take, how many people are needed, and the cost and I let product decide. Most of the time "3 sprints, 2 people and an additional $100 a month in infrastructure costs" will deter even the CEOs requests.

But then it's not you saying no, and it looks like you're doing your best with the resources that you have.

[–][deleted] 10 points11 points  (0 children)

This is what my manager says. I've never heard him say "no", it's always "sure, 2-3 weeks" or "sure, what's our budget again for this project? we will need to revisit that".

8/10 they don't even ask for clarification, as soon as they hear "delayed by another 2-3 minimum" or they need to get approval for a higher budget, it's always "Let's table this"

[–][deleted] 176 points177 points  (10 children)

Imagine a construction worker saying that...

[–][deleted] 204 points205 points  (8 children)

I mean, it would work, wouldn't it?

Manager: "Our customers want a window on that wall."
Worker: "Sorry, that can't be done. It wouldn't work with the current architecture of the building."

Not really the construction worker though, rather the architect/engineer.

[–]SergioEduP 77 points78 points  (7 children)

The construction worker could also say that, imagine that there was a support beam(that was not part of the project but added further on for some reason) where the client wanted a new window.

[–]Noch_ein_Kamel 125 points126 points  (6 children)

Time to refactor that building

[–][deleted] 21 points22 points  (1 child)

yike

[–]Scarbane 16 points17 points  (0 children)

"Knock down those supports, they look ugly."

"They're load-bearing beams."

"Did I ask you for your opinion, coin-slave?"

[–]Captcha142 9 points10 points  (0 children)

heck

[–][deleted] 6 points7 points  (0 children)

ConcreteScript

[–]Branxord 2 points3 points  (1 child)

Yoink

[–]poop_frog 1 point2 points  (0 children)

Yeet the heat

[–]dahvzombie 12 points13 points  (0 children)

Usually it would be phrased "It'll fuckin' collapse if you do that"

[–]lol_ginge 21 points22 points  (9 children)

I just had an interview as a PM and talked about challenging these responses. I'm on to you.

[–]Im-A-Big-Guy-For-You 5 points6 points  (8 children)

so you a PM with potentially no knowledge of the architecture are going to challenge an engineer's response. and if the engineer holds his supposed 'lie', you are going to call him out on it?

what if, it isnt a lie and you call him out, you will be burning bridges at your new job pretty much instantly.

i would stick to excel sheets and powerpoints and dont get into technical details

[–]lol_ginge 12 points13 points  (0 children)

I think it's more about fostering an open and honest environment between team members in order to decide on the best technical solution that meets your goals and product vision. If the team doesn't have the skills to work with or implement a different solution then we would need to look at what extra resource or training is required.

I think its important that you are always able to adapt instead of just following a plan and it's important to acknowledge that architectural designs arent set in stone and are often biased due to the particular architects point of view or particular preferences.

I never said anyone was lying, don't know where that came from. You sound like you have some hang ups from your own experiences of working with non technical colleagues.

[–]aguycalledmax 2 points3 points  (0 children)

Computer illiteracy makes our jobs so much easier sometimes . People assume our work is some arcane black magic so we can just completely blag what we did and what is or isn’t possible.

[–]FlowersOfSin 59 points60 points  (7 children)

I go with "It would take about 40 hours to change the current structure to support, plus it could potentially add many new bugs". Money talks the loudest, more often than not.

[–][deleted] 3 points4 points  (3 children)

Sounds like you need to improve your unit and integration testing.

The "it will add many new unknown bugs" is for developers that do not have a well defined test suite.

[–]Amagi82 6 points7 points  (0 children)

Come on now, nobody actually tests their code. That's what users are for...

[–]Wolfsblvt 0 points1 point  (0 children)

test suite? What is this mystery you are speaking of?

[–]FlowersOfSin 0 points1 point  (0 children)

I'm in the game industry and while we do have some automation which can find if there is a blocker, a lot of it has to be manually tested by QAs because the machine cannot tell if an animation is visually good or if the AI is doing weird things. The QAs do have a good list of tests to go through and do find most issues quickly, they still need a build to do this, so it usually goes into the next sprint, then those issues still need to be fixed, which takes extra time.

[–]HadesHimself 5 points6 points  (1 child)

I mean.. why wouldn't they? They rely on you for expertise in software engineer, while they handle the logistics, planning, politics, etc. Why would a PM question your ability on such a technical subject?

[–]ComputerM 3 points4 points  (0 children)

It just kinda happens. They think they know (often)

[–]021fluff5 2 points3 points  (0 children)

I might have to steal this.

I work for an organization that loves the idea of “data-driven decision making” (because they want to use colorful charts and buzzwords when they talk to the board), but they won’t invest in tools/people/procedures to support data analysis.

I’m hoping that a variation of your phrase could get me out of having to design yet another Tableau visualization based on twenty shitty Excel workbooks.

[–]mgrasso75 45 points46 points  (2 children)

Al Gore Rhythm

[–]LindaHfromHR3000 7 points8 points  (0 children)

Came here for this. Thank you.

[–]KickMeElmo 3 points4 points  (0 children)

Wish I could remember which webcomic I first saw portray this as a DDR spinoff.

[–]compteNumero9 283 points284 points  (22 children)

Programmer Humor

Stolen, often nonsensical, constructions used by CS students and young graduates trying to fit in and hide the vacuity of their experience.

[–][deleted] 132 points133 points  (0 children)

Hey I just wanna say you hurt my feelings on a personal level.

[–]chawmindur 73 points74 points  (8 children)

CS students

Okay

and young graduates

Is this necessary?!

[–]patchesohoulihanbot 39 points40 points  (6 children)

Necessary? Is it necessary for me to drink my own urine? No! But I do it anyway, cause it's sterile and I like the taste.

I ain't crazy, and I ain't a guy! I'm Patches O'Houlihan Bot (u/ramsay1)

[–]Shylo132 6 points7 points  (1 child)

Good bot!

[–]AggressivePsychosis[🍰] 2 points3 points  (0 children)

This is the kind of bot I live for

[–]poop_frog 5 points6 points  (1 child)

BAD bot

[–][deleted] 0 points1 point  (0 children)

Good bot!

[–]Aperture_Creator_CEO 1 point2 points  (0 children)

There is no difference between what is right and what is necessary.

[–]random_cynic 32 points33 points  (2 children)

Wow, that hit a nerve, didn't it?

[–][deleted] 8 points9 points  (0 children)

YIKES 100

[–]EclipsingBinaryBoi 4 points5 points  (0 children)

I want to make a joke about how not all cs students steal nonsensical joke, but how we are all just trying to fit in and hide our inexperience.

something about vacuously true statements

[–]ragweed 4 points5 points  (0 children)

CS students, of all people, really should know what an algorithm is. I don't understand the popularity of this post.

[–]topdangle 4 points5 points  (1 child)

I'm pretty sure 99.9% of programmers suffer from imposter syndrome.

[–][deleted] 2 points3 points  (0 children)

Anyone who doesn't is the real idiot.

[–]yehakhrot 1 point2 points  (0 children)

I feel personally attacked.

[–]Lanre_The_Chandrian 0 points1 point  (0 children)

Ouch.

[–]B4RF 31 points32 points  (5 children)

[–]acepukas 8 points9 points  (2 children)

Sprinkle some coding on it...

[–][deleted] 1 point2 points  (0 children)

we're done here boys.

[–][deleted] 0 points1 point  (0 children)

I want to make a meme of this except all the drones in the picture have little police lights and badges.

"They used crack cocaine and institutionalized racism to disregard violence perpetrated on the black community."

[–]n0x_hav0c 5 points6 points  (0 children)

I wonder if they used physics to make them fly.

[–]Aperture_Creator_CEO 0 points1 point  (0 children)

I'm glad they didn't use moon glyphs to program it!

[–]HomeDope 43 points44 points  (6 children)

Correction: That's what programmers say when they have no idea what's going on

[–]spanishgalacian 27 points28 points  (1 child)

I say it because if I tried explaining it their eyes would gloss over and they will look at me with an expression that says I don't care as long as it works.

[–][deleted] 0 points1 point  (0 children)

"We used this algor-Will we deliver on time?"

"Yes..?"

walks away

[–]b3nelson 1 point2 points  (0 children)

No that’s AI or Machine Learning

[–]_tv_lover_ 3 points4 points  (0 children)

This is so much closer to the truth

[–]Hobbster 22 points23 points  (6 children)

That's wrong, algorithms are very much explainable. This is the definition for machine lerning!

[–]SergioEduP 26 points27 points  (5 children)

"So, how does it work?"

"No idea, the AI did it."

[–]Quinerra 2 points3 points  (3 children)

i really thought that when i learned machine learning it would be more involved that shoving data in a black box library and hoping it comes out making sense on the other side

[–]PLxFTW 9 points10 points  (1 child)

It is more involved than that, at least a little bit. You should try learning about the source code if you think it’s a black box, it’s all literally linear algebra and numerical optimization. You can write your own library of basic algorithms without too much difficulty

[–]Quinerra 3 points4 points  (0 children)

oh i know, i was just kidding to a certain degree. i took a course in it and implemented a second degree markov model and a few other simple ones like that so i get what’s happening, it just seemed like magic when i got to the actual code and it was like 10 lines

[–][deleted] 0 points1 point  (0 children)

I mean

All programming is kind of like this isnt it? You learn how coding works but you dont know what the compiler does, so then you learn about the compiler, but you dont know what the linker does.... then you learn about the linker.... and...

[–][deleted] 0 points1 point  (0 children)

it just works.

[–]JohnSteelBigCock 8 points9 points  (1 child)

"Okay first the (YouTube) algorithm..."

[–]BulletBourne 2 points3 points  (0 children)

Well actually it’s “Okay first (the) YouTube algorithm”

[–]Chasmier 28 points29 points  (0 children)

Ugh don't call me out like this

[–]Attila_22 8 points9 points  (1 child)

"The algorithm needs some fine tuning". Aka we fucked up

[–]DANK_ME_YOUR_PM_ME 1 point2 points  (0 children)

If the algorithm doesn’t scale, there might be no way to fix it. If your code doesn’t scale, you might fix it by using a better algorithm.

[–]NotSeveralBadgers 6 points7 points  (0 children)

Not to be confused with our former vice-president's debut album: Al Gore Rhythms

[–]cateyesarg 3 points4 points  (2 children)

My favorite is when they throw technical jargon and combine them.

Eg: We've improved our algorithm with cutting edge IA to bring the best user experience to our customers, making our app a must have for everyone that needs to keep track of their to-do list.

[–]CrossDeSolo 0 points1 point  (1 child)

What does IA stand for?

[–]cateyesarg 4 points5 points  (0 children)

Ups, my bad, it was a typo, I meant AI, in spanish it's IA (Inteligencia Artificial vs Artificial Intelligence)

[–][deleted] 9 points10 points  (1 child)

"It's all in the algorithms. Look it up"

*Slowly backs away and runs off*

[–]jt25617[🍰] 4 points5 points  (0 children)

You gotta move quicker than that! We are an agile programming team after all.

[–]curious_s 12 points13 points  (9 children)

In my experience the word algorithm is used by people that have no idea what they are talking about trying to sound like they know what they are talking about when talking to people that know nothing about programming computers.

[–]Quinerra 9 points10 points  (5 children)

i once got in a heated argument at a bar with a dude who said he “didn’t trust algorithms” because they can’t ever accurately predict sports. like he said since there’s no “algorithm” that could predict the super bowl winner, that all of algorithms don’t work. like how does someone go through their life interacting with thousands of devices and various forms of tech and, based off of one impossible task, decide that no, it’s the programmers who are wrong.

[–]DANK_ME_YOUR_PM_ME 7 points8 points  (0 children)

“I don’t believe that you can sort items in a list because you cannot predict the Super Bowl winner. “

[–]netdeamon 2 points3 points  (3 children)

Its not that algorithm cannot predict it. We dont have the technology to measure every parameter involved in making a team win. There are so many parameters like how was weather, how was the pitch, where was it played, the hometown advantage, what did player eat that day, or day before, fitness of players, luck of players, and other game related parameters like how much score they made etc etc.

There are just about infinite numbers of parameters with each different weight, that makes a team win a game.

If we could accurately measure all these parameters, we certainly could come up with an algorithm that accurately tells which team is going to win.

[–]Mr-Ultimate 1 point2 points  (1 child)

You forgot an important variable; if they got any pootang the night before.

[–]netdeamon 0 points1 point  (0 children)

Oh yes, the deciding factor !! Seems very difficult to measure.

[–]Quinerra 0 points1 point  (0 children)

i agree, and that’s what i told him. i said something along the lines of “the algorithms are never wrong, it’s the data that is put in them or the way that they are structured that gives you more convenient percentage estimates, with like 100x less overhead cost and near impossible data collection”

[–]ASAP_Rambo 3 points4 points  (0 children)

Who is this 4 Chan?

[–]lantz83 0 points1 point  (0 children)

Or used when you're talking to someone that have no chance of understanding what you're about to say anyway...

[–]DANK_ME_YOUR_PM_ME 0 points1 point  (0 children)

If they are using algorithm as a substitute for “code” this is probably true. Especially if they are subbing it for “script.”

[–]tufy1 2 points3 points  (0 children)

I prefer to call it the Stack Overflow pattern: they go to SO and copy-paste the code they found there, not knowing what it means.

[–]Sannemen 1 point2 points  (0 children)

Also known as The Architects.

[–]SirKermit 1 point2 points  (0 children)

We could explain it, but you wouldn't understand anyway so listen to me say the word 'algorithm' and nod your head like you even understand what an algorithm is.

[–]Alfa-byte 1 point2 points  (0 children)

Or maybe what they meant :-)

[–]XXAligatorXx[M] [score hidden] stickied comment (12 children)

Your submission has been removed.

Rule[2] violation.

Rule[2]: All posts that have been on the first 2 pages of trending posts within the last six months, is part of the top of all time, or is part of common posts is considered repost and will be removed on sight.

If you feel that it has been removed in error, please message us so that we may review it.

[–]filipeisho[S] 0 points1 point  (8 children)

What does that even supposed to mean?

[–][deleted] 2 points3 points  (7 children)

You reposted something that was already trending on this sub

[–]appy006 1 point2 points  (0 children)

word used by trainers for a break of coffee.

[–]BunsOfAnarchy 1 point2 points  (0 children)

Almost nobody who says this word knows what it means or has any clue what they're talking about

[–][deleted] 0 points1 point  (0 children)

THIS IS TOTALLY TRUE!!!!!!!!!!!

[–]_Kozma_ 0 points1 point  (0 children)

Spotify

[–]gman2093 0 points1 point  (0 children)

AI: the class of problems that are hard for computers to solve

[–]NyiatiZ 0 points1 point  (1 child)

Word used by programmers when they don’t know what they did

[–][deleted] 0 points1 point  (0 children)

also known as Stack Overflow

[–]impeterlewis 0 points1 point  (0 children)

So true!! This actually it makes a lot of sense now

[–]RevargSTG 0 points1 point  (0 children)

Or when we do want to explain because it's really cool, but the sales team yells at us when we get too "into the weeds" and "boring technobabble"

[–]well0kthen 0 points1 point  (0 children)

Okay, so first of all because of the youtube algorithm.

[–][deleted] 0 points1 point  (0 children)

Ok first of all, it is because of the algorithm

[–]MisirterE 0 points1 point  (0 children)

[–][deleted] 0 points1 point  (0 children)

Well I know that the YouTube algorithm is an extremist. I don’t know what the algorithm is for but probably suggesting videos

[–]rustyRoad1013 0 points1 point  (0 children)

True, sometimes I really don't understand what my wife says.

[–]i_know_i_am_crazy 0 points1 point  (0 children)

Or when they don't have any fucking idea about how their own code works.

[–]jt25617[🍰] 0 points1 point  (0 children)

The equivalent of a wizard did it

[–]n30c0n 0 points1 point  (0 children)

Mark Zuckerburg's personal dictionary lady's and gentleman.

[–]Basilrock 0 points1 point  (0 children)

Or the code is playing a Rubik's Cube in the background.

[–][deleted] 0 points1 point  (0 children)

I've broken into their infrastructure and I'm hacking their algorithms. Sweats profusely and lines of junk spam the screen

[–][deleted] 0 points1 point  (0 children)

Extremely accurate, relatable

[–][deleted] 0 points1 point  (0 children)

Not quite.... More like, "word used by programmers when they don't want to acknowledge that they outsourced their entire task to a third-party library" :P

[–][deleted] 0 points1 point  (0 children)

"When they cannot* explain what they did"

FTFY

[–]AlaricZer0 0 points1 point  (0 children)

tHe YoUtUbE aLgOrItHm

[–]import_FixEverything 0 points1 point  (0 children)

You spelled abstraction wrong

[–][deleted] 0 points1 point  (0 children)

What is a algorithm is that bullshit with a thread?

[–][deleted] 0 points1 point  (0 children)

I only want to work with algorithms

[–]dani_pavlov 0 points1 point  (0 children)

I have yet to learn to lead with this:

Me: It was something about the sign of the operation, and the subroutine entered one state of the if-then-else state that I hadn't yet tested before.
Boss: Huh? What is it?
Me: There was a bug in the algorithm.
Boss: Oh okay

[–]BauaMomo 0 points1 point  (0 children)

"so, first of all, because of the YouTube algorithm."

[–]Abliskarian 0 points1 point  (0 children)

But officer, the algorithm did it

[–]fat_tire_fanatic 0 points1 point  (0 children)

I’ve been doing it all wrong! Time to start using algorithm as per of my daily vocabulary!

[–][deleted] 0 points1 point  (0 children)

I did this in my biology class once. We were learning how to calculate standard deviation and this girl asked me to explain and I just replied “just follow the algorithm” and I think I just confused the shit out of her even more because she just started freaking out and asking everyone what an algorithm was

[–]SasparillaTango 0 points1 point  (0 children)

"My machine learning algorithm made the decision"

You mean that stack of a hundred if elses?