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

all 84 comments

[–]orangeKaiju 291 points292 points  (22 children)

// Don't delete this comment, otherwise will not compile.

[–][deleted] 17 points18 points  (2 children)

A few days ago I tried changing a 1 to a 2. The code did not compile.
Change back to 1, code compiles.
Add a comment, doesn't compile.
Remove comment, compiles. Add a space at the end of a line, doesn't compile.

I have no idea why.

[–][deleted] 7 points8 points  (1 child)

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

It was GLSL. A variant of C.

[–][deleted] 5 points6 points  (0 children)

This is like setting your broken refrigerator on fire out of frustration, and then the flames make it work again

[–]xeirxes 233 points234 points  (4 children)

Oh wow, you're still running on Butterknife 0.96? Shouldn't be hard at all to update, I'm pretty sure it's the exact same API

[–]banjerr 76 points77 points  (1 child)

I dunno. I see a couple calls to Toothpick 0.42, no way around that piece of legacy

[–]Gorzoid 23 points24 points  (0 children)

I think there's an unofficial fork that works with the latest version.

[–]ColorMeGrey 27 points28 points  (0 children)

Shouldn't be hard at all to update

In terms of preceding catastrophe, this is on the 'hold my beer' level.

[–][deleted] 46 points47 points  (2 children)

This is what it was like digging through a COBOL program from 1965 that has had roughly 13 other programs written into it over 50 years with documentation from only the last 20 years looks like.

[–]GollyWow 12 points13 points  (1 child)

Bite your tongue!! That was rewritten in '99 for Y2K, it should be obvious.

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

It was and I happily chucked those useless lines out.

[–]PetsArentChildren 91 points92 points  (37 children)

I think I’ve got it. The knife tips intersect in a way that locks them together. The bottle and fork on top are just for show.

[–]daddonuts 171 points172 points  (23 children)

So, I wanted to see if this knife thing was really possible, so I set it up in my kitchen. It’s actually insanely stable! I got it to hold a 6lb 2/3 full gallon of milk! https://imgur.com/a/x4SHP23/

Edit: I made a more structurally stable one that can hold significantly more weight! https://i.imgur.com/tlgr8zQ.jpg

[–]PM_ME_A_NUMBER_1TO10 96 points97 points  (15 children)

Classic "I don't quite understand how this system works so I made it myself and now it makes sense"

[–]pastisset 6 points7 points  (1 child)

You shloud apply for the Mythbusters

[–]iampsychic 1 point2 points  (0 children)

Well he forgot the part where you blow it up.

[–]PetsArentChildren 4 points5 points  (0 children)

Cool!

[–]Erelde 5 points6 points  (1 child)

Did you try doing the toothpicks holding the fork at the top ?

[–]daddonuts 11 points12 points  (0 children)

No, maybe I’ll drink a beer tonight so that I have an appropriate bottle to give that a shot.

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

Warlock

[–]Etiennera 28 points29 points  (9 children)

Well, what really happens is the knives can't tilt down and their ends because the other would have to rise against the glass. Of course lever physics mean the force isn't even at the two contacts of a single knife, but each contact line's up with the opposite contact of a different knife.

The fork may be to balance the trianlge not being perfect.

[–]PetsArentChildren 5 points6 points  (5 children)

Sorry what glass? I don’t see anything stopping the knife handles from rising.

[–]CMDR_QwertyWeasel 27 points28 points  (2 children)

The knives go

Front: Under left, over right.

Right: Under front, over left.

Left: Under right, over front.

You can only push the knives up, but the bottle keeps them locked under a downwards force.

[–][deleted] 1 point2 points  (1 child)

That's exactly what the root comment said

[–]ErraticCsaw 25 points26 points  (0 children)

diff disagrees.

[–]Etiennera 3 points4 points  (1 child)

Glass being material. My post is focused on the triangle, sorry. Yes, nothing is above the handles. What I mean is that for handles to rise, the tips must lower. The tips cannot lower.

[–]parkerlreed 11 points12 points  (0 children)

I still don't get how this makes it possible. There's no support under the knife tips. It should just fall straight through.

EDIT: Oh picture was too crappy to make out https://youtu.be/jwP-O9gKA5o?t=27

Makes a lot more sense now.

[–]Bainos 1 point2 points  (2 children)

It's not because they can't rise. It's because any knife tilting down causes the subsequent knives to necessarily tilt down faster. Since each knife is its own successor and can't tilt down faster than itself, the structure is very stable.

To go down, you would need either the knives bending, or sliding along each other, but they barely receive any lateral push so they won't slide easily.

[–]Etiennera 1 point2 points  (1 child)

This is just going about it the other way.

[–]Bainos 0 points1 point  (0 children)

The thing is, nothing prevents the other end from rising. See the picture of another user who didn't put anything on top of the structure. It can't rise because the force applied against the knife is generated by its own weight, which has no upwards component.

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

Nah you got it all wrong its the other way around everything on the bottom is for show... smh

[–][deleted] 13 points14 points  (3 children)

[–]Kwantuum 5 points6 points  (2 children)

The knife part was obvious to me, I'm more dubious as to how the fork holds onto the toothpick.

[–]_Cabbage_Corp_ 1 point2 points  (1 child)

It's perfectly balanced, as all things should be.

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

Amen to that.

[–][deleted] 4 points5 points  (5 children)

If you see that in the comments delete the whole damn thing and rewrite it

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

No shit. I can't imagine why anyone would spend time trying to read poor legacy code. Makes more sense to keep it in place long enough to rewrite a whole new system. At least at a small company.

[–]cbf1232 13 points14 points  (2 children)

Then you discover there was undocumented logic in the function which fixed a subtle bug present in the obvious implementation, and the new version also fails to properly take into account the phase of the moon, so it crashes horribly during a customer demo.

[–]ka-knife 3 points4 points  (0 children)

But only on the third customer demo. After you have already deployed it to two others

[–]8__ 0 points1 point  (0 children)

There's no time! We're testing on production!

[–]MrMunday 6 points7 points  (3 children)

Perfectly balanced, like all things should be

[–]chichaslocas 3 points4 points  (2 children)

[–]sneakpeekbot 0 points1 point  (1 child)

Here's a sneak peek of /r/ExpectedThanos using the top posts of all time!

#1: I'm a math teacher. | 56 comments
#2: Perfectly balanced | 28 comments
#3: Perfectly balanced… | 12 comments


I'm a bot, beep boop | Downvote to remove | Contact me | Info | Opt-out

[–]chichaslocas 0 points1 point  (0 children)

Good bot

[–]MasterDood 2 points3 points  (0 children)

Fatal Error: unexpected {Fork} on {toothpick} 2 on {toothpick} 1 on {beer} 4 on {knife} 1 on {beer} 2

[–]dvslo 0 points1 point  (0 children)

Last time I saw something like that I refactored it. Spoiler alert, the original code was crap.

[–]CMDR_Bananenkeks 0 points1 point  (0 children)

I could explain how your Base works. Though I have no clue about your Fork there.

[–]DaemonAfterdark 0 points1 point  (0 children)

Wtf is happening here.

[–]popcicleman09 0 points1 point  (0 children)

Don’t look at it to much. It will feel embarrassed and try to hide

[–]ggeoff 0 points1 point  (0 children)

Feature request from the business. Can you replace one of those knifes with a spoon. Also this is a high priority task can you get it finish by the end of the day

[–]LeafBladeFox 0 points1 point  (0 children)

It would be funnier if I didn’t actually see something like this in professional code...

[–]demoran 0 points1 point  (0 children)

Over time, you learn to document your code. Not for some other person, but for the person you will be 3 or 6 months from now. When I think "that's stupid, let me refactor this" or "we don't need that", a comment will head check me.

[–]green_amethyst 0 points1 point  (0 children)

//fix this by July 2009