Skip to content

Instantly share code, notes, and snippets.

@aras-p
Last active April 12, 2024 17:24
Show Gist options
  • Save aras-p/6224951 to your computer and use it in GitHub Desktop.
Save aras-p/6224951 to your computer and use it in GitHub Desktop.
Things to commit just before leaving your job
// Just before switching jobs:
// Add one of these.
// Preferably into the same commit where you do a large merge.
//
// This started as a tweet with a joke of "C++ pro-tip: #define private public",
// and then it quickly escalated into more and more evil suggestions.
// I've tried to capture interesting suggestions here.
//
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
// @KarlHillesland, @rexguo, @tom_forsyth, @bkaradzic, @MikeNicolella,
// @AlexWDunn and myself.
//
// In case it's not clear: I am not suggesting you *actually* do this!
// Easy keyword replacement. Too easy to detect I think!
#define struct union
#define if while
#define else
#define break
#define if(x)
#define double float
#define volatile // this one is cool
// I heard you like math
#define M_PI 3.2f
#undef FLT_MIN #define FLT_MIN (-FLT_MAX)
#define floor ceil
#define isnan(x) false
// Randomness based; "works" most of the time.
#define true ((__LINE__&15)!=15)
#define true ((rand()&15)!=15)
#define if(x) if ((x) && (rand() < RAND_MAX * 0.99))
// String/memory handling, probably can live undetected quite long!
#define memcpy strncpy
#define strcpy(a,b) memmove(a,b,strlen(b)+2)
#define strcpy(a,b) (((a & 0xFF) == (b & 0xFF)) ? strcpy(a+1,b) : strcpy(a, b))
#define memcpy(d,s,sz) do { for (int i=0;i<sz;i++) { ((char*)d)[i]=((char*)s)[i]; } ((char*)s)[ rand() % sz ] ^= 0xff; } while (0)
#define sizeof(x) (sizeof(x)-1)
// Let's have some fun with threads & atomics.
#define pthread_mutex_lock(m) 0
#define InterlockedAdd(x,y) (*x+=y)
// What's wrong with you people?!
#define __dcbt __dcbz // for PowerPC platforms
#define __dcbt __dcbf // for PowerPC platforms
#define __builtin_expect(a,b) b // for gcc
#define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break
// Some for HLSL shaders:
#define row_major column_major
#define nointerpolation
#define branch flatten
#define any all
@dkfellows
Copy link

Can anyone think of something involving setjmp and longjmp? Trying to figure out something doable

Absolutely anything involving them is already excessively evil. Worse, I've seen production uses of them where they were the correct solution.

@antoniwalburg
Copy link

**Shameless you guys**

@Exmantion
Copy link

Exmantion commented Dec 13, 2022

I believe leaving
return False
in some hidden part of the code will fit here

@Starmania
Copy link

How to automate carts using redstone in minecraft ? Any help ?

Why are you doing here

@keithpl
Copy link

keithpl commented May 3, 2023

#undef printf
#define printf(...) fprintf(stderr, __VA_ARGS__)

@JJL772
Copy link

JJL772 commented May 30, 2023

Microsoft's STL will check for keyword redefinitions: https://github.com/microsoft/STL/blob/main/stl/inc/xkeycheck.h

#define _XKEYCHECK_H will ensure it never gets included though 😉

@mekb-turtle
Copy link

mekb-turtle commented May 31, 2023

#define exit(x) while(1)malloc(1000)

@maximal
Copy link

maximal commented May 31, 2023

@mekb-turtle, wow, that’s quite good!

Copy link

ghost commented Jul 8, 2023

#define malloc(x) alloca(x * (1 << 15)) 

Have fun smashing some stacks on heap allocations. :)

@Firsto
Copy link

Firsto commented Aug 29, 2023

why so cruel

@PackmanDude
Copy link

lmao

Copy link

ghost commented Sep 27, 2023

lmao
oh you got me i actually tested that. good job, outplayed me 👍

@0xae
Copy link

0xae commented Oct 18, 2023

lmao lmao

That's pure evill, pure.

@mekb-turtle
Copy link

#define malloc(x) malloc((x)-__LINE__)

@Journeyman1337
Copy link

#define malloc(x) malloc((x)-((rand()%100<98)?0:1))

@mekb-turtle
Copy link

mekb-turtle commented Feb 2, 2024

#define malloc(x) alloca(x * (1 << 15)) 

Have fun smashing some stacks on heap allocations. :)

#define malloc(x) malloc((x)-1)

@Stenzel
Copy link

Stenzel commented Feb 2, 2024

#define auto char

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment