| // 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 |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
nickiannone
commented
Aug 13, 2013
|
This file is pure evil. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
frkn
commented
Aug 13, 2013
|
Commits by Satan |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
CTrauma
Aug 13, 2013
MY EYES!! MY EYES!! THEY BURN!!! Never thought I would actually see Snow Crash.. I was wrong..
CTrauma
commented
Aug 13, 2013
|
MY EYES!! MY EYES!! THEY BURN!!! Never thought I would actually see Snow Crash.. I was wrong.. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gkaindl
commented
Aug 13, 2013
|
can I please have "#define struct union" on a t-shirt? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
TurkerTunali
commented
Aug 13, 2013
define yourself |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rlabrecque
Aug 13, 2013
I don't like a lot of these because almost all of them break things instantly. You need something that breaks things in a seemingly random fashion. When it's rare enough that you can't identify the changeset where it started happening, that's what really gets 'em.
rlabrecque
commented
Aug 13, 2013
|
I don't like a lot of these because almost all of them break things instantly. You need something that breaks things in a seemingly random fashion. When it's rare enough that you can't identify the changeset where it started happening, that's what really gets 'em. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
bkaradzic
Aug 14, 2013
define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break
bkaradzic
commented
Aug 14, 2013
define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ShadowIce
Aug 14, 2013
Still one of my favorites:
define EnterCriticalSection(p) ((void)0)
define LeaveCriticalSection(p) ((void)0)
(from http://blogs.msdn.com/b/oldnewthing/archive/2013/02/26/10396960.aspx)
ShadowIce
commented
Aug 14, 2013
|
Still one of my favorites: define EnterCriticalSection(p) ((void)0)define LeaveCriticalSection(p) ((void)0)(from http://blogs.msdn.com/b/oldnewthing/archive/2013/02/26/10396960.aspx) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
brianchasalow
commented
Aug 14, 2013
|
i love this so much. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
JulianSchmid
Aug 15, 2013
Dear god
define true ((rand()&15)!=15)
define if(x) if ((x) && (rand() < RAND_MAX * 0.99))
this would drive me insane
JulianSchmid
commented
Aug 15, 2013
|
Dear god define true ((rand()&15)!=15)define if(x) if ((x) && (rand() < RAND_MAX * 0.99))this would drive me insane |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
windytan
commented
Aug 15, 2013
|
Pure genius! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
KevinKnight
Aug 15, 2013
I think this adequately sums our feelings up: http://i1.kym-cdn.com/entries/icons/original/000/012/367/evilest.gif
KevinKnight
commented
Aug 15, 2013
|
I think this adequately sums our feelings up: http://i1.kym-cdn.com/entries/icons/original/000/012/367/evilest.gif |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
synther
Aug 15, 2013
// 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))
is the best part!
synther
commented
Aug 15, 2013
is the best part! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
chenyukang
commented
Aug 15, 2013
|
funny .. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
aespinoza
commented
Aug 15, 2013
|
This is EVIL! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
jaharkes
commented
Aug 15, 2013
define memcpy strncpy |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
infogulch
Aug 15, 2013
@rlabrecque: Fixed. Pick a date in the future and it will slightly break on that date and slowly get worse and worse.
Bonus: it won't affect performance until that date as well.
// Much cleaner version from: http://stackoverflow.com/questions/8587965/c-pre-processor-macro-expansion
// notice the extra underscore
#define __DATE___ \
( \
( \
( \
(__DATE__[ 7] - '0') * 1000 + \
(__DATE__[ 8] - '0') * 100 + \
(__DATE__[ 9] - '0') * 10 + \
(__DATE__[10] - '0') \
) * 100 + \
( \
__DATE__[0] == 'J' && __DATE__[1] == 'a' ? 1 : \
__DATE__[0] == 'F' ? 2 : \
__DATE__[0] == 'M' && __DATE__[2] == 'r' ? 3 : \
__DATE__[0] == 'A' && __DATE__[1] == 'p' ? 4 : \
__DATE__[0] == 'M' ? 5 : \
__DATE__[0] == 'J' && __DATE__[2] == 'n' ? 6 : \
__DATE__[0] == 'J' ? 7 : \
__DATE__[0] == 'A' ? 8 : \
__DATE__[0] == 'S' ? 9 : \
__DATE__[0] == 'O' ? 10 : \
__DATE__[0] == 'N' ? 11 : 12 \
) \
) * 100 + \
( \
((__DATE__[4] >= '0') ? (__DATE__[4] - '0') * 10 : 0) + \
(__DATE__[5] - '0') \
) \
)
// select some date in the future
#define true ( \
(__DATE___ >= 20140815) && \
(rand() < RAND_MAX - 100000 - (__DATE___ - 20140815)) \
)
// compose with others
#define if(x) if ((x) && true)TODO: I'm rather noob with c-preprocessor, if __DATE___ could be rolled into true you could #undef it and avoid the extra macro. One way would be to just copy it twice. It's not like we're going for readable code here.
infogulch
commented
Aug 15, 2013
|
@rlabrecque: Fixed. Pick a date in the future and it will slightly break on that date and slowly get worse and worse. Bonus: it won't affect performance until that date as well. // Much cleaner version from: http://stackoverflow.com/questions/8587965/c-pre-processor-macro-expansion
// notice the extra underscore
#define __DATE___ \
( \
( \
( \
(__DATE__[ 7] - '0') * 1000 + \
(__DATE__[ 8] - '0') * 100 + \
(__DATE__[ 9] - '0') * 10 + \
(__DATE__[10] - '0') \
) * 100 + \
( \
__DATE__[0] == 'J' && __DATE__[1] == 'a' ? 1 : \
__DATE__[0] == 'F' ? 2 : \
__DATE__[0] == 'M' && __DATE__[2] == 'r' ? 3 : \
__DATE__[0] == 'A' && __DATE__[1] == 'p' ? 4 : \
__DATE__[0] == 'M' ? 5 : \
__DATE__[0] == 'J' && __DATE__[2] == 'n' ? 6 : \
__DATE__[0] == 'J' ? 7 : \
__DATE__[0] == 'A' ? 8 : \
__DATE__[0] == 'S' ? 9 : \
__DATE__[0] == 'O' ? 10 : \
__DATE__[0] == 'N' ? 11 : 12 \
) \
) * 100 + \
( \
((__DATE__[4] >= '0') ? (__DATE__[4] - '0') * 10 : 0) + \
(__DATE__[5] - '0') \
) \
)
// select some date in the future
#define true ( \
(__DATE___ >= 20140815) && \
(rand() < RAND_MAX - 100000 - (__DATE___ - 20140815)) \
)
// compose with others
#define if(x) if ((x) && true)TODO: I'm rather noob with c-preprocessor, if |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
encolpe
commented
Aug 16, 2013
|
in Python, a very common one: object = None |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
smb02dunnal
commented
Aug 16, 2013
|
These could be a real pain to track down define double floatdefine delete |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mrThe
commented
Aug 16, 2013
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
maximal
Aug 17, 2013
These could be a real pain to track down
define double float
define delete
Oh shi—
maximal
commented
Aug 17, 2013
Oh shi— |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
danielbalster
commented
Aug 19, 2013
define memset(a,b,c) memset(a,c,b) // fun to debug |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
c023-DeV
commented
Aug 19, 2013
|
making list of whom never to em-ploy but rather de-ploy ... soldiers of code! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gwihlidal
commented
Aug 20, 2013
define memalign(alignment, size) memalign(size, alignment) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
dronir
commented
Aug 20, 2013
|
In Python, I'd go with
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
blaquee
commented
Aug 20, 2013
|
This gist is epic. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
schrotthaufen
Aug 20, 2013
/* create memory leaks if compiled on April, 1st */
#define free(x) if(strncmp(__DATE__, "Apr 1", 6) != 0) free(x)
schrotthaufen
commented
Aug 20, 2013
/* create memory leaks if compiled on April, 1st */
#define free(x) if(strncmp(__DATE__, "Apr 1", 6) != 0) free(x) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
d33tah
commented
Aug 20, 2013
|
I wonder what you could #define unlikely to. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
c0de517e
Aug 20, 2013
My contribution...
include
include
include
using namespace std;
struct NULL_C
{
template operator T_() { return (T_)12345; } // return somewhere past the 0 page
};
undef NULL
define NULL NULL_C()
int main()
{
cout << "Hello World" << endl;
char* x = NULL;
return *x;
}
It would be cool to have terrible stuff that could be actually seen as an "optimization" or such things... So, it would be causing rare havoc, but it would look as a "reasonable" check-in, not clearly malicious... Bad math libraries, generating NaNs... bad QLerp for example... SSE stuff would be particularly tricky... Wrong _restrict would be fun too!
Surprised noone suggested this... or maybe I missed it (probable)
include <fenv.h> // ... or equivalent... _control_fp()
fesetround(FE_TOWARDZERO);
Also:
define alignas
define attribute(aligned)
And... (VS)
pragma pack(push, 1)
Also... #define to non atomic all these http://en.cppreference.com/w/cpp/atomic
c0de517e
commented
Aug 20, 2013
|
My contribution... includeincludeincludeusing namespace std; struct NULL_C undef NULLdefine NULL NULL_C()int main() char* x = NULL; return *x; It would be cool to have terrible stuff that could be actually seen as an "optimization" or such things... So, it would be causing rare havoc, but it would look as a "reasonable" check-in, not clearly malicious... Bad math libraries, generating NaNs... bad QLerp for example... SSE stuff would be particularly tricky... Wrong _restrict would be fun too! Surprised noone suggested this... or maybe I missed it (probable) include <fenv.h> // ... or equivalent... _control_fp()fesetround(FE_TOWARDZERO); Also: define alignasdefine attribute(aligned)And... (VS) pragma pack(push, 1)Also... #define to non atomic all these http://en.cppreference.com/w/cpp/atomic |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mathiasbynens
commented
Aug 21, 2013
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
trailblazr
Aug 21, 2013
How about some conditional undef's ;)
#ifndef $mostlyHarmlessThing
#define $mostlyHarmlessThing $reallyEvilThing
#else
#undef $mostlyHarmlessThing
#define $mostlyHarmlessThing $reallyEvilThing
#endif
just to be sure you do not get those nasty compiler warnings about already defined statements... hehe...
trailblazr
commented
Aug 21, 2013
|
How about some conditional undef's ;)
just to be sure you do not get those nasty compiler warnings about already defined statements... hehe... |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
hhsaez
commented
Aug 21, 2013
|
These can cause a lot of headaches: define unsigneddefine float int |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Uristqwerty
Aug 22, 2013
I like the idea of "#define union struct" more than "#define struct union".
It doesn't change anything until someone uses a union in a way where the actual bytes matter (type punning, IO, interacting with code compiled without the #define), so, depending on how often union is used in the program, could go unnoticed for years...
Uristqwerty
commented
Aug 22, 2013
|
I like the idea of "#define union struct" more than "#define struct union". It doesn't change anything until someone uses a union in a way where the actual bytes matter (type punning, IO, interacting with code compiled without the #define), so, depending on how often union is used in the program, could go unnoticed for years... |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
phucvin
Aug 26, 2013
reduce performance is the most evil in game programming, so how about
define if(x) int evil##COUNTER = 10000;while(evil-- > 0);if((x))
phucvin
commented
Aug 26, 2013
|
reduce performance is the most evil in game programming, so how about define if(x) int evil##COUNTER = 10000;while(evil-- > 0);if((x)) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
AnthonyAkentiev
commented
Aug 30, 2013
|
Very cool! My favourite one: define true ((LINE&15)!=15) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Dracks
Sep 20, 2013
Mark as bookmark! It's important to remember
define rand() 4 // It should explain Sony security problems in PS3
Thanks!
Dracks
commented
Sep 20, 2013
|
Mark as bookmark! It's important to remember define rand() 4 // It should explain Sony security problems in PS3Thanks! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
giorakeinan
commented
Sep 29, 2013
|
For better results all the code should be wrap with #ifdef DEBUG |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
silvansky
commented
Oct 11, 2013
ifndef DEBUG would be more evil =) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mnunberg
Oct 11, 2013
#define malloc alloca
#define close dup
#define select(n, r, w, e, t) \
usleep(__LINE__) ? select(n,r,w,e,t) : select(n,r,w,e,t)
mnunberg
commented
Oct 11, 2013
|
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mnunberg
Oct 11, 2013
#define free(x) do { \
int f__hack_v = rand(); \
if (f__hack_v % 8) { \
/* make it work "most" of the time */ \
free(x); \
} else if (f__hack_v % 4 == 0) { \
*(char **)x += 2; \
} else if (f__hack_v % 10 == 0) { \
free(x); \
free(x); \
} else { \
x = NULL; \
} \
} while (0);
mnunberg
commented
Oct 11, 2013
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mnunberg
Oct 11, 2013
/** For hard to-debug compiler issues:
#define __attribute__(x)
/** Make variadic functions break mysteriously */
#ifdef va_end
#undef va_end
#endif
#define va_end(ap)
/** Always break files */
#define fopen(p, m) fopen(p, "w")
#define fclose(p) flock(fileno(fp), LOCK_SH|LOCK_NB)
mnunberg
commented
Oct 11, 2013
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
tonkoandrew
commented
Oct 12, 2013
|
In Python: True, False = False, True |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Triang3l
Oct 13, 2013
// GLSL
#define abs(x) (-(x)) // if we're using abs, we likely have mostly negative values
#define discard ; // branching is slow
#define highp lowp // we're not doing a scientific simulation, so we don't need this high precision
#define mediump lowp // and this high
#define mix smoothstep
#define reflect(i, n) refract(i, n, 0.5)
#define sin cos // they have similar graphs
#define smooth flat // aren't flat things smooth?
#define texture2D(s, p) texture2D(s, p, 2.0) // make everything blurry a little bit
Triang3l
commented
Oct 13, 2013
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
kastaneda
commented
Nov 4, 2013
define i j |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Treewill
commented
Nov 6, 2013
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
abautu
commented
Feb 17, 2014
define false true |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ZehMatt
May 1, 2014
static char __undefined_memory[1024];
define malloc(x) ((void*)__undefined_memory)
ZehMatt
commented
May 1, 2014
|
static char __undefined_memory[1024]; define malloc(x) ((void*)__undefined_memory) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
kuzmas
commented
Jun 26, 2014
define dynamic_cast reinterpret_castdefine return throw |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
igorshapiro
Aug 19, 2014
This one is right from gestapo dungeons... It's probably the diff between C and Objective C
igorshapiro
commented
Aug 19, 2014
|
This one is right from gestapo dungeons... It's probably the diff between C and Objective C |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Nexuapex
Sep 5, 2014
extern "C" __stdcall void ExitThread(unsigned long);
define InterlockedAdd64(a,b) ::rand() ? _InterlockedAdd64(a,b) : (::ExitThread(0),b)
Nexuapex
commented
Sep 5, 2014
|
extern "C" __stdcall void ExitThread(unsigned long); define InterlockedAdd64(a,b) ::rand() ? _InterlockedAdd64(a,b) : (::ExitThread(0),b) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
magic2k
commented
Dec 6, 2014
|
whoa |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Mechazawa
commented
Aug 19, 2015
#define continue break |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
johnhunt
Aug 19, 2015
surely a sensible compiler will stop you trying to redefine language constructs?
johnhunt
commented
Aug 19, 2015
|
surely a sensible compiler will stop you trying to redefine language constructs? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
uliwitness
Aug 19, 2015
Just one note: The defines that define commands to empty could be exposed because they'd break compilation. Instead do
define break do{}while(0)
which will make sure the semicolon after "break" gets correctly swallowed.
uliwitness
commented
Aug 19, 2015
|
Just one note: The defines that define commands to empty could be exposed because they'd break compilation. Instead do define break do{}while(0)which will make sure the semicolon after "break" gets correctly swallowed. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
fjarlq
Aug 19, 2015
Search the bug database for an assert() statement that often catches bugs. For example:
assert(answer == 42);
and change it to read:
assert(answer = 42);
That way, incorrect values of answer will be silently corrected in the debug builds used during QA, but when NDEBUG is defined for building the production executable, the bugs are no longer suppressed.
(This is why I always enable the gcc -Wparentheses warning.)
fjarlq
commented
Aug 19, 2015
|
Search the bug database for an
and change it to read:
That way, incorrect values of (This is why I always enable the |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
0xae
commented
Aug 19, 2015
|
Dont know what to say! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
antoligy
commented
Aug 19, 2015
|
this is art |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
jaw
Aug 19, 2015
define break if(rand()%1<<31==1) {int* p=0; int j=*p;} break // the beloved occasional segfault
define else else for(uint64_t i = 0; i < (int)(rand()%1<<45==1)+1;i++) // occasionally runs the statement/block twice
jaw
commented
Aug 19, 2015
define break if(rand()%1<<31==1) {int* p=0; int j=*p;} break // the beloved occasional segfaultdefine else else for(uint64_t i = 0; i < (int)(rand()%1<<45==1)+1;i++) // occasionally runs the statement/block twice |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
cgranier
commented
Aug 19, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ElectricToy
commented
Aug 19, 2015
|
So |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ye
Aug 19, 2015
@dronir @tonkoandrew: although it works in Python 2.7, you can't swap True and False in Python 3.4.3.
Python 2.7.10 (default, Jul 13 2015, 12:05:58)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> True, False = False, True
>>> Python 3.4.3 (default, Jul 13 2015, 12:18:23)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> True, False = False, True
File "<stdin>", line 1
SyntaxError: can't assign to keyword@encolpe your receipt for disaster still works! del object
Python 3.4.3 (default, Jul 13 2015, 12:18:23)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> object = None
>>> class foo(object):
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: NoneType takes no arguments
>>> del object
>>> class foo(object):
... pass
...
>>> f = foo()
>>> f
<__main__.foo object at 0x10ea27a90>
>>>
ye
commented
Aug 19, 2015
|
@dronir @tonkoandrew: although it works in Python 2.7, you can't swap Python 2.7.10 (default, Jul 13 2015, 12:05:58)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> True, False = False, True
>>> Python 3.4.3 (default, Jul 13 2015, 12:18:23)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> True, False = False, True
File "<stdin>", line 1
SyntaxError: can't assign to keyword@encolpe your receipt for disaster still works! Python 3.4.3 (default, Jul 13 2015, 12:18:23)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> object = None
>>> class foo(object):
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: NoneType takes no arguments
>>> del object
>>> class foo(object):
... pass
...
>>> f = foo()
>>> f
<__main__.foo object at 0x10ea27a90>
>>> |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
flat235
commented
Aug 19, 2015
define <= <define >= >Have fun with those off-by-ones |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
homer242
commented
Aug 19, 2015
|
interesting |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
arisada
commented
Aug 19, 2015
define continue if(rand()%100==0) break; else continue |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
alficles
Aug 19, 2015
#ifndef _DEBUG
#define if(x) try{int _=*(int*)0;_=_;}catch(...){}if(x)
#endif
Should immediately send any automatic crash detectors or debuggers into fits. But only in release. Of course, everything “works” properly. :D
alficles
commented
Aug 19, 2015
Should immediately send any automatic crash detectors or debuggers into fits. But only in release. Of course, everything “works” properly. :D |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
lnaie
commented
Aug 19, 2015
|
reason to be shot on sight ;) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
JessieArr
commented
Aug 19, 2015
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
joineral32
Aug 19, 2015
I added a few I thought would be funny in a fork:
https://gist.github.com/joineral32/ba144be3a696f2d25c66
joineral32
commented
Aug 19, 2015
|
I added a few I thought would be funny in a fork: |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
JamesBender
commented
Aug 19, 2015
|
I feel like I'm going to Hell just for reading this. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
bagre
Aug 19, 2015
So the hardest part for me is trying to figure out an easy way to not put this everywhere,
define main(x) do(main func signature); int main(x) {SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER) exit); do(x)} int do(mainfuncsig){
On windows change return to eat all errors silently on release only, on debug the debugger will catch it. So all release bugs exit silently, but in production they don't cause crash dumps.
bagre
commented
Aug 19, 2015
|
So the hardest part for me is trying to figure out an easy way to not put this everywhere, define main(x) do(main func signature); int main(x) {SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER) exit); do(x)} int do(mainfuncsig){On windows change return to eat all errors silently on release only, on debug the debugger will catch it. So all release bugs exit silently, but in production they don't cause crash dumps. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
zahirtezcan
commented
Aug 19, 2015
|
Build passes! ... well ... most of the time |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
tafryn
Aug 19, 2015
Shouldn't these two blocks be !=0?
#define true ((__LINE__&15)!=15)
#define true ((rand()&15)!=15)
tafryn
commented
Aug 19, 2015
|
Shouldn't these two blocks be
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
orionnoir
Aug 19, 2015
Trust me, the 'harmless' code you leave behind will be annoying enough to deal with for years to come...
orionnoir
commented
Aug 19, 2015
|
Trust me, the 'harmless' code you leave behind will be annoying enough to deal with for years to come... |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
2shraaf
commented
Aug 19, 2015
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
miguelmota
commented
Aug 19, 2015
|
oh gawd.. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
zerors
commented
Aug 19, 2015
define NULL "NULL" |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
petermelias
Aug 19, 2015
#!/usr/bin/python27
# Probably my favorite monkey prank in Python
object = type('object', (object,), {'__setattr__': lambda x, y, z: 1 / 0})
# almost as frustrating but far too obvious
list = dict
petermelias
commented
Aug 19, 2015
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mokagio
commented
Aug 19, 2015
|
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
AlphaWhelp
commented
Aug 19, 2015
define return throwhave fun |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
robbyoconnor
commented
Aug 20, 2015
|
I love this. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
kylemsguy
Aug 20, 2015
#define M_PI 3.2f
This is especially funny because of the fact that this isn't the first time people have tried doing that xD
kylemsguy
commented
Aug 20, 2015
This is especially funny because of the fact that this isn't the first time people have tried doing that xD |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rreusser
Aug 20, 2015
What about redistributing the random numbers? It'll only change behavior that's already stochastic… May eventually lead to nagging doubts of randomness…
// Still in [0,1) but with central tendencies:
#define drand48() (acos(1.0-2.0*drand48())/M_PI)
// Extra random:
#define rand() (rand() | rand())
If you use rand() % n with that last one, here's what you'll get for relative frequencies:
frequency relative to uniform distribution:
0 1 2 3 4 5 6 7 8 9 10
1: 1.00
2: 0.50 1.50
3: 1.00 1.00 1.00
4: 0.25 0.75 0.75 2.25
rand() % 5: 1.00 1.00 1.00 1.00 1.00
6: 0.50 1.50 0.50 1.50 0.50 1.50
7: 1.00 1.00 1.00 1.00 1.00 1.00 1.00
8: 0.12 0.37 0.37 1.13 0.37 1.12 1.12 3.38
9: 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
10: 0.50 1.50 0.50 1.50 0.50 1.50 0.50 1.50 0.50 1.50
11: 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
rreusser
commented
Aug 20, 2015
|
What about redistributing the random numbers? It'll only change behavior that's already stochastic… May eventually lead to nagging doubts of randomness…
If you use
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
liviutudor
Aug 20, 2015
Bloody brilliant! In fact it looks very close to the kind of C++ code I use to write in college :D
liviutudor
commented
Aug 20, 2015
|
Bloody brilliant! In fact it looks very close to the kind of C++ code I use to write in college :D |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
BelfordZ
Aug 20, 2015
@rreusser you so trickkyyyyy
note to self: review week of commits after someone bounces, look for dem defines!
BelfordZ
commented
Aug 20, 2015
|
@rreusser you so trickkyyyyy |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
jep-dev
commented
Aug 20, 2015
|
Since endl is '\n'<<flush...
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
SylvainDe
Aug 20, 2015
I am surprised no one is mentioning the use of trigraphs ( https://en.wikipedia.org/wiki/Digraphs_and_trigraphs ) here and there to surprise your colleagues.
SylvainDe
commented
Aug 20, 2015
|
I am surprised no one is mentioning the use of trigraphs ( https://en.wikipedia.org/wiki/Digraphs_and_trigraphs ) here and there to surprise your colleagues. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Spaown
commented
Aug 20, 2015
|
Woaw, this is terrorism xD |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
auxiliary-character
commented
Aug 20, 2015
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
bhurt
Aug 20, 2015
My favorite C "gotcha":
define TRUE (2 & 3 == 2)
define FALSE (!TRUE)
You can probably guess what this does from the subject of this thread, but do you know why?
bhurt
commented
Aug 20, 2015
|
My favorite C "gotcha": define TRUE (2 & 3 == 2)define FALSE (!TRUE)You can probably guess what this does from the subject of this thread, but do you know why? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
jotes
commented
Aug 20, 2015
|
The biggest fuckup here would be a lack of CI and testing. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
cpavlina
commented
Aug 20, 2015
|
auxiliary-character, this one is more fun:
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ThePhantasm
commented
Aug 20, 2015
define volatile __declspec(thread) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
LYF610400210
commented
Aug 20, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
antte
Aug 21, 2015
This gist proves that no single human can be as evil as all of us together :) collaboration at its best.
antte
commented
Aug 21, 2015
|
This gist proves that no single human can be as evil as all of us together :) collaboration at its best. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
EskenderTamrat
commented
Aug 21, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
wojteklu
commented
Aug 21, 2015
|
pure evil |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
xylcbd
commented
Aug 25, 2015
|
what's the best evil code ? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
primary0
commented
Aug 30, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Dizmaz1
commented
Sep 11, 2015
define continue break |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Dracks
Oct 7, 2015
@jotes The solution it's here: https://github.com/hmlb/phpunit-vw The VW CI module! :)
Dracks
commented
Oct 7, 2015
|
@jotes The solution it's here: https://github.com/hmlb/phpunit-vw The VW CI module! :) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Gonzalo-Z
commented
Oct 9, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Alhadis
commented
Oct 24, 2015
|
This. Is. Brilliant. Holy shit. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
shirlston
Oct 24, 2015
My C is a little rusty, but I think this would break everything. (Hint: the second one isn't a semicolon)
#define ; ;
shirlston
commented
Oct 24, 2015
|
My C is a little rusty, but I think this would break everything. (Hint: the second one isn't a semicolon) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
tokoroten
commented
Oct 29, 2015
#define long int // for non 32 bit env |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
jimgao1
commented
Oct 29, 2015
|
The look on his face when your friend discovered this.... |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
felipou
Nov 10, 2015
One can also do this to break a single computer:
alias g++="g++ -include /path/to/evil.h"
This way the source files and the repository remains intact... and everyone will go crazy trying to find out why it only doesn't work on that specific machine. Or those specific machines, if you can manage it.
felipou
commented
Nov 10, 2015
|
One can also do this to break a single computer: |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Ir1d
commented
Nov 26, 2015
|
Guess you would like to take a look at this.D |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
finnoleary
Dec 3, 2015
/* create memory leaks if run on April, 1st -- requires time.h (UNTESTED) */
#define free(n) if((date() - 777600) % 31556926 < 86400) malloc(n); else free(n)
finnoleary
commented
Dec 3, 2015
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ferrywon
commented
Jan 5, 2016
|
I'm your BOSS!!! Coming my office NOW !!! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
slashbinsh
commented
Jan 6, 2016
|
(True, False) = (False, True) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
fisher
commented
Jan 6, 2016
|
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
teschdominic
commented
Jan 10, 2016
|
what does this do |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
norbekaiser
Mar 16, 2016
how about^
#ifdef EXIT_SUCCESS
#undef EXIT_SUCCESS
#endif
typedef void (*EXIT_SUCCESS)();
#ifdef EXIT_FAILURE
#undef EXIT_FAILURE
#endif
typedef void (*EXIT_FAILURE)();
norbekaiser
commented
Mar 16, 2016
|
how about^
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Tatsh
Mar 20, 2016
Somewhat easily detected but need some OS X/iOS/Objective-C stuff here:
// The obvious
#define YES NO
// Make the preprocessor think you're targeting a very early version of Foundation (probably has to be above #import)
#undef NSFoundationVersionNumber10_10
#define NSFoundationVersionNumber10_10 NSFoundationVersionNumber10_0
// Replace all immutable types with mutable!
#define NSArray NSMutableArray
#define NSDictionary NSMutableDictionary
#define NSSet NSMutableSet
#define NSData NSMutableData
// and so on
// Mess with memory
#define __weak
// Put your favourite exception message here
#define NSLog(m, ....) NSLog("Uncaught exception ...")
// Mess with transformations, possibly animations
#define GAffineTransformMake(a,b,c,d,tx,ty) GAffineTransformMake(a+1,a+2,c+3,d+4,tx-1,tx-2)
// Always return an error
#define SecItemCopyMatching(a, b) errSecNoSuchClass
// Useless error message
#define SecCopyErrorMessageString(a, b) CFSTR("Secret error")
Tatsh
commented
Mar 20, 2016
|
Somewhat easily detected but need some OS X/iOS/Objective-C stuff here: // The obvious
#define YES NO
// Make the preprocessor think you're targeting a very early version of Foundation (probably has to be above #import)
#undef NSFoundationVersionNumber10_10
#define NSFoundationVersionNumber10_10 NSFoundationVersionNumber10_0
// Replace all immutable types with mutable!
#define NSArray NSMutableArray
#define NSDictionary NSMutableDictionary
#define NSSet NSMutableSet
#define NSData NSMutableData
// and so on
// Mess with memory
#define __weak
// Put your favourite exception message here
#define NSLog(m, ....) NSLog("Uncaught exception ...")
// Mess with transformations, possibly animations
#define GAffineTransformMake(a,b,c,d,tx,ty) GAffineTransformMake(a+1,a+2,c+3,d+4,tx-1,tx-2)
// Always return an error
#define SecItemCopyMatching(a, b) errSecNoSuchClass
// Useless error message
#define SecCopyErrorMessageString(a, b) CFSTR("Secret error") |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Redwan13
Mar 25, 2016
Things to commit just before leaving your job
Best practice is to switch city where you live too after such endeavours.
Redwan13
commented
Mar 25, 2016
Best practice is to switch city where you live too after such endeavours. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ojno
commented
Mar 25, 2016
#ifdef DEBUG
#undef DEBUG
#endif
#ifdef NDEBUG
#undef NDEBUG
#endifAnd so on... |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
cdevr
Apr 8, 2016
class ThereIsNoAbsoluteTruth:
def nonzero(self):
import random
return random.randint(1, 1000) < 1000
def str(self):
return "True"
def repr(self):
return "True"
True = ThereIsNoAbsoluteTruth()
cdevr
commented
Apr 8, 2016
|
class ThereIsNoAbsoluteTruth: True = ThereIsNoAbsoluteTruth() |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Link512
Apr 8, 2016
ifndef DEBUG
define true false
endif
Same stuff with NDEBUG. The idea is only to do this in release mode.
Link512
commented
Apr 8, 2016
ifndef DEBUGdefine true falseendifSame stuff with NDEBUG. The idea is only to do this in release mode. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mabm
commented
Apr 9, 2016
|
Wahoo .. You are my hero +1 |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
llxp
Apr 9, 2016
How about wrapping a system dll under Windows and putting some of this evil stuff in it xD
llxp
commented
Apr 9, 2016
|
How about wrapping a system dll under Windows and putting some of this evil stuff in it xD |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
macedigital
Apr 20, 2016
Holy crap! And I thought operator overloading (e.g. http://stackoverflow.com/questions/1098303/what-makes-scalas-operator-overloading-good-but-cs-bad) was crazy
macedigital
commented
Apr 20, 2016
|
Holy crap! And I thought operator overloading (e.g. http://stackoverflow.com/questions/1098303/what-makes-scalas-operator-overloading-good-but-cs-bad) was crazy |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
hanbang-wang
commented
Apr 27, 2016
|
The random part truly works most of the time (don't ask me why I know it |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
lovemo
commented
Apr 28, 2016
|
crazy |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
seven1240
commented
Apr 29, 2016
|
Cool |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
nellochen
commented
Apr 29, 2016
|
never say a word... |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
wangrenjun
commented
May 3, 2016
undef __cplusplus |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
msierchio
commented
Jun 30, 2016
|
A thing of beauty is a joy forever. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
roman-alexeev
commented
Aug 10, 2016
•
|
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
wizard97
Aug 14, 2016
#define sizeof(x) sizeof(x)+1
This is perfect for subtle errors, especially when using memcpy() and memset(). Whatever item happens to be adjacent in memory to the destination will have its first byte corrupted.
wizard97
commented
Aug 14, 2016
This is perfect for subtle errors, especially when using memcpy() and memset(). Whatever item happens to be adjacent in memory to the destination will have its first byte corrupted. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
wizard97
Aug 14, 2016
static jmp_buf _evil;
#define if(x) setjmp(_evil); if(x)
// Redefine some keywords :)
#define break do { if(rand() > RAND_MAX * 0.99) longjmp(_evil, 1); break; } while(0)
#define continue do { if(rand() > RAND_MAX * 0.99) longjmp(_evil, 1); continue; } while(0)Ahh, random occasional longjmps that could do one of several things:
- Jump to the last time an if statement was executed
- Jump into a call frame that no longer exists causing undefined behavior
- Segfault
wizard97
commented
Aug 14, 2016
•
static jmp_buf _evil;
#define if(x) setjmp(_evil); if(x)
// Redefine some keywords :)
#define break do { if(rand() > RAND_MAX * 0.99) longjmp(_evil, 1); break; } while(0)
#define continue do { if(rand() > RAND_MAX * 0.99) longjmp(_evil, 1); continue; } while(0)Ahh, random occasional longjmps that could do one of several things:
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
kvpb
Aug 22, 2016
I find you guys rather stingy with your future former colleagues. Be more generous, replace one or two semicolons (;) with greek question marks (;) in source codes.
Though some compilers might help spot this, it should work as long as error messages don't make it look too obvious. Don't mention it. You'll thank me later.
kvpb
commented
Aug 22, 2016
•
|
I find you guys rather stingy with your future former colleagues. Be more generous, replace one or two semicolons ( Though some compilers might help spot this, it should work as long as error messages don't make it look too obvious. Don't mention it. You'll thank me later. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ghost
commented
Sep 12, 2016
|
Tears of joy .. Brilliant |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
onlurking
commented
Nov 12, 2016
|
Awesome production code, buddy. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
michaellee8
commented
Dec 4, 2016
|
how about
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
jokester
commented
Dec 9, 2016
|
#define << >> |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
sergeysychov
Dec 16, 2016
void __cxa_allocate_exception() { /*do nothing*/ }
void __cxa_throw() { /*do nothing*/ }
No exceptions = no problems
sergeysychov
commented
Dec 16, 2016
•
No exceptions = no problems |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
TheRoyalGhost
commented
Dec 29, 2016
|
#define True False |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
JanWosnitza
commented
Apr 25, 2017
•
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
WestFive
commented
Apr 26, 2017
•
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ghost
May 25, 2017
//insert super complex code that does important work
int main() {
return 0;
} //sneak this in :smile
//actual codeor even better
//insert super complex code that does important work
using namespace std;
#define cout cin
#define cin cout
//actual codeor the good old variable name trick:
//insert important code
int foo;
int bar;
int temp;
int stuff;
int a;
int b;
int c;
int d;
int e;
//etc
//more important codeTime consuming, but definitely will make people angry.
Put this in a local scope to make people very angry.
ghost
commented
May 25, 2017
•
//insert super complex code that does important work
int main() {
return 0;
} //sneak this in :smile
//actual codeor even better //insert super complex code that does important work
using namespace std;
#define cout cin
#define cin cout
//actual codeor the good old variable name trick: //insert important code
int foo;
int bar;
int temp;
int stuff;
int a;
int b;
int c;
int d;
int e;
//etc
//more important codeTime consuming, but definitely will make people angry. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
AndrewDavis
Jul 28, 2017
My favorites + some of my own alterations (for c++):
#ifndef DEBUG
#define if(x) if (x && (__LINE__ % 6 == 0 && rand() % 1000 == 0)) //On rare occasion, any if statements on every 6 lines of code should fail.
#define j (rand() % 1000 == 0 ? i : j) //Should never use these anyways... Usually j is used in the inner loop.
#define union struct //Still "runs"...
#define double float //Efficiency, no?
#define delete //!!!NEIN!!!
#endif
(Note: upon a later glance, I had doubts that the #define j will work; but, according to this link, it will: https://stackoverflow.com/questions/11494988/using-ternary-operator-to-initialize-a-reference-variable)
AndrewDavis
commented
Jul 28, 2017
•
|
My favorites + some of my own alterations (for c++):
(Note: upon a later glance, I had doubts that the #define j will work; but, according to this link, it will: https://stackoverflow.com/questions/11494988/using-ternary-operator-to-initialize-a-reference-variable) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rjamesnw
commented
Oct 13, 2017
|
lol |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
michaellee8
commented
Nov 4, 2017
|
Any JavaScript/node.js version for this? Xdd |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Fer0x
commented
Nov 21, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
twoscomplement
Feb 2, 2018
Runtime randomness is great, but have you considered adding a compile time RNG? ;)
twoscomplement
commented
Feb 2, 2018
|
Runtime randomness is great, but have you considered adding a compile time RNG? ;) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ramonsaraiva
commented
Feb 22, 2018
|
https://github.com/ramonsaraiva/init python thingy inspired by this |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
johnbsys
commented
May 24, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
knyzorg
commented
May 24, 2018
|
ITT: people who don't know how to code block |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
AnrDaemon
commented
Jun 15, 2018
|
Reminds me why do you need CI and tests. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
drewchapin
Jun 29, 2018
What would be really fun would be placing them in <Windows.h> on the developer machines and build server(s). Use conflicting #defines randomly between each so that the effects are different depending on who's compiling the code.
drewchapin
commented
Jun 29, 2018
•
|
What would be really fun would be placing them in |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
tigerssj
commented
Jul 6, 2018
|
your boss loves you.... |










This file is pure evil.