1
2
3
| if("0"==true) { console.log("ey, waarom zit je een string met een boolean te vergelijken? Doe eens normale vergelijkingen. :+ "); } |
[/code]
Als je moet zeuren, zeur dan waarom [eenarray count] != 1 in Objective-C (als eenarray 1 element bevat).
[/discussie]
.edit: oh, is 't soms omdat ie een NSUInteger integer object returnt en dus geen int?count
Returns the number of objects currently in the array.
.edit2: nee dat is het niet
1
| typedef unsigned int NSUInteger; |
[ Voor 158% gewijzigd door .oisyn op 17-08-2011 23:00 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Uh? Hoezo.oisyn schreef op woensdag 17 augustus 2011 @ 21:54:
Jammer dat je er alleen games mee kan maken waarbij het vanaf de tweede helft dom aliens knallen wordt.
Nothing to see here!
FarCry: "Kom, we maken een hele mooie realistische shooter, maar get this: op een gegeven moment komen er aliens! Briljant!"
Crysis: "Ik heb een cool idee. Laten we een hele mooie realistische shooter maken. Maar, let op, halverwege komen er aliens, hoe vet is dat?!"
[ Voor 59% gewijzigd door .oisyn op 17-08-2011 23:40 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Nothing to see here!
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| NSString *launchFile = [settingsFile objectForKey:@"Location"];
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:[NSString stringWithFormat:@"%@/%@", self.location, launchFile]];
NSArray *arguments = [[NSArray alloc] initWithObjects:nil];
[task setArguments:arguments];
NSPipe *outputPipe = [NSPipe pipe];
[task setStandardOutput:outputPipe];
NSFileHandle *handle = [outputPipe fileHandleForReading];
[task launch];
NSData *data = [handle readDataToEndOfFile];
NSString *response = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
return response; |
Tijd om mijn nest op te zoeken.
[ Voor 5% gewijzigd door ZpAz op 18-08-2011 00:47 ]
Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF
En dan heb je nog niet eens netjes je objecten opgeruimdZpAz schreef op donderdag 18 augustus 2011 @ 00:46:
Hmm, ik heb wel eens in een taal gewerkt die met minder regels code een commando line utility kon uitvoeren... desalnietemin vind ik dit een best leuk taaltje
[... code ...]
Tijd om mijn nest op te zoeken.
ARCalex3305 schreef op donderdag 18 augustus 2011 @ 00:49:
[...]
En dan heb je nog niet eens netjes je objecten opgeruimd. Alhoewel dat natuurlijk niet per se zou moeten wanneer het programma daar zou termineren.
[ Voor 7% gewijzigd door ZpAz op 18-08-2011 00:55 ]
Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF
Je hebt nog steeds een developer preview nodig (4.2). Wat ik een beetje lame vind is dat je die alleen krijgt bij het iOS developer programma (betaald) en niet bij het OSX developer programma (even duur en ook betaald). Terwijl het wel in OSX Lion werkt? Nja.Aloys schreef op donderdag 18 augustus 2011 @ 00:55:
Werkt dat ARC nu al gewoon in xCode 4 uit de App Store, of heb je een developer preview nodig ofzo?
Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF
Dan blijkt hieruit dat je OS helemaal niets hoeft te kunnen. Je moet alleen compilen voor het juiste OS/platform. De compiler voegt dus eigenlijk code toe om te zorgen dat al je objecten verdwijnen (op het juiste moment). Wel tofAutomatic Reference Counting (ARC) for Objective-C makes memory management the job of the compiler. By enabling ARC with the new Apple LLVM compiler, you will never need to type retain or release again, dramatically simplifying the development process, while reducing crashes and memory leaks. The compiler has a complete understanding of your objects, and releases each object the instant it is no longer used, so apps run as fast as ever, with predictable, smooth performance.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Het probleem is alleen dat reference counting lang niet altijd soelaas biedt.Aloys schreef op donderdag 18 augustus 2011 @ 01:11:
Ja in OSX wel in Obj-c 2.0 . In iOS wordt dat niet ondersteund voor performance redenen. ARC moet echter veel werk uit handen nemen en het is efficiënter dan een GC.
Destructors? Bedoel je niet finalizers?sig69 schreef op donderdag 18 augustus 2011 @ 01:44:
Ah, garbage collection! Heb nog wel eens .Net service onder handen gehad van een ex collega, mij werd gevraagd of ik wat aan het geheugen gebruik kon doen (1,5 Gb was "normaal"). Bleek hij in alle domain classed een destructor gemaakt te hebben (die weinig tot niks deden). Tsja. Nadat ik klaar was deed hij 80-90 MB max...
.edit: oh, blijkbaar heten die destructors in C#
[ Voor 3% gewijzigd door .oisyn op 18-08-2011 01:54 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Sterker nog, het lijkt er op dat Apple GC zal uitfaseren vanwege ARC, wat sowieso veel beter past bij een taal als ObjC. Zie dit Ars Technica artikel:Aloys schreef op donderdag 18 augustus 2011 @ 01:11:
Ja in OSX wel in Obj-c 2.0 . In iOS wordt dat niet ondersteund voor performance redenen. ARC moet echter veel werk uit handen nemen en het is efficiënter dan een GC.
Today, years after the introduction of this feature, very few of Apple's own applications use garbage collection.
There's a good reason for this. Runtime garbage collection is simply a poor fit for Objective-C. For all its syntactic simplicity and long, distinguished history, the C programming language is actually a surprisingly complex beast, especially when it comes to memory management. In C, any correctly aligned pointer-size bit pattern in memory can potentially be used as an address; the language explicitly allows casting from void * to a typed pointer, and vice versa. Objective-C, as a superset of C, inherits these charming properties. In exchange for this sacrifice, Objective-C code can be compiled alongside plain C code and can link to C libraries with ease.
This means that the runtime garbage collector is expected to traverse memory allocated by an arbitrary conglomeration of Objective-C and plain old C code and make the correct decision—every time—about what memory may safely be collected. Apple's Objective-C garbage collection is a global switch. It can't be enabled just for the clean, object-oriented Objective-C code that application developers write; it applies to the entire process, including all the frameworks that the application links to.
Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.
We are shaping the future
Die machines zijn gewoon top. Wel eigen tas meepakken, die plastieke bekertjes zijn vies!Alex) schreef op donderdag 18 augustus 2011 @ 09:06:
Over koffie gesproken: wat me opvalt bij de verschillende klanten waar ik tot nu toe heb gezeten is dat de koffie (in mijn geval: cappuccino) bij de twee overheidsklanten het beste is van smaak. Dat was beide keren ook Douwe Egberts.
Going for adventure, lots of sun and a convertible! | GMT-8
[ Voor 4% gewijzigd door Dricus op 18-08-2011 09:10 ]
Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...
Ik heb geen probleem met de plastic bekers. Scheelt mij ook weer afwas.Snake schreef op donderdag 18 augustus 2011 @ 09:09:
[...]
Die machines zijn gewoon top. Wel eigen tas meepakken, die plastieke bekertjes zijn vies!
De koffie van de Brooodzaak op het station is trouwens ook goed te doen. Heb nu een beker naast me staan in de trein
We are shaping the future
Had je dan niet beter het andere project meteen in C++/CLI kunnen maken, of was dat al bestaande code?.oisyn schreef op donderdag 18 augustus 2011 @ 00:23:
Bah, ik haat C++/CLI wrappers schrijven zodat C# code kan interfacen met C++ code. Waarom werkt WPF nou niet gewoon in C++/CLI
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
We are shaping the future
Ik wil gewoon met twee klikken bij m'n documenten en mail kunnen, ik heb geen zin om "overal" waar ik zit (op een pc of drie) Office te installeren (niet in de eerste plaats omdat ik er geen licentie voor heb, behalve op m'n werklaptop), dus alternatieven als Dropbox vallen ook af.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Ik vind Office 2010 toch wel redelijk intuïtief werken hoor. Okay, met Word heb ik nog steeds ruzie, maar dat zal ook wel liggen aan de templates waar ik mee werk, en het feit dat ik liever code klop (HTML/XAML) dan designers te gebruiken.CodeCaster schreef op donderdag 18 augustus 2011 @ 09:23:
Over het gebrek aan intuïtiviteit bij het werken met MS Office kan ik ondertussen een heel boek schrijven hoor.
Office packagen met ThinApp een oplossing?Ik wil gewoon met twee klikken bij m'n documenten en mail kunnen, ik heb geen zin om "overal" waar ik zit (op een pc of drie) Office te installeren (niet in de eerste plaats omdat ik er geen licentie voor heb, behalve op m'n werklaptop), dus alternatieven als Dropbox vallen ook af.
We are shaping the future
$ exit
*vastgelopen*
$ ^C
$ exit
$ ^C
$ exit
$ ^C
$ exit
$ ^C
$ exit
logout
[Process completed]
FFFUUUUUUUUU
[ Voor 14% gewijzigd door Gamebuster op 18-08-2011 10:13 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Het project op m'n werk moet ook een native interface hebben, dus dan ontkom je niet aan twee versies van dezelfde interface. M'n softsynth hobbyprojectje heeft gewoon veel legacy code, en daarnaast wil ik het synth gedeelte wel native houden ivm performance. Maar idd, ik zat erover te denken om veel van die legacy code gewoon naar C++/CLI te converten, da's waarschijnlijk praktischer dan alles continu te wrappen. Alleen dan kost het initieel een grotere investering, waardoor mijn zin om het daadwerkelijk te doen heel wat afneemtWoy schreef op donderdag 18 augustus 2011 @ 09:12:
[...]
Had je dan niet beter het andere project meteen in C++/CLI kunnen maken, of was dat al bestaande code?
[ Voor 22% gewijzigd door .oisyn op 18-08-2011 10:15 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Even wat achtergrond informatie: Ik ontwikkel een MES-systeem voor een brouwerij waarmee ze via een webpagina acties kunnen uitvoeren op de fabrieksvloer (zoals het starten van het brouwen, over pompen van 1 tank naar een andere, bulk materiaal uit een wagon transporteren naar een opslag silo, etc).
Nu krijg ik van de testers door dat wanneer ze een bulk wagon willen legen, ze geen feedback krijgen hoeveel er is geleegd. Nu probeer ik dat dus te repliceren op hetzelfde systeem waar de testers hebben getest. Maar ik krijg foutmeldingen dat stored procedures niet worden gevonden. Nadat dat is gefixed krijg ik een bak unhandled exceptions.
Ik vraag me nu echt af hoe ze getest hebben...
Bugfix Workaround: Voordat je op het knopje "heet water" drukt, eerst (flink hard) tegen de automaat aan schoppen / slaan.Hipska schreef op donderdag 18 augustus 2011 @ 11:16:
Hier ook Maas International automaten. Als ik een citroenthee (Ja ik lust geen koffie) neem, dan hangt vaak aan de rand van het bekertje enkele druppels koffie. BWAK!
Voordeel is dat de machines door het bedrijf zelf worden gemaakt dus als hij stuk is even naar het magazijn toe
Heeft die van ons ook, maar als de persoon voor je zijn bekertje weg haalt, en jij wilt daarna een bekertje (heet) water hebben, dan hangt er vaak nog een druppel koffie aan de koffie uitgang, die door het borrelen van de automaat toch nog weer in het volgende bekertje valt.DonKui schreef op donderdag 18 augustus 2011 @ 11:32:
Gelukkig hebben de automaten hier een gescheiden uitgang voor water en koffie
Geeft een nogal vieze bruine kleur aan je water.
Nou ja, de uitgangen zitten ook een ruimte 10 cm van elkaar vandaan dus daar heb ik nog een voordeel vanGateKeaper schreef op donderdag 18 augustus 2011 @ 11:38:
[...]
Heeft die van ons ook, maar als de persoon voor je zijn bekertje weg haalt, en jij wilt daarna een bekertje (heet) water hebben, dan hangt er vaak nog een druppel koffie aan de koffie uitgang, die door het borrelen van de automaat toch nog weer in het volgende bekertje valt.
Geeft een nogal vieze bruine kleur aan je water.
Maar begrijp je probleem wel, lijkt me nou niet lekker als je thee neemt en dan koffie proeft
Eerste bakje standaard weggooien? Of is dit altijd?Hipska schreef op donderdag 18 augustus 2011 @ 11:16:
Hier ook Maas International automaten. Als ik een citroenthee (Ja ik lust geen koffie) neem, dan hangt vaak aan de rand van het bekertje enkele druppels koffie. BWAK!
Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
Nu zou de baas het hier niet durven om een Maas automaat neer te zetten maareh.. komt er ondertussen koffie uit? De laatste keer dat ik zo'n ding heb aangeraakt was het gewoon opgewarmd slootwater.Hipska schreef op donderdag 18 augustus 2011 @ 11:16:
Hier ook Maas International automaten.
Anyone who gets in between me and my morning coffee should be insecure.
Workaround: De automaat schoppen.DonKui schreef op donderdag 18 augustus 2011 @ 11:43:
[...]
Maar begrijp je probleem wel, lijkt me nou niet lekker als je thee neemt en dan koffie proeft
Bugfix: Enkel nog koffie laten zetten
Zit ik hier nu te blinken.
https://fgheysels.github.io/
Als admin of op de server undo checkout doen en die collega's zelf hun code met jouw wijzigingen laten integreren is geen optie?whoami schreef op donderdag 18 augustus 2011 @ 12:01:
Haat het als collega's op vakantie gaan, zonder hun uitgecheckte files in te hebben gechecked ....
Zit ik hier nu te blinken.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Heb het niet altijd, maar wel 3/4 of meer. http://twitpic.com/67vtjg
Slootwater? Wij noemen het altijd maaswater....MueR schreef op donderdag 18 augustus 2011 @ 12:00:
[...]
Nu zou de baas het hier niet durven om een Maas automaat neer te zetten maareh.. komt er ondertussen koffie uit? De laatste keer dat ik zo'n ding heb aangeraakt was het gewoon opgewarmd slootwater.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Let op: Mijn post bevat meningen, aannames of onwaarheden
Suppose you found a bug in a game that rendered a console unplayable? Suppose it was something akin to the original Myth II Uninstall problem where it basically formatted your hard drive, only worse?
There was a game that was released in the last 10 years that had a peculiar issue toward the end where you could crash the title just before one of the end bosses by doing a manual save just as it was autosaving.
If you did, it caused the console kernel to overwrite itself, rendering the entire unit non-functional.
After causing this to happen once, I was asked to replicate the issue in front of people who made a lot more money than I did. After sixteen hours of play, I, again, saved while the game was autosaving, and watched with everyone else in the room as the screen turned black and the console shut down. Attempting to boot it up didn’t even result in an error screen, it would just power on and then shut back down.
(To me) “You can do this every time?”
“If I want to, yeah.”
(To a marketing guy) “How long until we’re supposed to ship?”
“We’re supposed to go gold in a week.”
(To a developer) “How long would this take to fix?”
“We’ll have to rewrite the entire file structure. Weeks, at least. Probably months.”
The game shipped.
I got fired.
Eigenaar/brouwer Milky Road Brewery
[ Voor 54% gewijzigd door DEiE op 18-08-2011 14:10 ]
Dat er verder niets gedaan is aan die bug is kwalijk, maar vanuit het oogpunt van de hoge bazen niet eens zo heel erg verwonderlijk. Dat ontslaan echter... Stank voor dank?
[ Voor 4% gewijzigd door Ram0n op 18-08-2011 14:14 ]
Eigenaar/brouwer Milky Road Brewery
Maarja er zijn toch genoeg van die save-bugs bekend? Alhoewel die niet het hele systeem vernaggelde (alhoewel er staat me iets van TMNT op de SNES
En fired met een hele dikke ontslagregeling lijkt me, want dat die info lekt is niet echt iets wat je als bedrijf kan permitteren...
Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
Dan ben je toch wel een tikkeltje naief vrees ik...Megamind schreef op donderdag 18 augustus 2011 @ 14:17:
Klinkt mij eerder als een broodje aap verhaal, die game zou nooit kunnen shippen met zo'n bug.
Twee managers in gesprek.Megamind schreef op donderdag 18 augustus 2011 @ 14:17:
Klinkt mij eerder als een broodje aap verhaal, die game zou nooit kunnen shippen met zo'n bug.
"Hoe groot is de kans dat iemand dit reproduceert?"
- "Mwah."
"Wat kost het als de defecte consoles waarbij het is gebeurd op ons worden verhaald?"
- "Mwah."
"Wat kost het als we drie maanden later shippen?"
- "Een paar ton, minstens."
"Ship maar."
@twee hieronder: true.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
Nothing to see here!
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
of er moeten nog dingen zijn die hij er natuurlijk niet heeft bijgemeld dat kan natuurlijk ook.
[ Voor 76% gewijzigd door Rutix op 18-08-2011 14:42 ]
Nothing to see here!
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Echter was hij niet degene die zei dat er een rewrite moest plaats vinden. Hij meldde alleen de bug.oisyn schreef op donderdag 18 augustus 2011 @ 14:42:
Het lijkt mij vrij duidelijk. De beste man is ontslagen omdat hij enorm incompetent is omdat hij denkt dat het voorkomen van manual saven terwijl er geautosaved wordt een hele rewrite van het file systeem nodig heeft.
Nothing to see here!
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Eigenaar/brouwer Milky Road Brewery
Heel veel leesplezier.Megamind schreef op donderdag 18 augustus 2011 @ 14:17:
Klinkt mij eerder als een broodje aap verhaal, die game zou nooit kunnen shippen met zo'n bug.
[ Voor 4% gewijzigd door AtleX op 18-08-2011 14:53 ]
Sole survivor of the Chicxulub asteroid impact.
Ja idd wat een fucking blunder was die game zeg.
Edit: Ik vind al die verhalen best sterk. >.>
[ Voor 8% gewijzigd door Rutix op 18-08-2011 14:56 ]
Nothing to see here!
*hele afdeling zit stoelen te verstellen en door het kantoor te rollen*
Let op: Mijn post bevat meningen, aannames of onwaarheden
Het was nog pre-alpha. Waarschijnlijk hadden ze er gewoon geen zin meer in, en hebben het toen maar gewoon gereleased as-is omdat de deal met de distributeur toch al rond was. You're winner!Soundless schreef op donderdag 18 augustus 2011 @ 16:17:
Lol heb hard moeten lachen om dat artikel. Ik begrijp echt niet hoe mensen erbij komen om zoiets te releasen. Ik persoonlijk zou het niet eens durven.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
[ Voor 4% gewijzigd door Gamebuster op 18-08-2011 16:49 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Af en toe zegt ie... you lucky bastard.st0p schreef op donderdag 18 augustus 2011 @ 19:06:
Voor een alpha kwam die productiviteits meter vandaag aardig in de richting. Ben ik de enige die zo af en toe een dag heeft waarin er code-technisch bar weinig uit mijn handen komt?
Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF
Zulke dagen heb ik ook wel eens ja, voornamelijk omdat ik dan andere dingen zit te doen zoals (systeem)documentatie ofzo.st0p schreef op donderdag 18 augustus 2011 @ 19:06:
Voor een alpha kwam die productiviteits meter vandaag aardig in de richting. Ben ik de enige die zo af en toe een dag heeft waarin er code-technisch bar weinig uit mijn handen komt?
Geef mij maar code.
We are shaping the future
Als ik s'ochtends wakker word weet ik al wat voor productiviteit ik die dag ga hebben. Vandaag was die bijvoorbeeld negatief. Dat wil zeggen adt ik mijzelf alleen maar meer werk heb bezorgd
Wordt je een lieve vogel gebracht als cadeautje, is-ie dood en opengescheurd!
Voor de liefhebbers van een foto voor een opengescheurde vogel: i.imgur.com/K0cM1.jpg
Express geen http:// ervoor: het is niet echt een smakelijke foto
[ Voor 8% gewijzigd door Gamebuster op 18-08-2011 21:55 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Volgens mij ben ik de enige op de wereld die het niet erg vindt om documentatie te schrijven. Ik vind het juist leuk om mijn code nog even netjes te maken en alle nodige stukjes van nette documentatie te voorzienAlex) schreef op donderdag 18 augustus 2011 @ 19:29:
[...]
Zulke dagen heb ik ook wel eens ja, voornamelijk omdat ik dan andere dingen zit te doen zoals (systeem)documentatie ofzo.
Geef mij maar code.
Alleen code van anderen documenteren is nog weleens crap omdat je dan alles moet gaan ontleden
Een soortgenoot!Avalaxy schreef op donderdag 18 augustus 2011 @ 22:14:
[...]
Volgens mij ben ik de enige op de wereld die het niet erg vindt om documentatie te schrijven. Ik vind het juist leuk om mijn code nog even netjes te maken en alle nodige stukjes van nette documentatie te voorzien
Mijn laatste (grote) reviews: Medal of Honor (VR), Half-Life: Alyx (VR)
Let op: Mijn post bevat meningen, aannames of onwaarheden
And the battle continues..oisyn schreef op donderdag 18 augustus 2011 @ 00:23:
Bah, ik haat C++/CLI wrappers schrijven zodat C# code kan interfacen met C++ code. Waarom werkt WPF nou niet gewoon in C++/CLI
Denk je dat het makkelijk is om in C++/CLI een delegate te definieren als je al een C++ class genaamd "delegate" hebt? Contextual keywords my ass. Hoe ga ik hier nou weer omheen werken
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Erg handig, nu kan ik lokaal het TSL UMD-protocol simuleren en testen
If money talks then I'm a mime
If time is money then I'm out of time
Omdat ten eerste C++ moeilijk te parsen is en ten tweede het veel teveel custom code vergt waardoor een one size fits all generator niet mogelijk isPrisonerOfPain schreef op donderdag 18 augustus 2011 @ 23:47:
Dat je nog geen code-gen tool heb gemaakt om die C++/CLI meuk te vereenvoudigen.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
He-le-maal mee eens. Zelf heb ik ook totaal geen moeite met het schrijven van documentatie. Sterker nog, ik weet dat ik er later profijt van heb. Echter willen docenten (HBO) nog weleens zeggen dat ik het te veel doordrijf. Echter ben ik het er daar vaak niet mee eens.Avalaxy schreef op donderdag 18 augustus 2011 @ 22:14:
[...]
Volgens mij ben ik de enige op de wereld die het niet erg vindt om documentatie te schrijven. Ik vind het juist leuk om mijn code nog even netjes te maken en alle nodige stukjes van nette documentatie te voorzien
Alleen code van anderen documenteren is nog weleens crap omdat je dan alles moet gaan ontleden
Laatst hadden we namelijk een project, waarbij een projectlid geen documentatie gebruikte. Toen ik hem daarop aansprak, vond hij dat ik maar aan het zeveren was. Toen ik echter zeven weken later naar een functie in z'n klasse vroeg, moest hij 1) zelf even kijken en 2) toen hij gekeken had, wist hij totaal niet wat de methode deed.
Toen ik hem attendeerde op het feit dat ik heel wat weken eerder had gevraagd naar documentatie, gaf hij aan dat ik toch wel enigszins gelijk had.
Hetzelfde geld overigens overigens voor testen en testplannen opstellen. In diezelfde groep (en de groep ervoor) had ik een uitgebreid testplan opgezet, waaraan niemand zich hield en ook niemand mee werkte. Uiteindelijk heb ik de moed maar opgegeven, omdat ze vanuit school toch te weinig hameren op bijkomende zaken zoals documentatie en testen.
[/mini-rant]
Erg zonde, om die redenen zijn eigenlijk al mijn schoolprojecten (in mijn ogen) gefaald. Coden is leuk, maar als je rommel produceert heb je er niet veel aan. Nu ben ik niet te beroerd om dingen zelf uit te zoeken (in tegendeel!), alleen wist ik simpelweg van het gros van die dingen amper van het bestaan af.
En al zoek je het zelf wél uit, dan nog weten je projectgenoten het 99% van de tijd alsnog te verfucken.
[ Voor 11% gewijzigd door Avalaxy op 19-08-2011 01:21 ]
Zoals je zelf al zegt, ik ken de termen OTAPI, DI of VCS he-le-maal niet. Wij hebben een tijdje PRINCE gehad (ook mbt support), het watervalmodelAvalaxy schreef op vrijdag 19 augustus 2011 @ 01:20:
Idd, gestructureerde werkwijzen worden helemáál niet gepromoot... Regressietesten? OTAP? DI? VCS? Wasda?
Erg zonde, om die redenen zijn eigenlijk al mijn schoolprojecten (in mijn ogen) gefaald. Coden is leuk, maar als je rommel produceert heb je er niet veel aan. Nu ben ik niet te beroerd om dingen zelf uit te zoeken (in tegendeel!), alleen wist ik simpelweg van het gros van die dingen amper van het bestaan af.
Daarnaast vind ik niet dat (al) mijn schoolprojecten gefaald zijn. Wel denk ik dat er een hoop van de projecten beter had gekunnen. Al had de helft van de groep maar meer inzet gehad of überhaupt mee willen testen.
Bij mijn vorig project was ik dan kwaliteitsbeheerder. Dat houdt bij ons op school concreet in dat je templates opstelt (documenten, code) en jezelf met het testen bezig houdt. Echter stel je dan een mooi document-template op in Word. Komt er één projectlid aan die de regelafstand niet mooi vind en dat dan gewoonweg aanpast. An sich maakt het me dan niet uit dat mensen een bepaald iets, iets anders willen hebben. Maar geef dat dan gewoon aan!En al zoek je het zelf wél uit, dan nog weten je projectgenoten het 99% van de tijd alsnog te verfucken.
Codestandaarden en documenteren hield - op één iemand na - zich totaal niemand aan. Code zoals:
1
2
3
4
5
6
7
| public class Interface { private eerste_Variabele; private second_field; public void DoSomethingSomethingDarkSide() { } public void correctDoSomethingSomethingDarkSide() { } public void alternative(string _someVar) { } |
was vrij normaal, en ALLES zonder documentatie, op wat inline documentatie na. En zoals ik net al zei, testen deed niemand wat aan, dus ben ik maar gewoonweg mee opgehouden.
Dat vind ik ook nog wel leuk, want het schijven van methode-documentatie (en indien nodig, inline comments) is ook meteen een mooie manier om te zien of de method names wel kloppen, enzovoorts.Avalaxy schreef op donderdag 18 augustus 2011 @ 22:14:
[...]
Volgens mij ben ik de enige op de wereld die het niet erg vindt om documentatie te schrijven. Ik vind het juist leuk om mijn code nog even netjes te maken en alle nodige stukjes van nette documentatie te voorzien
Agreed, dat is wat lastiger. Maar nog steeds leuk, als je daarna de schoffel door de code kan gaan halen om te gaan refactoren.Alleen code van anderen documenteren is nog weleens crap omdat je dan alles moet gaan ontleden
Waar ik echt een hekel aan heb is (mee)schrijven aan een functioneel of technisch ontwerp. Vooral bij het TO weet ik eigenlijk nooit goed wat er nou allemaal wel en niet in thuishoort. Ik zet er meestal wat blablabla in over het datamodel en de grootste terugkerende dingen (zoals gebruikte design patterns).
Ik kreeg laatst een TO in m'n handen wat letterlijk niets meer was dan een XSD-schema.
We are shaping the future
Let op: Mijn post bevat meningen, aannames of onwaarheden
Ja moest ik ook enorm om lachen toen ik het zag ja!
Ideale IDE (L)
Moet helaas nog niet veel in RoR doen, maar even opzoek naar een (bij)baan daarin, i.p.v. PHP waar ik nu voorlopig even genoeg van heb.
Daar had ik ook altijd last van. Gelukkig hebben ze me dat bij mijn afstudeerstage heel snel eruit geholpen. Heb nog nooit zolang aan een FO en TO zitten schrijven (+- 8 van de 20 wekenAlex) schreef op vrijdag 19 augustus 2011 @ 08:46:
[...]
Waar ik echt een hekel aan heb is (mee)schrijven aan een functioneel of technisch ontwerp. Vooral bij het TO weet ik eigenlijk nooit goed wat er nou allemaal wel en niet in thuishoort. Ik zet er meestal wat blablabla in over het datamodel en de grootste terugkerende dingen (zoals gebruikte design patterns).
WTF.... Hoe kun je uberhaupt agile bezig zijn wanneer je niet minimaal OTAP (of OTP) en VCS hebt?alex3305 schreef op vrijdag 19 augustus 2011 @ 01:42:
Zoals je zelf al zegt, ik ken de termen OTAPI, DI of VCS he-le-maal niet. Wij hebben een tijdje PRINCE gehad (ook mbt support), het watervalmodelen tegenwoordig is SCRUM programming een heel hot-topic.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Waarom moet je C++ parsen om een code-gen tool te schrijven.oisyn schreef op vrijdag 19 augustus 2011 @ 00:38:
[...]
Omdat ten eerste C++ moeilijk te parsen is en ten tweede het veel teveel custom code vergt waardoor een one size fits all generator niet mogelijk is
Op een project van 3 maanden met 5 man heeft het ook totaal geen zin om regressietesten op te zettenAvalaxy schreef op vrijdag 19 augustus 2011 @ 01:20:
Idd, gestructureerde werkwijzen worden helemáál niet gepromoot... Regressietesten? OTAP? DI? VCS? Wasda?
Erg zonde, om die redenen zijn eigenlijk al mijn schoolprojecten (in mijn ogen) gefaald. Coden is leuk, maar als je rommel produceert heb je er niet veel aan. Nu ben ik niet te beroerd om dingen zelf uit te zoeken (in tegendeel!), alleen wist ik simpelweg van het gros van die dingen amper van het bestaan af.
En al zoek je het zelf wél uit, dan nog weten je projectgenoten het 99% van de tijd alsnog te verfucken.
Als 'school' het zou verplichten om regressietesten etc op te zetten, dan heb je geen tijd meer om te programmeren, en heb je de rest van je leven zo'n hekel aan regressietesten dat je ze nooit meer zal gaan opzetten
Projectgenoten die het verfucken had ik een mooie oplossing voor: ik schreef het gewoon zelf wel, dat kostte me uiteindelijk minder tijd
Ik zet zelf meestal de documentatie bij alle functies, en vaak ook voor elke regel nog een stuk commentaar er achter.
Intel i7-12700KF/Giga-Byte B760I Aorus Pro DDR4/MSI Geforce 1080Ti 11Gb/Corsair 2x16.384MB DDR4-3200/Samsung SSD 980 Pro 1 Tb/Crucial MX500 1 Tb/Seagate 1 Tb
.Gertjan.: Er is maar een goede Mac en dat is die gele M langs de snelweg :D
Kunst is om het ook wel bij te houden. Zag laatst een paar regels staan die nog sloegen op iets wat al niet meer van toepassing was
Architectuur en high level design wordt gemaakt.ValHallen schreef op vrijdag 19 augustus 2011 @ 10:09:
Even terug komend op documentatie, hoe doen jullie dat?
Ik zet zelf meestal de documentatie bij alle functies, en vaak ook voor elke regel nog een stuk commentaar er achter.
Interfaces, external als internal worden gedocumenteerd in de code.
Implementaties zijn vanzelf gedocumenteerd in de unit tests. Streven naar korte functies.
Natuurlijk kunnen er soms uitzonderingen gemaakt worden.
Hey Isaac...let's go shuffleboard on the Lido - deck...my site koli-man => MOEHA on X-Box laaaiiiff
Omdat er C++/CLI classes gegenereerd moeten worden uit bestaande C++ classes? Hoe had jij dat dan bedacht?MBV schreef op vrijdag 19 augustus 2011 @ 10:04:
[...]
Waarom moet je C++ parsen om een code-gen tool te schrijven
Ook leuk: conversie van callbacks naar events. Allereerst heb je een native proxy class nodig die je event implementeert, want een managed class kun je niet laten overerven van een native class. Vervolgens moet je al die methods van de interface die je wilt converteren naar events ook nog eens in je managed class zelf zetten omdat een een of andere idioot heeft bedacht dat het wel handig was om de raise() van events standaard niet public te maken, en je om dat aan te passen de complete boilerplate code van het adden, removen en raisen van events zelf mag gaan zitten implementeren. Niet handig, dus dan maar gewoon even een internal method toevoegen. Oftewel, elke method mag je op 3 plaatsen gaan zitten herhalen. Dus je krijgt dit soort geneuzel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| // native interface class IFoo { public: virtual void Foo() = 0; }; class MyNative { public: void AddFoo(IFoo* pFoo); }; // managed interface ref class MyManaged { public: delegate void FooHandler(); // plek 1 event FooHandler^ Foo; MyManaged(MyNative * pNative) : m_pNative(pNative) { m_pProxy = new FooProxy(this); m_pNative->AddFoo(m_pFoo); } internal: void OnFoo() // plek 2 { Foo(); } MyNative * m_pNative; FooProxy * m_pProxy; }; class FooProxy : public IFoo { public: FooProxy (MyManaged^ pManaged) : m_pManaged(pManaged) { } virtual void Foo() { m_pManaged->OnFoo(); } // plek 3 private: gcroot<MyManaged^> m_pManaged; }; |
[ Voor 82% gewijzigd door .oisyn op 19-08-2011 10:58 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Maar soms wordt hij ineens toch gevuld.
Ik hou er niet van als dingen zich onvoorspelbaar gedragen.
We are shaping the future
Dit topic is gesloten.
![]()
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep, niet als vraagbaak
