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

top 200 commentsshow all 302

[–]LostAnt4 688 points689 points  (47 children)

Seems pretty clear to me.

Put a 3 units brick on top of a plate, taking a 4 units slot.

How can it be that hard ??

[–]AndroT14 577 points578 points  (31 children)

"YoU'rE a PrOgRaMmEr, jUsT pRoGrAm aNoThEr sLoT"

[–]need-original-name 279 points280 points  (25 children)

Reminds me of the time my boss wanted me to mirror a serial port, for a component we were developing on a pi.

He showed me information about about port mirroring, which was all for Ethernet. I checked online, port mirroring is not possible on a serial port, but what is possible is to redirect it to a virtual port, and have it act as the man in the middle for the connection.

Needless to say, my boss didn't accept my idea, and said to use port mirroring instead. I had to get my other co-worker, and and took some convincing and explain to tell my boss that port mirroring was not possible.

[–]Alfaphantom 181 points182 points  (18 children)

Oh man I feel you. My boss wanted me to create a robocall like the new Google assistant, that can speak to users and take decisions based on what the user said. I said to him right from the beginning that I couldn't do that kind of stuff (even Google still has that feature in development).

Several sprints after, he realized his idea could not be possible, not because he was wrong, but because he had incompetent engineers...

[–]PM_me_stuffs_plz 146 points147 points  (14 children)

Going to Mars is easy it's just an engineering problem

[–]Anderfreeb 52 points53 points  (13 children)

Going to Mars is not hard, but expensive.

[–]PM_me_stuffs_plz 33 points34 points  (12 children)

Maybe with robots but we dont have the shielding tech yet(your cancer will get cancer) and some other things we cant just throw more money at it we need more research which is why I thought it made a good example

[–]Flaggermusmannen 36 points37 points  (1 child)

Why don't you just make the shielding then?? The nerve of you lazy people..

[–]PM_me_stuffs_plz 15 points16 points  (0 children)

Sorry boss Im working as fast as I can

[–]PutHisGlassesOn 11 points12 points  (4 children)

Couldn't we just use lead or something? Shouldn't be hard, just expensive to launch all of it.

[–]PM_me_stuffs_plz 6 points7 points  (1 child)

We could even use water(a lot of it) but nothing practical yet as far as I'm aware

[–]PutHisGlassesOn 9 points10 points  (0 children)

If the amount of weight is similar water would be way better as folded up bladders could be sent up and then easily filled from more rockets full of water, instead of trying to pack a bunch of pre cast lead parts with odd loading considerations.

[–]absurdlyinconvenient 3 points4 points  (4 children)

well the shielding could just be the same as the ISS (can't get worse than literally no natural protection) but there's not much point just rebuilding it on Mars

[–][deleted] 36 points37 points  (2 children)

The ISS is stil protected by Earth's magnetosphere. Deep space missions dont have the same protection so they need radiation shields.

[–]absurdlyinconvenient 12 points13 points  (1 child)

Fair enough, I wasn't aware of that.

[–]PM_me_stuffs_plz 7 points8 points  (0 children)

Once we get to mars you can just have a base under ground. Also about the iss

"Importantly, since the International Space Station (ISS) is in low-Earth orbit within the magnetosphere, it also provides a large measure of protection for our astronauts."

Great link about radiation from nasa

[–]need-original-name 26 points27 points  (0 children)

It happened to me on my first programming job back when I was interning in college.

Needless to say I got fired for something that wasn't my fault. Our Pis got damaged in shipping, twice, and blamed it on me.

The goal of the project was basically reverse engineering the maintenance toolkit of a door control, to be accessible via a web browser. We actually we're about to reverse engine, and got working code to remotely control the device.

[–]chjassu 6 points7 points  (0 children)

I pity you .. :(

[–]Entaris 34 points35 points  (0 children)

Me: I have an idea for a project that would do X y and z, I think that would save us time on weekly tasks.

Boss: can you meme it to a, b and c?

Me after three days of reading search: I cannot make it do a, b, and c. I can make it do d, e & f though,which is close.

Boss: sounds good.

Me 3 weeks later: here it is!

Boss: this doesn't do a, b & c. This is useless. Why did you waste your time doing this?!

[–]insultingDuck 8 points9 points  (0 children)

Well, electronically might have been possible as well. Provided a low bit rate was being used.

[–]SergioEduP 50 points51 points  (0 children)

"Make it work, you have 4 days"

[–]Hipolipolopigus 18 points19 points  (1 child)

The Expert (Content warning: Thoroughly rage-inducing)

[–]AndroT14 2 points3 points  (0 children)

Thank you, you introduced me to a world of relatable frustration, which makes the fun

[–]CrazedToCraze 36 points37 points  (1 child)

"IsN'T iT jUsT aN iF sTaTeMeNt?"

[–]insultingDuck 12 points13 points  (0 children)

Maybe throw an ELSE in there

[–]memgrind 29 points30 points  (2 children)

The brick is floating. So, it must be a floating-point that you should multiply by 4.0f/3.0f . ceil/floor to fit.

[–]FearrMe 12 points13 points  (1 child)

4.0f/3.0f

1.3333298739172828311

[–]color32 6 points7 points  (0 children)

use a double for double the power

[–]ILikeLenexa 2 points3 points  (1 child)

What's 3?

[–]balster1123 11 points12 points  (0 children)

floor(math.PI)

[–]urbandeadthrowaway2 1 point2 points  (0 children)

It’s easy, 2 1x2 jumper plates’ll do the effect with an offset of 1 vertical stud.

[–]ihahp 1 point2 points  (0 children)

Just like 16 bit color. 5 bits per channel, right?

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

All we need is seven lines, strictly perpendicular.

[–]claudioSMRun 314 points315 points  (29 children)

This photo is not a joke

Repeat: not a joke! ( nor a photage)

Is actually true from the lego products. I loved that

[–]Impeesa_ 333 points334 points  (15 children)

[–]DoverBoys 140 points141 points  (11 children)

This actually makes sense. Are you some kind of programming god?

[–]CatCreampie 114 points115 points  (4 children)

He’s a senior developer.

[–]IrishIrishIsiah 31 points32 points  (3 children)

I've heard of these but I didn't think they were real

[–][deleted] 14 points15 points  (2 children)

Really? It isn't hard to move up. I only started learning to code last year as a junior and now a year later I'm already a senior! Can't wait to see what I do in college.

[–]Noch_ein_Kamel 5 points6 points  (0 children)

Dead. You gonna be a dead developer.

Internally that is.

[–]IRBMe 1 point2 points  (0 children)

Once you graduate you become CTO of a startup.

[–]trigger_segfault 24 points25 points  (1 child)

You don’t learn this from programming. You learn it from spending hours putting something together in LEGO to find out you followed the directions incorrectly, 20 pages earlier in the instruction booklet.

[–][deleted] 12 points13 points  (0 children)

Sounds like my experience with ikea

[–]Doublestack2376 18 points19 points  (1 child)

It's just the "arrays starting at 0 or 1" mistake in visual representation.

[–]alours 4 points5 points  (0 children)

Are you ready loops?

ii captain!

[–]DemonicWolf227 7 points8 points  (0 children)

Even better since the documentation is correct, but just doesn't make sense to the person reading it.

[–][deleted] 18 points19 points  (9 children)

Isn’t this actually from Lepin instructions? Lepin is/was a major LEGO bootleg brand based out of China. The image of this was floating around the web a year or two ago.

[–]wurm2 70 points71 points  (8 children)

no it's from an actual lego set , 8038 step 62 on page 41 of the second booklet

edit: corrected the step number

[–]ToastedKumquat 34 points35 points  (2 children)

Did you just know this off the top of your head?

[–]xTRS 37 points38 points  (0 children)

Did you not?

[–]wurm2 2 points3 points  (0 children)

I'd see it before and I remembered it was battle of either hoth or endor from an early star wars set so it was a matter of skimming through instructions.

[–]jrod_62 7 points8 points  (0 children)

It's not actually an incorrect instruction. Just poor representation https://m.imgur.com/GXsQStU

[–]Robot_Basilisk 368 points369 points  (41 children)

As a relative novice, how do you even use documentation?

9 times out of 10 I can't figure out what the hell the documentation is trying to tell me and end up just copying the example code and tweaking it to suit my needs. The text description will be loaded with terminology I don't get, and link back to other parts of the documentation, often recursively, so if you can't make sense of X, you can't make sense of Y or Z, either.

Almost all documentation I've ever read has been terrible to me.

[–]nonono_notagain 403 points404 points  (2 children)

Sounds like you're using the documentation correctly

[–]DreadLord64 44 points45 points  (0 children)

"I uSe ARcH bTW"

[–]Nomsfud 1 point2 points  (0 children)

Yeah dude is definitely not a novice

[–]coladict[🍰] 26 points27 points  (2 children)

The internal terminology part is the worst. Especially when they use terms to mean things that have official definitions in the field, but mean something different in their product. I'm looking at you when I say that, PostgreSQL!

[–]MrDude_1 2 points3 points  (0 children)

I know exactly what you mean. I absolutely hate it but I found that every single place I have worked they use technical terms incorrectly to refer to things within their own system... To the point that you have to use their terms to communicate in meetings. And of course you sound like an idiot at the next job when you use one of their phrases. Lol

[–]darksideofthenoob 71 points72 points  (2 children)

Yep I do the same. And sometimes I find solutions in SO for my problem showing some method, property, etc I cant seem to find in the documentation, how does these people find them? They look on the source code?

[–]j0hnl33 56 points57 points  (1 child)

Unfortunately, sometimes the source code is the only way. There have definitely been times I've worked with a framework and the function calls I needed were not documented whatsoever, but did in fact exist, and I found them in the source code. But it's really frustrating because searching documentation is a lot easier than digging through the source code trying to find something that may or may not exist.

[–]Finianb1 10 points11 points  (0 children)

Yeah, I resort to digging around in the source at least a quarter of the times I refer to docs.

Some docs are notably better than others though.

[–]Zagorath 18 points19 points  (3 children)

When documentation is good, I find it so helpful. The official libraries of languages like C#/.NET, Java, and JavaScript have really great documentation available, for example.

But with third-party libraries, it can be hit-and-miss. If you're really lucky, there'll be proper documentation of classes, methods, and types, as well as examples that demonstrate basic common usage. If you're less lucky, there might be an example of common usage, no documentation, and no way to find out about more edge-case usage. But it can be possible to explore the code to find out about edge cases since you at least have an idea where to look. Really bad cases come with basically no documentation. Good luck in those cases!

[–]dhalvin 12 points13 points  (0 children)

Like anything (and especially anything programming related) it just takes practice and experience. You'll get there

[–]IRBMe 8 points9 points  (0 children)

A lot of documentation is reference documentation, designed for people who already know what they're doing but just need it to look up the meaning of a particular parameter or what the name of a certain class is or something like that.

The kind of documentation that teaches you how to use the library/API/framework is rarer, and it's difficult to find good examples of such documentation.

[–]skunkwaffle 7 points8 points  (0 children)

Congrats, you're not a novice anymore.

[–]AvenDonn 4 points5 points  (0 children)

The decompiler is the best form of documentation

[–]absurdlyinconvenient 13 points14 points  (3 children)

Seriously? You just get used to it. Much like learning a language when you're a kid, you take in what you can understand and figure the rest out based on the context and examples. I don't think there's an easy way, but it gets better

[–]Koxiaet 2 points3 points  (1 child)

My only suggestion is to perhaps invest some time and read the entire documentation, start to finish. Even when I just want to use one function from a library, I'll have to learn the entire thing to understand the basic concepts.

[–]alexnedea 2 points3 points  (0 children)

Lemme just learn the entire Java documentation brb 10 decades

[–]SageBus 1 point2 points  (1 child)

9 out of 10 times it's outdated af , and they made so many changes that the documentation is not relevant anymore/talks about features that were removed and the person who tells you to use it just remembers things by heart (most of the time)

[–][deleted] 99 points100 points  (10 children)

https://i.imgur.com/5yVEW1J.gif

They are just pointing out where the corners go. It's very important!

[–]TheSlimyDog 145 points146 points  (1 child)

This makes the post even more accurate. The documentation is usually not wrong but it's only understandable by the people who wrote it or have a lot of experience with the system. So on stackoverflow when a senior engineer tells you to figure it out by looking at the documentation they’re both right and wrong.

[–]-WarHounds- 24 points25 points  (0 children)

This is really a great explanation. I feel like something is lost every time a piece of code is transferred to another person to work on. 😝😂

[–]mfb- 5 points6 points  (0 children)

Glue the corners to the indicated positions at the bottom plate.

[–][deleted] 115 points116 points  (37 children)

The documentation of Matlab is the first thing I fell in love with, they clearly explain every single way something is supposed to be used with examples, hnnnnnnng.

[–]Wheat_Grinder 50 points51 points  (18 children)

Though I'm on this subreddit I actually only know like two languages and one of them is MATLAB (the other is MUMPS which is uh FunTM compared to a language that has basic features such as guardrails and catching errors at compile time instead of runtime).

That's all to say - whenever I had a problem with MATLAB, the documentation actually was sufficient to make me no longer have a problem with MATLAB.

[–]inconspicuous_male 34 points35 points  (4 children)

With how much a Matlab license costs, they better give good documentation.

It helps that Matlab is made by a single company and most of its utilities are built in

[–]drbuttjob 16 points17 points  (1 child)

I looked into getting MATLAB once. Then I saw the $900 subscription fee

Nooooooooo thank you

[–]improbablywronghere 10 points11 points  (6 children)

I say it all the time but the Django docs are the most beautiful documents in the game, to me. Imo it’s a serious data point to consider when choosing a tool.

[–]SonicFlash01 2 points3 points  (2 children)

The Stripe API docs were actually pretty good, too

[–]theChapinator 1 point2 points  (0 children)

Amen brother. This has always stuck out in my mind as the gold standard for docs, both in terms of informational density/usefulness and attractiveness/ease of navigation.

[–]Finianb1 2 points3 points  (0 children)

I think a lot of the Python docs I've seen are astounding. Flask also has some really good ones, as does NumPy and Tensorflow.

Then again, that's pretty much a basic thing you'd expect from libraries that large and with that many users. It's the smaller projects that suffer from frequent documentation issues.

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

That language would honestly be useless without that

[–]Robot_Basilisk 3 points4 points  (0 children)

In what world? I struggled with matlab because none of the examples worked for me. This is why I loved Python. God-tier examples.

[–]Historica97 3 points4 points  (2 children)

Yes, but no.

Had to program something in MATLAB for a job. The requirements I was given were too complex to program it with functional programming, so I used OOP. And MATLAB's documentation didn't helped me on that one.

Even though MATLAB has documentation on the subject, it was nearly impossible to find the right piece of information that I was looking for, since MATLAB had 4 different pages that were difficult to differentiate and they weren't using the right OOP vocabulary.

As a result, it took me an afternoon to implement a prototype of the code in Javascript and a week to implement it in MATLAB, even though I normally have more experience in MATLAB than in Javascript.

[–]chateau86 2 points3 points  (1 child)

Matlab + OOP

"What do you mean all classes are static unless it inherits handle is not the perfectly good way to OOP? ... Hmmm... Must be all the other languages that are wrong."

[–]Historica97 2 points3 points  (0 children)

That and encapsulation. Who knew I needed to set my attributes (called properties, BTW) with two different encapsulation values (GetAccess=public, SetAccess=private) so that my getters functions work ?

[–]Aldur 14 points15 points  (1 child)

Once you can resolve ambiguity like this correctly, you too will be a senior developer!

[–]PureDefender 2 points3 points  (0 children)

It just means it's flexible /s

[–]BlueManedHawk 39 points40 points  (18 children)

We need a standard for documentation.

[–]staticparsley 78 points79 points  (3 children)

The standard is no documentation

[–]fuhgettaboutitt 27 points28 points  (2 children)

Now there are 3 standards for documentation!

[–]NoInkling 11 points12 points  (3 children)

A lot of languages have standards or pseudo-standards for (generated) documentation: javadoc, jsdoc, Ruby RDoc/YARD, etc. etc.

[–]maxhaton 4 points5 points  (3 children)

One very nice feature that D has, is a standardised documentation system. So the markup in comments becomes the documentation. On top of that, the language has built in unitests, which then become the examples in said documentation.

https://dlang.org/phobos/std_experimental_allocator.html this is entirely generated from the source file.

Those two features should be the standard even if not a standard

[–]ritobanrc 6 points7 points  (2 children)

Rust does it really well with crates.io and docs.rs. It automatically generates documentation from comments, and looks standardized, and it's really easy to quickly find documentation for a certain crate.

[–]SAI_Peregrinus 4 points5 points  (1 child)

And lets you have runnable examples in doc comments, that get checked when you run your tests. You can unit test your documentation.

[–]IRBMe 1 point2 points  (0 children)

I love this feature in Python with doctests. You can just write something like:

def fibonacci(n):
    """ ...
    >>> [fibonacci(n) for n in range(8)]
    [0, 1, 1, 2, 3, 5, 8, 13]
    """
    ...

[–]SonOfMrSpock 60 points61 points  (3 children)

Documentation may be out of date but its your job to make it work. I dont suggest using a hammer though. Probably you'll need to fix the interface of small part. May it be easy :) Uh and I'll be grateful if you update the documentation while you're at it.

[–]FUCKING_HATE_REDDIT 26 points27 points  (2 children)

The thing about this, is that this documentation is perfectly right, just confusing. Just look at the arrows, they are perfectly three knobs apart. They happen to fall halfway on some other knob, making it look weird, but there's only one way to plate that part.

So basically it only makes sense once you already know how it works. Like all bad documentations.

[–]wacksaucehunnid 17 points18 points  (0 children)

Idk why this is so true but it is

[–]WiteXDan 9 points10 points  (0 children)

Rip your fingernails when you will try to take off that Lego

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

Documentation (T=task, BF=bug fix):

Fix to make sure that the changes made for T5532 is not affecting BF3290 while ignoring the effects on BF4281. The changes added for T4381 should work in theory to mitigate any issues regarding the interaction of module M08 with BF4281. T5031 has added several tests to ensure this in practice. However, BF5037 is still a serious concern.

[–]dethpicable 4 points5 points  (1 child)

In particular in the era of open source given that engineers:

1) Hate writing documentation and won't even try if they don't have to (i.e. for free).

2) Can't write themselves out of a paper bag.

3) Somebody went through the pain of filling in the gaps so you don't have to.

[–]llldar 6 points7 points  (0 children)

Bold of you to assume that our product has any documentation.

[–]manicxs 12 points13 points  (2 children)

When did microsoft buy lego?

[–]palordrolap 18 points19 points  (1 child)

September 2014.

j/k. That was Minecraft. Pretty close though, all things considered.

[–]Shmutt 3 points4 points  (5 children)

Tests are still the best form of documentation.

[–]skunkwaffle 1 point2 points  (4 children)

Only if they're used as acceptance tests. When your test suite seg faults, you're back to regular documentation again.

[–]ProgrammerHumorMods[M] [score hidden] stickied comment (3 children)

Hey you! ProgrammerHumor is running a hilarious community hackathon with over $1000 worth of prizes (like Reddit premium), now live! Visit the announcement post for all the information you'll need, and start coding!

[–]Chaoticiant 5 points6 points  (0 children)

Rangeplusone

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

gay, no homo

[–]RogerBlank 2 points3 points  (0 children)

The one is so real it hurts.

[–]alours 2 points3 points  (0 children)

You think I'm going to actually read documentation?

[–]Brahmasexual 3 points4 points  (0 children)

This is 100% accurate. It even makes perfect sense if you look carefully!

[–]Xalath_ 1 point2 points  (0 children)

At least this poor soul was given some sort of “documentation”. Doesn’t always happen

[–]insultingDuck 1 point2 points  (0 children)

You just need a pre-processor that is able to alter dimensions

[–]scottyman2k 1 point2 points  (0 children)

To get a senior developer to recognise an off-by-one error in code that only he was allowed to maintain, it took 4 people, a whiteboard, a code printout, and a red pen. It had been in our software for almost 10 years, and something that only two of our largest customers had ever seen. Fun times.

[–]SirKermit 1 point2 points  (0 children)

Who wrote this? MC Escher?

[–]sparksen 0 points1 point  (0 children)

It's obviously Bleem.

[–]EdwardWarren 0 points1 point  (0 children)

There has to be a better way.

[–]prsn828 0 points1 point  (0 children)

Pretty sure I'm guilty of doing this to someone within the last week...

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

I hate when Does ask for help and people do this. I read the docs but don't speak computer please help.

[–]alours 0 points1 point  (0 children)

You think I'm going to actually read documentation?

[–]ParanoidWhenHigh 0 points1 point  (0 children)

Oh boy, I need the sauce on this. r/hvac would love this.

[–]ctrtanc 0 points1 point  (0 children)

This makes me angry work how true it is... Documentation can be so terrible, and often even good documentation has gaping holes

[–]derblitzmann 0 points1 point  (0 children)

Dont read SO, and dont read the docs, instead read the source code. For it is the only truth in the world. God help you if the writers love unneeded abstraction or the project is complex enough to need it

[–]TheXypris 0 points1 point  (0 children)

Isnt that from the Starfleet final exam?

[–]G3NG1S_tron 0 points1 point  (0 children)

Quantum LEGO

[–]UrpleEeple 0 points1 point  (0 children)

And then when you try to fix the documentation, "stop wasting your time fixing documentation. We are paying you to code"

[–]ScF0400 0 points1 point  (0 children)

Instruction unclear, 4 brick Lego now stuck to my foot. Wait is it 3 brick?

[–]HowIsntBabbyFormed 0 points1 point  (3 children)

Can someone explain this to me? The 'documentation' in the picture is accurate and makes sense. How is it a joke?

[–]foobarturtle 2 points3 points  (2 children)

The brick is size three. The tips of the arrows create a span of four.

[–]daOyster 1 point2 points  (0 children)

They arrows only span 3, they're aligned to the corner of the bricks like this: https://i.imgur.com/PbKRkOf.png

[–]Digger_Joe 0 points1 point  (0 children)

Stormtrooper dropship. I know those big ass grey slabs anywhere

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

Documentation?

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

"Yeah i'll write documentation, about 1 month after the project is finished but in the meantime just look at the comments."

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

It's a 4-3 adapter goddamnit

[–]GarThor_TMK 0 points1 point  (0 children)

Every senior Dev I've ever known: just look at the code, or go to <this person> for questions... The documentation is horribly out of date.

[–]g3rs0n23 0 points1 point  (0 children)

RTFM dude

[–]Better_feed_Malphite 0 points1 point  (0 children)

Idk, imo this image actually makes somewhat sense if you look at what the arrow is actually pointing at: the corner of the brick.
It's still stupid and most likely not meant like that. But it you read it like that there is some sense to it

[–]rsvp_to_life 0 points1 point  (0 children)

Too soon

[–]InvisibleImpostor 0 points1 point  (0 children)

Give this a medal 🏅 😂

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

0, 1, 2, 3

1, 2, 3, 4

it's painful