Trannellius | maandag 28 april 2008 @ 12:15 | |
En in de laatste week van zijn werkzaamheden, in een deel van zijn programmeer projecten in een bestand heeft verwerkt, met daarin 2 regels: #define true 0; #define false 1; Ik moet zeggen, het is geniaal. Het heeft mij 3 uur gekost om erachter te komen wat er aan de hand was, nu mag ik een paar uur bezig zijn met op te sporen waar het allemaal gebruikt is. | ||
Juicyhil | maandag 28 april 2008 @ 12:17 | |
Zwakke gast. | ||
Homdeck | maandag 28 april 2008 @ 12:17 | |
thanks for sharing | ||
Rosbief | maandag 28 april 2008 @ 12:18 | |
schopje > tweakers forum ![]() | ||
Koploperkopper | maandag 28 april 2008 @ 12:19 | |
Ik wilde net zeggen. | ||
Agorias | maandag 28 april 2008 @ 12:21 | |
I don't get it ![]() | ||
Trannellius | maandag 28 april 2008 @ 12:21 | |
Aw, begrijpen jullie het niet? ![]() ![]() ![]() | ||
Agorias | maandag 28 april 2008 @ 12:23 | |
TS kan er gewoon niet mee omgaan ![]() | ||
Agorias | maandag 28 april 2008 @ 12:23 | |
goed punt! | ||
Rekkie | maandag 28 april 2008 @ 12:24 | |
Tsssss 3 uur? TS kan er niet mee omgaan. Ik zou je ontslaan.... | ||
Agorias | maandag 28 april 2008 @ 12:24 | |
#epic fail 1 | ||
Trannellius | maandag 28 april 2008 @ 12:25 | |
quote:Het komt erop neer dat een programma het tegenovergestelde doet van wat je ervan verwacht ![]() | ||
Surveillance-Fiets | maandag 28 april 2008 @ 12:27 | |
Dan wissel je die 1 met 0 om toch.... replace all: 0=1 1-0 | ||
Flashwin | maandag 28 april 2008 @ 12:28 | |
kanloos leven als je dat soort dingen voor je werk moet doen ![]() | ||
DroogDok | maandag 28 april 2008 @ 12:29 | |
Wat is daar mis mee dan? Als hij nou overal "Trannellius is een hoerenjong" in had getypt zou ik je verontwaardiging delen. | ||
Trannellius | maandag 28 april 2008 @ 12:31 | |
quote:Tja, het leven van een programmeur draait af en toe ook wel eens om bugs oplossen. En als ze in een project van een collega zijn die niet meer werkt, kost het voor een ander veel tijd om er doorheen te komen ja. | ||
Trannellius | maandag 28 april 2008 @ 12:32 | |
quote:Tja, als ik dat nu klakkeloos zou doen, is er een grote kans dat een ander deel wat nu nog wel goed werkt, dan juist niet meer goed werkt ![]() | ||
Seneca | maandag 28 april 2008 @ 12:32 | |
En daarom moet je dus nooit macros gebruiken in je code. Als er IETS kut is om te debuggen... | ||
Rumboon | maandag 28 april 2008 @ 12:34 | |
quote:Of je haalt die regels gewoon weg...Makkelijk hè? | ||
#ANONIEM | maandag 28 april 2008 @ 12:35 | |
Ik vind hem wel fucking geniaal ![]() | ||
Trannellius | maandag 28 april 2008 @ 13:08 | |
quote:Een deel van het project werkt wel met die regels, een ander deel niet. Als ik dus die 2 regels zo maar weg haal, werkt het ene deel niet, en het andere deel wel. Wat schiet ik daar precies mee op? | ||
Rumboon | maandag 28 april 2008 @ 14:05 | |
quote:De preprocessor zorgt er gewoon voor dat, voordat je project gecompileerd wordt, alle true's (in het deel dat wel met die regels werkt) letterlijk worden vervangen door 0's en alle false's letterlijk worden vervangen door 1's alsof je dat zelf getypt zou hebben. Haal je die macro's weg, dan hebben die true's/false's weer hun oorspronkelijke "waarde"...oftewel de compiler herkent ze gewoon weer als normale booleans. Dat van het niet werken van het ene of het andere deel kan gewoon niet kloppen... Het is een geniaal geintje, maar hij heeft echt geen catastrofe aangericht... [ Bericht 2% gewijzigd door Rumboon op 28-04-2008 14:16:28 ] | ||
Trannellius | maandag 28 april 2008 @ 14:26 | |
quote:Wat ik bedoelde is dat een deel wel en een deel niet met die macro's werkt. Er is echter ook een deel wat wel uberhaupt werkt, en een ander deel niet, zoals in onderstaand schema: In elk van de 4 categorieen valt een deel van de code ![]() EDIT: schema werkt niet (spaties vallen weg). Maar er is dus een deel wat wel of niet werkt, en er is een deel wat met macro's werkt of zonder. Er zijn dus nu 4 categorieen, en dus zijn die macro's niet 1-2-3 op te lossen ![]() | ||
afcajos | maandag 28 april 2008 @ 14:27 | |
NERD TOPPPIC | ||
Rumboon | maandag 28 april 2008 @ 14:38 | |
quote:Klopt ![]() quote:Ik snap wat je bedoelt, maar het is gewoon heel simpel voor het gedeelte dat wel gebruikt maakt van die macro's: Toen je collega het nog niet had vertiefd, stonden op bepaalde plekken in het programma true en op bepaalde plekken false. Door zijn macro's, staan nu op die plekken resp. 0 en 1, wat gewoon precies hetzelfde inhoudt als resp. false en true. Hij heeft de boel gewoon omgedraaid en door het verwijderen van die regels zou het gewoon weer in oorspronkelijke staat moeten compileren. It ain't rocket science... Als het nog steeds niet werkt dan heeft hij óf nog meer zitten kutten (misschien dat je dat bedoelt) óf het werkte voor zijn actie ook al niet naar behoren... | ||
Trannellius | maandag 28 april 2008 @ 14:46 | |
quote:Wat ik dus bedoel is dat hij in de plekken waar hij die macro's heeft toegevoegd op sommige plekken daadwerkelijk de hardcoded true's en false's heeft aangepast, en op sommige plekken weer niet. En dat ook op plekken waar hij de macro's niet heeft toegevoegd ![]() | ||
Maikuuul | maandag 28 april 2008 @ 14:47 | |
Hahahaha die gast is echt een kanker badass mofo jeweettog Wtf moet dat nou voorstellen ![]() | ||
Trannellius | maandag 28 april 2008 @ 14:56 | |
quote:Als je vraag doelt op waarom hij zo gecodeerd heeft, dan heb ik nog wel een aardig voorbeeld van een stukje code van een jongen uit ons team in Moskau: public enum BOOL { TRUE, FALSE, true, false, True, False, // En met nog meer tikvarianten rekening houdend } En als je vraag bedoeld was als in "WTF gaat dit topic over!?", dan is de samenvatting dat alles wat waar zou moeten zijn, niet waar is volgens hem (en vice versa). | ||
Rumboon | maandag 28 april 2008 @ 14:56 | |
quote:Ah OK, dan is het echt een nerd die nog dubbelop werk doet ook ![]() Succes dan maar ![]() | ||
Trannellius | maandag 28 april 2008 @ 15:04 | |
quote:Dank je ![]() ![]() | ||
Rumboon | maandag 28 april 2008 @ 15:10 | |
quote:Hehe, LOL In feite zegt hij dat alleen TRUE niet waar is (0) en de rest allemaal waar, aangezien alles wat niet 0 is als waar wordt beschouwd in C++ (neem aan dat het daarin geprogged is ![]() | ||
Rumboon | maandag 28 april 2008 @ 15:12 | |
PS: Ik mis nog een BrEeZaH tik-variant | ||
Karrs | maandag 28 april 2008 @ 15:42 | |
-edit dubbel- | ||
Karrs | maandag 28 april 2008 @ 15:43 | |
quote:O God. ![]() * Karrs sympathiseert | ||
DANILXL | maandag 28 april 2008 @ 15:44 | |
NERD ALERT, wie heeft dat plaatje ![]() | ||
Antal | maandag 28 april 2008 @ 15:51 | |
Hahaha heb je dat nu pas gevonden ? Er zit nog wel meer in, maar daar kom je dan nog wel achter.. Groet, je (ex) collega | ||
Queen_Bee | maandag 28 april 2008 @ 16:12 | |
quote: ![]() | ||
Devlinsect | maandag 28 april 2008 @ 16:13 | |
Druk CTRL + F in Vervang het ene door het andere. Met een half uur ben je klaar. Opgelost. ![]() | ||
Trannellius | maandag 28 april 2008 @ 16:32 | |
quote:Ja, jij snapt het helemaal. Lees anders het gehele topic ff ![]() Overigens, stel dat ik jouw advies opvolg. Eerst heb ik: true false Vervang false door true: true true Vervang true door false: false false ![]() | ||
The_Terminator | maandag 28 april 2008 @ 16:39 | |
quote:True moet natuurlijk 1 zijn en false 0. | ||
hamkaastosti | maandag 28 april 2008 @ 17:26 | |
zet er gewoon vlak onder. GRAPJE TOCH NIET dat snapt je computer wel | ||
VjenneKloetn | maandag 28 april 2008 @ 19:03 | |
Zulk een moeilijk topic na een weekend! | ||
AcidBurner | maandag 28 april 2008 @ 19:07 | |
ik heb mijn DELETE-programma's ook al klaar mocht ik mijn C4 krijgen ;-) TS je collega is een hoerenjong maar ergens wel geniaal ! | ||
Core2 | maandag 28 april 2008 @ 20:31 | |
#define true 0 #define false 1 #define maybe 2 #define file_not_found 3 Die semicon (;) erachter is ook wel passend ![]() | ||
vogeltjesdans | maandag 28 april 2008 @ 20:51 | |
Een echo in de autoexec.bat zetten is veel leuker ![]() Of pause>null in willekeurig welk opstartscript ![]() | ||
gebrokenglas | maandag 28 april 2008 @ 20:57 | |
Een kutcollega als 'ie zulke ondoorzichtige code heeft geschreven. even simpel in vi iets als: ![]()
opgelost. | ||
Alicey | maandag 28 april 2008 @ 21:27 | |
Is niet gewoon m.b.v. het VCS terug te vinden wanneer hij dat er in gepropt heeft en vervolgens met de versie van daarvoor verder te werken? | ||
Aeterna | maandag 28 april 2008 @ 21:51 | |
quote:IT'ers en backups maken? ![]() | ||
Alicey | maandag 28 april 2008 @ 21:53 | |
quote:Als het een beetje professionele iteejerts zijn wel mag ik hopen. ![]() | ||
Aeterna | maandag 28 april 2008 @ 21:56 | |
quote:Het is een Fok!ker notabene, wat verwacht je? ![]() | ||
Alicey | maandag 28 april 2008 @ 21:58 | |
quote:Hmmja zit wat in. ![]() | ||
SwJ | maandag 28 april 2008 @ 22:03 | |
quote: ![]() | ||
ouderejongere | maandag 28 april 2008 @ 22:32 | |
Ik heb mijn werkgever ook voor de keus gesteld: hij eruit of ik eruit, maar ik had ook al een vette virus op de server gezet. Toen ik mocht blijven heb ik het virus verwijderd en geen haan die er naar kraait. | ||
Seneca | maandag 28 april 2008 @ 22:35 | |
quote:Pure chantage dus. Erg moreel van je ![]() | ||
switchboy | maandag 28 april 2008 @ 22:59 | |
Kinderachtig gebackstab. kan je niet alle definities van true en false weghalen. En alleen weer in die onderdelen toegvogen die je daarmeem breekt? #define true 0; #define false 1; die dus | ||
ReplaR | maandag 28 april 2008 @ 23:32 | |
Hmmm tnx voor de tip. Ik ben van plan om morgen ook met ruzie weg te gaan bij mijn baas, dit kan wel eens handig zijn om de uitbetaling van mijn salaris en vakantiegeld zeker te stellen... | ||
Principessa.Farfalla | maandag 28 april 2008 @ 23:34 | |
quote:Eerst heb je: true false Vervang false door true666: true true666 Vervang true door false: false false666 Vervang false666 door true: false true zo dat was een moeilijke denk stap ![]() | ||
ReplaR | maandag 28 april 2008 @ 23:41 | |
quote:If True=false then true=false else true=true | ||
De_Dorstige | maandag 28 april 2008 @ 23:43 | |
![]() ![]() | ||
Seneca | maandag 28 april 2008 @ 23:45 | |
Ja leuk jongens, maar wat ik van TS begrijp is dat waar ooit true stond in de code nu 0 staat, en waar ooit false stond nu 1. Dan kun je wel alle 1's in de code gaan replacen met false en vice versa, maar daarmee verneuk je dus al je code. Briljant is het wel, dat moet ik je collega nageven. Kan me trouwens niet voorstellen dat jullie zonder versioning system werken daar? | ||
Trannellius | dinsdag 29 april 2008 @ 00:39 | |
quote:Inderdaad, bij elk project wordt dat gewoonweg gebruikt, behalve bij één. waarom weet ik eigenlijk ook niet. | ||
Seneca | dinsdag 29 april 2008 @ 00:45 | |
quote:Waarschijnlijk omdat je anders geen topic had kunnen openen. | ||
FJD | dinsdag 29 april 2008 @ 00:51 | |
Misschien moet je z'n nieuwe baas even op de hoogte brengen van deze praktijken. Hij zit nu vast nog in z'n proeftijd...verder gewoon alle extra uren bij hem declaren, sue the bastard ![]() | ||
vogeltjesdans | dinsdag 29 april 2008 @ 12:22 | |
Sterker nog: fok wordt gehost door true! | ||
Ravage | dinsdag 29 april 2008 @ 12:38 | |
Werken jullie niet met Subversion o.i.d.? Dan zou je al zijn commits van de afgelopen week vrij snel kunnen bekijken en evt. terugdraaien | ||
Trannellius | dinsdag 29 april 2008 @ 13:24 | |
quote:Ja, team foundation server, maar zijn project viel daar nog niet onder ![]() | ||
MouzurX | dinsdag 29 april 2008 @ 15:11 | |
Ts moet gewoon niet zo zeuren en aan de slag gaan om te ontdekken welke 1 en welke 0 moeten zijn ![]() | ||
Devlinsect | dinsdag 29 april 2008 @ 15:46 | |
quote:Precies ![]() ![]() Ik zag de reactie van TS op de mijne en dacht: ![]() | ||
Trannellius | dinsdag 29 april 2008 @ 16:17 | |
quote:Vrij tot maandag ![]() | ||
Trannellius | dinsdag 29 april 2008 @ 16:24 | |
quote:Duh :p | ||
l3laster | dinsdag 29 april 2008 @ 16:24 | |
sommige krijgen hier echt een harde plasser van of niet?![]() | ||
kyraaa | dinsdag 29 april 2008 @ 16:55 | |
quote:ik wel ![]() | ||
NED | dinsdag 29 april 2008 @ 17:05 | |
quote:Het is toch veel makkelijk om te ctrl+effen naar true = o en dat vervangen door false = 0 Eerst had je dus true = 0 False = 1 Daarna heb je true = 1 false = 1 En dan vervolgens ctrl+effen naar false = 1 en dat vervangen door false = 0 Dat is toch veel makkelijker? ![]() |