Let op: Mijn post bevat meningen, aannames of onwaarheden
Verwijderd
Daarom heb ik een hekel aan reset.css.Gamebuster schreef op vrijdag 08 november 2013 @ 15:57:
Cascading Stylesheet:
1 2 3 4 zooi_tags, strong, b, zooi_andere_tags { font: inherit; zooi: andere properties; }
Gevolg: strong & b die geen vette tekst meer hebben.
Ik haat het als men de CSS verkracht. Style gewoon wat je moet stylen ofzo en ga niet globaal kutten
[ Voor 4% gewijzigd door Gamebuster op 08-11-2013 16:13 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Edit: Lol en nu timeout de corporate vpn eruit en ik werk thuis vandaag >.> zit echt niet mee.
[ Voor 21% gewijzigd door Rutix op 08-11-2013 16:20 ]
Nothing to see here!
Ik zou me dus echt niet prettig voelen in een strak pak achter een PC. Een pak is ook echt zo'n "kijk mij eens netjes zijn" statement die alleen nodig is voor marketing en sales lui die met achterlijke klanten, die nog niet het verschil kunnen zien tussen iemand die echt goed is en het achtereind van een varken, te maken hebben...Ealanrian schreef op vrijdag 08 november 2013 @ 15:50:
[...] Ben ik geen echte devver meer omdat ik het niet erg vind om in pak te lopen? [...]
Soms is het wel netjes though. Als je naar de klant moet of bij een installatie op een customer site waar de mensen daar ook netjes gekleed lopen dan is het ook netjes als je zelf in pak bent.Caelorum schreef op vrijdag 08 november 2013 @ 16:24:
[...]
Ik zou me dus echt niet prettig voelen in een strak pak achter een PC. Een pak is ook echt zo'n "kijk mij eens netjes zijn" statement die alleen nodig is voor marketing en sales lui die met achterlijke klanten, die nog niet het verschil kunnen zien tussen iemand die echt goed is en het achtereind van een varken, te maken hebben...
Nothing to see here!
Mooi! Begin maar vast met linkjes verzamelen naar veel voorkomende vragen op SO, en schrijf een samenvattende post waarin je het basisprobleem en de meest gangbare oplossingen uitlegt.
De naam is wel het minst belangrijk.
Zoiets.
Ik ben dus al een tijd aan het spelen met het idee om dat beter op te zetten. Geen winstoogmerk, community-driven, enzovoorts. Hét uitgangspunt is dat alle vragen al zijn beantwoord; een nieuwe vraag kunnen stellen op de site die ik voor ogen heb is een privilege dat je zal moeten verdienen. Om in de initiële vulling te voorzien, wil ik linken naar en content overnemen van populaire SO-vragen. Dat mag, want Creative Commons.
Nieuwe vragen worden ingevuld in een bugformulier, dus het verplicht uitsplitsen van de vraag: wat wil je doen, waarom, wat heb je al geprogrammeerd, wat is de invoer, wat is de uitvoer, wat verwacht je, enzovoorts. Nieuwe vragen komen in een queue die gereviewd wordt. Hieruit zal (hopelijk) blijken dat de meeste vragen eigenlijk veel te breed zijn, en dat ze kunnen worden opgedeeld in duplicates van andere vragen.
Daarnaast wil ik ook gewoon "opsomlijsten" toestaan. Als je onbekend bent met een platform, wil je niet eerst tien ORM-pakketten hoeven uitproberen, maar kies je gewoon degene die door de community als populairste is aangemerkt.
En zo heb ik nog wel zeeën van ideeën hoe StackOverflow steken laat vallen die naar mijn bescheiden mening prima op te lossen zijn, desnoods met een beleidsverandering. Zij staan er niet voor open, dan doe ik het zelf wel. Nu alleen nog tijd zien te vinden.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Verwijderd
Bwa, zo zou ik het niet omschrijven. Zoals je misschien wel weet zit ik in de consultancy en betekent dat dat ik voor 99% van de tijd bij de klant ben. Wij passen ons aan aan wat de klant draagt en gaan net 1 stapje hoger. Momenteel zit ik bij een chemisch bedrijf waar iedereen gewoon draagt waar hij zin in heeft en dus passen wij ons daar op aan. Wij gaan dus gewoon netjes met een hemd, geklede broek en geklede schoenen naar het werk.Caelorum schreef op vrijdag 08 november 2013 @ 16:24:
[...]
Ik zou me dus echt niet prettig voelen in een strak pak achter een PC. Een pak is ook echt zo'n "kijk mij eens netjes zijn" statement die alleen nodig is voor marketing en sales lui die met achterlijke klanten, die nog niet het verschil kunnen zien tussen iemand die echt goed is en het achtereind van een varken, te maken hebben...
Als we een project hebben bij een bank - waar iedereen een pak draagt - doen wij dat uiteraard ook.
Hebbie toch normalise.css voor?Gamebuster schreef op vrijdag 08 november 2013 @ 16:13:
reset.css is zooo 2007
En nu verkopen voordat 't crasht? Of blijf je afwachten?Avalaxy schreef op vrijdag 08 november 2013 @ 16:52:
Ik dacht vorige week even te gaan investeren in Bitcoins... Voor €300 2 stuks aangeschaft, weekje later is het al €530 waard, teh fuck
Ik vind persoonlijk een pak best comfortabel, zolang de kraag niet te strak zit. En bij het bedrijf waar ik nu zit krijg ik wel vragen als ik in pak aan kom omdat bijna niemand in pak loopt maar daar trek ik me niet veel van aan als ik mijn pak draagCaelorum schreef op vrijdag 08 november 2013 @ 16:24:
[...]
Ik zou me dus echt niet prettig voelen in een strak pak achter een PC. Een pak is ook echt zo'n "kijk mij eens netjes zijn" statement die alleen nodig is voor marketing en sales lui die met achterlijke klanten, die nog niet het verschil kunnen zien tussen iemand die echt goed is en het achtereind van een varken, te maken hebben...
Bij mij is het credo: leesbaar en bruikbaar voor alle browsers, moet er goed uit zien in IE9 en bij iedere stap dichter bij de moderne tijd die je maakt met je browser wordt hij iets mooier*.
* beauty is in the eye of the beholder
Die broeken zitten echt wel lekker, net een trainingsbroek. Stropdas is wat minder comfortabel en het jasje meestal te warm. Stijve leren schoenen halen het ook niet bij sneakers. Maar ik lig er niet van wakker als ik iedere dag op mijn werk zou moeten komen met een pantalon, nette schoenen en net shirt.Ealanrian schreef op vrijdag 08 november 2013 @ 16:55:
[...]
Ik vind persoonlijk een pak best comfortabel, zolang de kraag niet te strak zit. En bij het bedrijf waar ik nu zit krijg ik wel vragen als ik in pak aan kom omdat bijna niemand in pak loopt maar daar trek ik me niet veel van aan als ik mijn pak draag
[ Voor 51% gewijzigd door BikkelZ op 08-11-2013 17:00 ]
iOS developer
Verwijderd
Het kan helaas even snel dalen als dat het stijgt.Avalaxy schreef op vrijdag 08 november 2013 @ 16:52:
Ik dacht vorige week even te gaan investeren in Bitcoins... Voor €300 2 stuks aangeschaft, weekje later is het al €530 waard, teh fuck
Ik sta nogal sceptisch tegenover die BitCoins. Heb er mij nooit echt in verdiept maar ik vraag me af hoe zo'n currency kan ontstaan en hoe het tot stand gehouden wordt. Het klinkt me allemaal gewoon iets te mooi om waar te zijn en als het te mooi klinkt om waar te zijn, is het dat ook meestal.
3000 stemmen om dit te fixen.
Microsoft: "Nah, geen zin, weet je, :effort: enzo"
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Dat is iets waar je dan zelf eens wat informatie over moet gaan lezen. Niemand kan je alles uitleggen met een paar woorden en daarbij zijn er altijd 2 kampen waarbij de één zegt dat het één grote bubbel is, en de ander ziet het als 'de toekomst'.Verwijderd schreef op vrijdag 08 november 2013 @ 17:01:
[...]
Het kan helaas even snel dalen als dat het stijgt.
Ik sta nogal sceptisch tegenover die BitCoins. Heb er mij nooit echt in verdiept maar ik vraag me af hoe zo'n currency kan ontstaan en hoe het tot stand gehouden wordt. Het klinkt me allemaal gewoon iets te mooi om waar te zijn en als het te mooi klinkt om waar te zijn, is het dat ook meestal.
Ik ben zelf overgestapt naar alt coins, en trade redelijk wat op mcxnow. Mij boeit heel het coin verhaal niet echt, maar ik maak wel mijn 'winst' met het traden van die dingen. Ik trade dan op alt coins, om vervolgens ooit eens uit te cashen via bitcoins. Het voordeel van zo traden op eigenlijk een verkapte 'stockexchange' is dat je amper fee's hoeft te betalen. Ik wilde ooit wat doen op de beurs, maar dan moet je of heeul veel geld hebben, of dingen lang erop laten staan. Voor fast trading met lage tot soms geen fee's is dat bitcoin / altcoin gebeuren wel leuk.
Vind het argument en uitleg dat ze geven nog wel enigszins redelijk. Misschien niet leuk, maar ik zie er geen 'oh lekker boeiend' reactie in. Al met al is het natuurlijk wel een rot 'feature' en loop er zelf soms ook tegen aan.Firesphere schreef op vrijdag 08 november 2013 @ 17:03:
https://visualstudio.user...le-name-length-limitation
3000 stemmen om dit te fixen.
Microsoft: "Nah, geen zin, weet je, :effort: enzo"
ah shit, dubbele post sorry!
[ Voor 3% gewijzigd door Douweegbertje op 08-11-2013 17:21 ]
Nah ik hou het vast, is meer een langetermijninvestering. Voor over een paar jaar ofzoGateKeaper schreef op vrijdag 08 november 2013 @ 16:53:
[...]
En nu verkopen voordat 't crasht? Of blijf je afwachten?
Ik lees de uitleg meer als:douweegbertje schreef op vrijdag 08 november 2013 @ 17:21:
[...]
Vind het argument en uitleg dat ze geven nog wel enigszins redelijk. Misschien niet leuk, maar ik zie er geen 'oh lekker boeiend' reactie in. Al met al is het natuurlijk wel een rot 'feature' en loop er zelf soms ook tegen aan.
ah shit, dubbele post sorry!
Ehm, ja, het is een keer zo gedaan nou eenmaal, en daardoor is het wijzigen ons een beetje teveel werk.
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Je kan ze ook ergens weg zetten als je dat aan durftAvalaxy schreef op vrijdag 08 november 2013 @ 17:23:
[...]
Nah ik hou het vast, is meer een langetermijninvestering. Voor over een paar jaar ofzoEr kunnen maar max ~21 miljoen van die dingen zijn wereldwijd.
Tja sorry maar dan snap je niet helemaal hoe diep dat verwezen zit in zowel het ecosysteem zelf als álle applicaties eromheen. Dat ga je idd niet zomaar even aanpassenFiresphere schreef op vrijdag 08 november 2013 @ 17:03:
https://visualstudio.user...le-name-length-limitation
3000 stemmen om dit te fixen.
Microsoft: "Nah, geen zin, weet je, :effort: enzo"
[ Voor 21% gewijzigd door .oisyn op 08-11-2013 18: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.
observatie 1: Documentatie laat sterk te wensen over. Lijkt niet upgedate te zijn sinds 2011.
[ Voor 24% gewijzigd door HMS op 08-11-2013 18:34 ]
Ik snap heel goed hoe het tot stand is gekomen en hoe diep dat er in zit hoor.oisyn schreef op vrijdag 08 november 2013 @ 18:11:
[...]
Tja sorry maar dan snap je niet helemaal hoe diep dat verwezen zit in zowel het ecosysteem zelf als álle applicaties eromheen. Dat ga je idd niet zomaar even aanpassen. Iets wat overigens duidelijk naar voren komt in de comment, dus ik snap niet helemaal hoe jouw interpretatie ervan tot stand komt. Tenzij je de user comments als zoete koek slikt natuurlijk
Dat Microsoft het daarom niet wil fixen, snap ik ook wel, maar met 3000 upvotes.... vind ik het persoonlijk nogal een kunst om te zeggen "Het is ingewikkeld, dus nee", dan had ik eerder iets van "Het is ingewikkeld, we kunnen kijken of er een oplossing voor te vinden is, maar we beloven niets"
Interessant verhaal over Java, Ruby, Lego en Play-Doh.
http://weblog.jamisbuck.o...-play-doh-and-programming
[ Voor 7% gewijzigd door Firesphere op 08-11-2013 18:44 ]
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Waarom zou je het willen vervangen? Iets bijzonders wat je mist of niet bevalt?HMS schreef op vrijdag 08 november 2013 @ 18:21:
Iemand ervaring met FubuMVC als vervanger voor ASP.NET MVC? Ziet er erg goed uit moet ik zeggen, ik ga even kijken hoe het voelt om over te stappen
observatie 1: Documentatie laat sterk te wensen over. Lijkt niet upgedate te zijn sinds 2011.
Beetje het verhaal spark vs razer....zo gauw Microsoft zijn gewicht ergens achter gooit zijn de alternatieven vaak een beetje afgelopen.....
iOS developer
En waarschijnlijk zijn ze er zelf al tegen aan gelopen voordat uberhaupt dat ticket er wasCaelorum schreef op vrijdag 08 november 2013 @ 18:45:
Ach alsof ze 1) de oplossing niet weten en 2) er niet al lang naar hebben gekeken. Ik kan niet geloven dat ze zo'n ergernis niet al lang hadden willen oplossen. Waarschijnlijk hebben ze er al lang voordat die ticket werd aangemaakt naar gekeken en het idee afgewezen.
Nothing to see here!
En hoe verschilt dat van MVC?HMS schreef op vrijdag 08 november 2013 @ 18:21:
observatie 1: Documentatie laat sterk te wensen over. Lijkt niet upgedate te zijn sinds 2011.
Jup. Mijn D:\Source\Visual Studio\Basisnamespace\Basisnamespace.Projectnaam\Basisnamespace.Projectnaam.Library-paden zorgen bij het toevoegen van nieuwe projecten al vaak voor foutmeldingen. Het "Add Project"-scherm hanteert een nog strakkere limiet, omdat het niet weet welke template gedraaid gaat worden en welke padnamen dáár weer uitkomen.Caelorum schreef op vrijdag 08 november 2013 @ 18:55:
Iedereen loopt er tegenaan ^^
[ Voor 51% gewijzigd door CodeCaster op 08-11-2013 19:35 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Dat is waar inderdaad.Jegorex schreef op vrijdag 08 november 2013 @ 19:14:
Is het niet zo dat telefoons regelmatig tijdens een sessie van IP kunnen veranderen? Het lijkt me ook niet echt gebruikersvriendelijk om elke minuut ofzo opnieuw in te moeten loggen.
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Ik heb zelf geen stijf leren schoenen er bij, om een stropdas comfortabel te hebben moet je kraag de juiste maat hebben en het jasje ja die hangt dan wel over de stoel maar verder geen probleem. en sneakers kan ik toch niet aanBikkelZ schreef op vrijdag 08 november 2013 @ 16:58:
reset.css is toch meer iets voor mensen die nog lief willen zijn voor IE6?
Bij mij is het credo: leesbaar en bruikbaar voor alle browsers, moet er goed uit zien in IE9 en bij iedere stap dichter bij de moderne tijd die je maakt met je browser wordt hij iets mooier*.
* beauty is in the eye of the beholder
[...]
Die broeken zitten echt wel lekker, net een trainingsbroek. Stropdas is wat minder comfortabel en het jasje meestal te warm. Stijve leren schoenen halen het ook niet bij sneakers. Maar ik lig er niet van wakker als ik iedere dag op mijn werk zou moeten komen met een pantalon, nette schoenen en net shirt.
Het probleem met de 260 character limiet heeft eigenlijk te maken met oude Win32 API calls die rondom dat punt een harde limiet hebben liggen. De file handling in zowel het .NET framework als de Visual Studio tooling is hier bovenop geschreven.Caelorum schreef op vrijdag 08 november 2013 @ 18:45:
Ach alsof ze 1) de oplossing niet weten en 2) er niet al lang naar hebben gekeken. Ik kan niet geloven dat ze zo'n ergernis niet al lang hadden willen oplossen. Waarschijnlijk hebben ze er al lang voordat die ticket werd aangemaakt naar gekeken en het idee afgewezen.
In de nieuwere Windows OS versies zijn er al wat langer betere APIs beschikbaar op basis van veel meer flexibele UNC paden. De kernel en wat er omheen zweeft gaat hier al perfect mee om. Een heleboel van de tools die op de desktop draaien zelfs ook al. De command prompt werkt er bijvoorbeeld gewoon mee. Windows Explorer alleen dan weer niet. Dat is als je het even uitzoekt ook niet zo vreemd: Explorer kan met allerlei shell extensies te maken krijgen die op hun beurt mogelijk niet veilig met UNC paden om kunnen gaan.
Daar zit dan ook meteen het hele probleem: zelfs al zou Microsoft's eigen software perfect met UNC paden om kunnen gaan, dan is er alsnog een gigantische berg slecht geschreven software die absoluut op z'n plaat zou gaan als er ooit aan de pad limiet getornd zou worden. Denk bijvoorbeeld aan malpractices als fixed-size string buffers waarbij de data die er in gaat niet op lengte gecontroleerd wordt 'omdat die toch niet groter kan zijn'.
Omdat het .NET framework ook bovenop deze oude APIs draait en er ook in .NET software geschreven wordt op basis van dit soort foute aannames, kost het gewoonweg fenomenaal veel moeite om dit allemaal in goede banen te leiden: je ontkomt er niet aan je complete tooling om te moeten schrijven naar een anere API. Je kunt niet zomaar .NET ombouwen om van de oude Win32 API file handling naar UNC file handling over te gaan.
Mensen die niet kunnen begrijpen dat Microsoft liever prioriteit geeft aan andere issues, zijn hun besef met de realiteit misschien een beetje verloren.
[ Voor 3% gewijzigd door R4gnax op 08-11-2013 20:08 ]
Tja, maar in de consultancy ben je ook gewoon continu ook in rol als verkoper/marketing dude/vrouw. Dus dan snap ik ook wel dat je er representatief uit wilt zien. Echter is dat nog steeds gestoeld op het idee van de klant dat iemand die niet in pak is onkundig is of op een andere manier onderdoet voor iemand die wel in pak is. Dat hele idee vind ik raar en idioot, en doe ik dus niet aan mee.Verwijderd schreef op vrijdag 08 november 2013 @ 16:33:
[...] Bwa, zo zou ik het niet omschrijven. Zoals je misschien wel weet zit ik in de consultancy [...].
Precies.R4gnax schreef op vrijdag 08 november 2013 @ 20:06:
[...]
Het probleem met de 260 character limiet heeft eigenlijk te maken met oude Win32 API calls die rondom dat punt een harde limiet hebben liggen. De file handling in zowel het .NET framework als de Visual Studio tooling is hier bovenop geschreven.
In de nieuwere Windows OS versies zijn er al wat langer betere APIs beschikbaar op basis van veel meer flexibele UNC paden. De kernel en wat er omheen zweeft gaat hier al perfect mee om. Een heleboel van de tools die op de desktop draaien zelfs ook al. De command prompt werkt er bijvoorbeeld gewoon mee. Windows Explorer alleen dan weer niet. Dat is als je het even uitzoekt ook niet zo vreemd: Explorer kan met allerlei shell extensies te maken krijgen die op hun beurt mogelijk niet veilig met UNC paden om kunnen gaan.
Daar zit dan ook meteen het hele probleem: zelfs al zou Microsoft's eigen software perfect met UNC paden om kunnen gaan, dan is er alsnog een gigantische berg slecht geschreven software die absoluut op z'n plaat zou gaan als er ooit aan de pad limiet getornd zou worden. Denk bijvoorbeeld aan malpractices als fixed-size string buffers waarbij de data die er in gaat niet op lengte gecontroleerd wordt 'omdat die toch niet groter kan zijn'.
Omdat het .NET framework ook bovenop deze oude APIs draait en er ook in .NET software geschreven wordt op basis van dit soort foute aannames, kost het gewoonweg fenomenaal veel moeite om dit allemaal in goede banen te leiden: je ontkomt er niet aan je complete tooling om te moeten schrijven naar een anere API. Je kunt niet zomaar .NET ombouwen om van de oude Win32 API file handling naar UNC file handling over te gaan.
Mensen die niet kunnen begrijpen dat Microsoft liever prioriteit geeft aan andere issues, zijn hun besef met de realiteit misschien een beetje verloren.
260 is meer dan genoeg, ik kom bij mij op het werk wel eens files tegen waarvan de naam langer is dan de inhoud.
Het grote voordeel van windows is dat je meer dos-boxen kan openen
Het is gewoon een flaw waar ze vroegah niet over dachten. Verder, definieer files? Het gaat hier om dingen zoals boven beschrevendoskabouter schreef op vrijdag 08 november 2013 @ 21:12:
[...]
Precies.
260 is meer dan genoeg, ik kom bij mij op het werk wel eens files tegen waarvan de naam langer is dan de inhoud.
Nu kan je hier wel het één en ander aan doen, maar we hebben het niet over een file structuur voor je .doc files..Jup. Mijn D:\Source\Visual Studio\Basisnamespace\Basisnamespace.Projectnaam\Basisnamespace.Projectnaam.Library-paden zorgen bij het toevoegen van nieuwe projecten al vaak voor foutmeldingen
Strakke post
Wel een opmerking: voor het gebruik van UNC paden is niet zozeer een andere API nodig. Volgens mij accepteert elke win32 API functie die iets met paden doet sinds Windows NT ook UNC paden (in de vorm van \\?\c:\heeeeuullangpad\bla). Wel de Unicode versie gebruiken, maar da's eigenlijk wel redelijk standaard.
[ Voor 11% gewijzigd door .oisyn op 08-11-2013 22:04 ]
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.
http://sideeffect.kr/popularconvention/#python
Leuk om te zien, tabs vs spaces, over verschillende talen
Wát?douweegbertje schreef op vrijdag 08 november 2013 @ 21:29:
Nu kan je hier wel het één en ander aan doen, maar we hebben het niet over een file structuur voor je .doc files..
Ik had met MSBuild ook last van die padrestrictie. We gebruiken een shared repository op D:\Libraries\NuGet\packages, maar ik wil de NuGet-packages die ik reference niet hardcoden. In de .csproj staat dus bijvoorbeeld de reference:
1
| ..\..\..\..\..\..\Libraries\NuGet\packages\EntityFramework\enz |
Daar klapt MSBuild op, omdat hij dat pad achter de projectdirectory plakt.
[ Voor 4% gewijzigd door CodeCaster op 09-11-2013 12:32 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
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.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Te lang niet gecommit, nu veranderingen vanuit mijn opdrachtgever en conflicts, conflicts all over
Volgens mij werkt het straks wel weer.
2x ViewSonic VP-27885K | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
Gek dat veel dingen niet in lijn zijn met JSLint (en een kleiner beetje JSHint) waar iedereen compleet op geiltDXaroth schreef op zaterdag 09 november 2013 @ 01:32:
Nog leuke site over coding conventions zoals gevonden op github:
http://sideeffect.kr/popularconvention/#javascript
Leuk om te zien, tabs vs spaces, over verschillende talen
Of dit zegt dat de meeste JS coders gewoon prutsers zijn!
[ Voor 8% gewijzigd door BtM909 op 09-11-2013 15:42 ]
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.
1
2
3
| if (true == true) { /**/ } |
mooier dan
1
2
3
4
| if (true == true) { /**/ } |
Maar ik word verplicht om de tweede te gebruiken, 'want dat hoort zo'.
Ik vind dat dat veel te veel regels code kost.
2x ViewSonic VP-27885K | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
[ Voor 111% gewijzigd door ZpAz op 09-11-2013 16:38 ]
Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF
Dit vind ik mooier:F.West98 schreef op zaterdag 09 november 2013 @ 16:26:
Ik vind trouwens
C#:
1 2 3 if (true == true) { /**/ }
mooier dan
C#:
1 2 3 4 if (true == true) { /**/ }
1
2
3
| { /**/ } |
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Als we toch aan het optimaliseren zijn.
1
|
Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF
Verwijderd
1
2
3
4
| if ( true == true ) { /**/ } |
natuurlijk.
Nu we het toch over code style hebben, bestaan er eigenlijk pretty-printing IDE's zoals matlab dat doet?
Dat doen ze expres zodat jij je functies dan kort gaat houden omdat ze anders niet meer op één scherm passen. Als ik dit soort dingen zie:F.West98 schreef op zaterdag 09 november 2013 @ 16:26:
Ik vind trouwens
C#:
1 2 3 if (true == true) { /**/ }
mooier dan
C#:
1 2 3 4 if (true == true) { /**/ }
Maar ik word verplicht om de tweede te gebruiken, 'want dat hoort zo'.
Ik vind dat dat veel te veel regels code kost.
1
2
3
4
5
| if (someThing) return stuff; if (someOtherThing) return otherStuff; // und so weiter |
Dat is niet een situatie waarin je code anders te lang wordt met al die { en } op een eigen regel, dat is een situatie waar je code riekt.
iOS developer
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.
In visual studio: ctrl+e+d
In eclipse: ctrl+shift+f
En voila geen tijd meer verspild met iets wat inhoudelijk geen waarde heeft.
Dat is echt ongelooflijk afhankelijk van de keuze van de environment settings bij 1e keer opstarten van Visual Studio (of later via menu natuurlijk). Bij mij was de auto-format altijd ctrl+k+d voor C# en General, maar geloof dat het voor C++ al weer anders isNeverwinterx schreef op zaterdag 09 november 2013 @ 17:50:
[...] In visual studio: ctrl+e+d [...]
[ Voor 17% gewijzigd door Caelorum op 09-11-2013 19:21 ]
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.
Amen.Neverwinterx schreef op zaterdag 09 november 2013 @ 17:50:
Code conventies op zich maken niets uit, zolang ze maar consistent gebruikt worden. En daaruit volgt dat je best de autoformat van je IDE kunt volgen, want die is het efficientst om te gebruiken (kost minstte tijd tov handmatig wat te zitten knoeien met spaces)
In visual studio: ctrl+e+d
In eclipse: ctrl+shift+f
En voila geen tijd meer verspild met iets wat inhoudelijk geen waarde heeft.
In feite boeit het nooit zo erg, grotendeels zijn sommige dingen wel logisch als je het op manier X zou doen, echter moet je gewoon zorgen dat het overal het zelfde blijft. Ik paste mij ook toentertijd aan bij het bedrijf waar ik werkte. Simpele vraag: hoe doen jullie dit, en dat?
dan voor mij persoonlijk hou ik meer van de bracket op de volgende lijn. Bij de wat grotere if statements krijg je naar mijn mening een beter overzicht zoals:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <?php if($blaat == 1) { if($blep == 2) { } } if($blaat == 1) { if($blep == 2) { } } ?> |
Dit heeft dan ook wellicht te maken dat de huidige code base (helaas) uit ontzettend veel if/else'jes bestaat
In je IDE kan je natuurlijk ook gewoon instellen wat je guidelines zijn, en als je bestaande (/veelgebruikte) pakt, is het ook een stuk makkelijker instellen. En kan je tools gebruiken ook je code automatisch te checken/fixen.Amen.
In feite boeit het nooit zo erg, grotendeels zijn sommige dingen wel logisch als je het op manier X zou doen, echter moet je gewoon zorgen dat het overal het zelfde blijft. Ik paste mij ook toentertijd aan bij het bedrijf waar ik werkte. Simpele vraag: hoe doen jullie dit, en dat?
Voorbeeldje PSR-2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| namespace Vendor\Package; use FooInterface; use BarClass as Bar; use OtherVendor\OtherPackage\BazClass; class Foo extends Bar implements FooInterface { public function sampleFunction($a, $b = null) { if ($a === $b) { bar(); } elseif ($a > $b) { $foo->bar($arg1); } else { BazClass::bar($arg2, $arg3); } } final public static function bar() { // method body } } |
Ik vind het maar niks. Overzichtelijkheid staat voor op vind ik. Geheid dat er een keer het volgende gaat gebeuren:Barryvdh schreef op zaterdag 09 november 2013 @ 19:47:
[...]
In je IDE kan je natuurlijk ook gewoon instellen wat je guidelines zijn, en als je bestaande (/veelgebruikte) pakt, is het ook een stuk makkelijker instellen. En kan je tools gebruiken ook je code automatisch te checken/fixen.
Voorbeeldje PSR-2:
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
| namespace Vendor\Package; use FooInterface; use BarClass as Bar; use OtherVendor\OtherPackage\BazClass; class Foo extends Bar implements FooInterface { public function sampleFunction($a, $b = null) { if ($a === $b) { someOtherMethod(); // 2e aanpassing if($changedByMonkey) // 1e aanpassing soundAlarm(); // 1e aanpassing } elseif ($a > $b) { $foo->bar($arg1); } else { BazClass::bar($arg2, $arg3); } } final public static function bar() { // method body } } |
En dan kan het maar zo zijn dat de volgende malloot de eerste if uit aanpassing 1 ziet als start van de if/elseif boom en daarom besluit het haakje achter de eerste if weg te halen.
Maargoed, dit soort dingen consequent toepassen vind ik eerlijk gezegd belangrijker. Op een gegeven moment raak je gewend aan een bepaalde structuur, en juist dat zorgt ervoor dat je fouten makkelijker herkent. Is even vervelend als je een andere stijl moet leren herkennen, maar daar valt weinig aan te veranderen.
Owh common, wat riekt daar dan?BikkelZ schreef op zaterdag 09 november 2013 @ 16:51:
Dat is niet een situatie waarin je code anders te lang wordt met al die { en } op een eigen regel, dat is een situatie waar je code riekt.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Multiple exit-points van de routine, verwacht ik.
We are shaping the future
[ Voor 4% gewijzigd door Zoijar op 10-11-2013 01:41 ]
Niet dat ik zodanig thuis ben in C/C++ om dat te kunnen beantwoorden, maar het lijkt al eens eerder gevraagd te zijn: http://stackoverflow.com/...riables-with-known-valuesZoijar schreef op zondag 10 november 2013 @ 01:40:
Kan je in GCC instellen dat hij destroyed geheugen vult met 0xDDDDDDDD (of 0xDEADBEEF) oid in debug mode? Zo handig dat visual studio dat wel doet en niet de oud waarde laat staan. Als je dan een bug schrijft gaat het tenminste meteen goed fout.
[ Voor 4% gewijzigd door 0xDEADBEEF op 10-11-2013 02:03 ]
"Religion is an insult to human dignity. With or without it you would have good people doing good things and evil people doing evil things. But for good people to do evil things, that takes religion." - Steven Weinberg
Verwijderd
Als je GCC gebruikt zal je vast wel toegang hebben tot de valgrind suite.
Neuh dat kan op zich wel zolang je maar geen geneste verrassingen in gaat bouwen. Ik geef liever een early exit dan dat ik een else gebruik.Alex) schreef op zaterdag 09 november 2013 @ 23:05:
[...]
Multiple exit-points van de routine, verwacht ik.
Meer dan één scherm vol met if-statements lekker kort geschreven zodat het overzichtelijk blijft? Oftewel je doet binnen een functie dingen die niks met elkaar te maken hebben, of je doet dingen die wel met elkaar te maken hebt en dan kun je het beter in een switch-statement gieten of een pattern.
Maar alles wat over de 100 regels klotst met alles ruim uitgeschreven (altijd curlies, altijd newlines) is toch wel een kandidaat voor refactoring.
Met dat verstandige gepraat verpest je maar weer een mooie relNeverwinterx schreef op zaterdag 09 november 2013 @ 17:50:
Code conventies op zich maken niets uit, zolang ze maar consistent gebruikt worden. En daaruit volgt dat je best de autoformat van je IDE kunt volgen, want die is het efficientst om te gebruiken (kost minstte tijd tov handmatig wat te zitten knoeien met spaces)
In visual studio: ctrl+e+d
In eclipse: ctrl+shift+f
En voila geen tijd meer verspild met iets wat inhoudelijk geen waarde heeft.
iOS developer
Jawel, VS (2013 i.i.g.) fixt de indentingBikkelZ schreef op zondag 10 november 2013 @ 02:59:
[...]
Met dat verstandige gepraat verpest je maar weer een mooie relMaar CTRL+E+D doet niks met curly bracketless single line if statements.
We are shaping the future
Oh raar. Op mijn werk veranderde niks. Aangepaste regelset misschien.
iOS developer
Dat is weer uniinitialized values, niet vrijgegegeven geheugen. Maar ik denk inderdaad dat het niet kan dan (zonder code). bv zo iets werkt waarschijnlijk gewoon in gcc debug mode:0xDEADBEEF schreef op zondag 10 november 2013 @ 01:52:
Niet dat ik zodanig thuis ben in C/C++ om dat te kunnen beantwoorden, maar het lijkt al eens eerder gevraagd te zijn: http://stackoverflow.com/...riables-with-known-values
1
2
3
| int* x = new int(42); delete x; if (*x == 42) { // profit!!! } |
2013 vrijgegeven geheugen blijkbaar met 0xDDDDDDDD; ik liep er vrijdag tegenaan.Verwijderd schreef op zondag 10 november 2013 @ 02:04:
Visual studio overschrijft alles met 0xDEADBEEF meen ik, pun not intended.
Uiteraard, maar toch weer een extra stap dus dat komt er niet altijd (meteen) van.Als je GCC gebruikt zal je vast wel toegang hebben tot de valgrind suite.
[ Voor 7% gewijzigd door Zoijar op 10-11-2013 09:23 ]
Nja goed, dat blijkt niet echt uit jouw 5 regels code waarop je die uitspraak baseert ...BikkelZ schreef op zondag 10 november 2013 @ 02:59:
Meer dan één scherm vol met if-statements lekker kort geschreven zodat het overzichtelijk blijft? Oftewel je doet binnen een functie dingen die niks met elkaar te maken hebben, of je doet dingen die wel met elkaar te maken hebt en dan kun je het beter in een switch-statement gieten of een pattern.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
je bedoelt ze proberen eindelijk python's PEP regels te implementeren? beetje laat tbqfh...Barryvdh schreef op zaterdag 09 november 2013 @ 19:44:
Dat is dan wel weer aardig van PHP, dat PHP-FIG (PHP Framework Interoperability Group) probeert iedereen (of iig grote projecten) op 1 lijn te krijgen (PSR-2 dus)
Je hebt nu een community van PHP ontwikkelaars waarvan enkel de professionals ooit hebben nagedacht over coding style, en dan probeer je een set regels te ontwikkelen zodat iedereen zich daar aan gaat houden.
De pros zullen 80% van die regels herkennen, al dan niet zelf gebruiken .. en de niet-pros zullen regels zien waar ze geen zin in hebben, want die hebben ze nooit gebruikt, dus waarom zouden ze daar nu aan beginnen...
Dat soort regels hoor je vroeg aan te maken, en te stimuleren als taal dat ze waarde hebben (in de python gemeenschap betekend het dat als je code PEP-8 compliant is, dat iedereen dan weet wat je coding style is, met een grote hoeveelheid tools en andere zooi om te controleren dat je code er aan voldoet, en zelfs om je code compliant te maken).. pas daarna zal het door een breder publiek gebruikt worden.
Je kunt toch malloc, new, free en delete overloaden? Beter nog, bouw een allocator die mem corruption detect door pages om je allocation heen te alloceren en deze een segfault te laten triggeren als je er van leest of schrijft.Zoijar schreef op zondag 10 november 2013 @ 09:21:
[...]
Dat is weer uniinitialized values, niet vrijgegegeven geheugen. Maar ik denk inderdaad dat het niet kan dan (zonder code). bv zo iets werkt waarschijnlijk gewoon in gcc debug mode:
C++:
1 2 3 int* x = new int(42); delete x; if (*x == 42) { // profit!!! }
Oh, god wat doen jullie mij aan zeg!PrisonerOfPain schreef op zondag 10 november 2013 @ 11:59:
[...] Je kunt toch malloc, new, free en delete overloaden? Beter nog, bouw een allocator die mem corruption detect door pages om je allocation heen te alloceren en deze een segfault te laten triggeren als je er van leest of schrijft.
/me opent google en is weer een uur productiviteit kwijt.
Wij ook, maar we kunnen at app-startup time de verschillende heap allocators vervangen door die allocator en dat is heerlijk om memory corruption te detecterenZoijar schreef op zondag 10 november 2013 @ 12:11:Bovendien gebruiken we nog verschillende custom allocators, dus daar blijf ik ver vandaan
@Caelorum VirtualAlloc, MEM_COMMIT, MEM_RESERVE, VirtualProtect, PAGE_NOACCESS, PAGE_READONLY etc
Zoijar schreef op zondag 10 november 2013 @ 12:11:
Hehe, ja, dat snap ik allemaal wel -- het ging erom of ik niet even -finvalidate-memory erachter kon typen. Bovendien gebruiken we nog verschillende custom allocators, dus daar blijf ik ver vandaanDraai het volgende keer wel even door valgrind. Zal eens kijken of ik dat Bamboo niet beter kan laten doen.
1
2
3
4
5
6
7
| void * __wrap_malloc (int c) { void *ptr = __real_malloc (c); memset(ptr, 0xcd, c); return ptr; } |
Linken met --wrap malloc en klaar?
Nou, wat er gebeurde is dat al weken alle unit tests passen in de unix productie-omgeving, en bijbehorende continuous builds, maar nu bouwde ik op windows en faalde er ineens een test. Ik dacht eerst dat het iets had te maken met weer eens een opvatting van microsoft over hoe de standaard geinterpreteerd moet worden (...) maar het bleek dus een (iets complexere) vorm van bovenstaande delete/use te zijn. Vrij riskant eigenlijk, en niet opgemerkt. Goed voorbeeld dat valgrind gewoon weer aan moet op de continuous builds.PrisonerOfPain schreef op zondag 10 november 2013 @ 12:17:
Wij ook, maar we kunnen at app-startup time de verschillende heap allocators vervangen door die allocator en dat is heerlijk om memory corruption te detecterenVerder is dit een feature van de VC runtime, dus wellicht dat GDB of de runtime die jij gebruikt dit kunnen?
Dank jePrisonerOfPain schreef op zondag 10 november 2013 @ 12:17:
[...] @Caelorum VirtualAlloc, MEM_COMMIT, MEM_RESERVE, VirtualProtect, PAGE_NOACCESS, PAGE_READONLY etc
Maar allereerst maar eens kijken waarom mijn app eens in de 10 keer crash als ik probeer te profilen met intel tools en waarom die op geen enkele andere PC werkt terwijl ik toch alle dlls en zooi meelever.
[ Voor 21% gewijzigd door Caelorum op 10-11-2013 12:26 ]
Met control K + control D (format document) in 2012 ook al (en mij staat bij 2010 ook). Soms weigert hij echter te formatten vanwege fouten in het document.
Met een plugin als ReSharper gaat het iets soepeler, maar die is soms iets te eager om te reformatten, dan blijf hij volledige codeblokken reformatten bij het plaatsen van een } terwijl je dat niet altijd wil. Zeker als ik wat korte ifjes heb (bijv een directe return) is het niet tof als hij ze aanpast...
Qua formatting maakt het mij niet zoveel uit of de accolade op het regeleinde of op de volgende regel staat. Volgende regel is soms iets makkelijker om code blokken te onderscheiden omdat je dan op de matching tekens kunt zoeken. De extra regel die het kost lees je vanzelf overheen, als je genoeg codeert filter je die er uit zodra je code leest. Zelf ben ik ooit begonnen met accolade achter de regel en heb de afgelopen jaren de switch gemaakt naar accolade op de volgende regel, maar heb absoluut geen moeite met andere formatting
Overigens gebruik ik al een tijdje de plugin Indent Guides voor Visual Studio, een erg fijne plugin, deze toont lijntjes om je code blokken te identificeren (zoals het in VB.NET ook wordt gedaan, een van de weinige pluspuntjes aan VB.NET
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Het minste wat je zou kunnen doen is met --wrap malloc & free compilen en die je memory laten clearen. Maar goed, als je zoveel custom allocators hebt zou je toch zeggen dat iemand al ooit dit soort debug functies toe heeft gevoegt?Zoijar schreef op zondag 10 november 2013 @ 12:22:
[...]
Nou, wat er gebeurde is dat al weken alle unit tests passen in de unix productie-omgeving, en bijbehorende continuous builds, maar nu bouwde ik op windows en faalde er ineens een test. Ik dacht eerst dat het iets had te maken met weer eens een opvatting van microsoft over hoe de standaard geinterpreteerd moet worden (...) maar het bleek dus een (iets complexere) vorm van bovenstaande delete/use te zijn. Vrij riskant eigenlijk, en niet opgemerkt. Goed voorbeeld dat valgrind gewoon weer aan moet op de continuous builds.
SuccessCaelorum schreef op zondag 10 november 2013 @ 12:25:
[...]
Dank jeEerst maar eens terrain rendering terug toevoegen aan mijn stukje crapware en kijken hoe ik lua kan toevoegen en toch alle cpu cores kan gebruiken.
Maar allereerst maar eens kijken waarom mijn app eens in de 10 keer crash als ik probeer te profilen met intel tools en waarom die op geen enkele andere PC werkt terwijl ik toch alle dlls en zooi meelever.
Ik ben zelf bezig om m'n UI framework up-en-running te krijgen met m'n custom controls en het in een apart project te stoppen zodat ik het mooi kan hergebruiken. De Tab control kan nog wat werk gebruiken, de diagram control zou ik voor scripting / shading code-gen kunnen gebruiken. (Vandaar dat ik de image-support to heb gevoegt).
[ Voor 4% gewijzigd door PrisonerOfPain op 10-11-2013 12:43 ]
Grappig, dit heb ik paar weken terug zitten te implementerenPrisonerOfPain schreef op zondag 10 november 2013 @ 11:59:
[...]
Je kunt toch malloc, new, free en delete overloaden? Beter nog, bouw een allocator die mem corruption detect door pages om je allocation heen te alloceren en deze een segfault te laten triggeren als je er van leest of schrijft.
Voor linux moet je kijken naar mprotect en mmapPrisonerOfPain schreef op zondag 10 november 2013 @ 12:17:
[...]
@Caelorum VirtualAlloc, MEM_COMMIT, MEM_RESERVE, VirtualProtect, PAGE_NOACCESS, PAGE_READONLY etc
Ik heb nog een opdracht uitstaan voor een vak van de uni. Vrij basic spul hoor. Gewoon een heightmap inladen door de gpu gooien, beetje distance-based tesselation, gras overheen gooien en dat is het eigenlijk wel. Heb in principe alles af, maar door een fout in mijn vorige project kon ik niet meer dan 1 'terrain' tegelijkertijd renderen waardoor alles hetzelfde niveau van tessellation kreeg. Kon niet vinden waar het zat dus dacht laat ik opnieuw beginnen. Nu ben ik dus alleen al 3 maanden verder, heb ik van alles en nog wat in mijn engine geknutseld, maar ben ik nog geen steek verder met die opdracht. En om alles erger te maken heb ik sinds een maand of twee ook nog maar 8 uur / week voor studie en heb ik nog andere dingen die moeten worden afgerond ^^PrisonerOfPain schreef op zondag 10 november 2013 @ 12:42:
[...] Successwat doe je voor je terrain rendering? [...]
Enige waar ik wel blij mee ben is dat mijn kennis van c++, 3d rendering en game engine bouw echt verhondervoudigd is. Dus de moeite is het wel waard...
Is je UI-framework btw graphics API onafhankelijk?
Ohja, en mijn werk schiet ook niet echt op. Android devven is echt kut, vooral als je weet dat wat je aan het doen bent je in 4 dagen kan maken voor WP8 en W8 en je liever aan studie zooi werkt. Wat een kut dev experience heeft google gemaakt zeg.
[ Voor 11% gewijzigd door Caelorum op 10-11-2013 13:42 ]
Was dat adhv deze post? PrisonerOfPain in "De Devschuur Coffee Corner - Iteratie 3"Robbiedobbie schreef op zondag 10 november 2013 @ 13:10:
Grappig, dit heb ik paar weken terug zitten te implementeren
Nee - het is pure win32 met GDI+Caelorum schreef op zondag 10 november 2013 @ 13:38:
Is je UI-framework btw graphics API onafhankelijk?
Grappig genoeg heb ik die post juist helemaal gemist ^^.PrisonerOfPain schreef op zondag 10 november 2013 @ 13:45:
[...]
Was dat adhv deze post? PrisonerOfPain in "De Devschuur Coffee Corner - Iteratie 3"
Ik heb ergens een artikeltje gelezen over memory management voor games, waarna ik dacht, dit wil ik ook eens proberen. Toen ik eenmaal bezig was, bedacht ik me dat debugging van memory op die manier ook mogelijk moet zijn, en ben ik begonnen met zelf een padding in te bouwen bij debuggen, waar ik een check op kan uitvoeren voor out of bound writes. Daarna ben ik eens gaan googlen op memory protection, om dit mooier te maken (geen functie die gerunned moet worden, en die alleen op dat moment verteld dat je er fouten zijn, maar direct op de lijn zelf kunnen breaken).
Een nadeel is dat je memory alleen maar per page kan protecten, en die pages zijn nou niet echt klein
4 of 64k, zolang je op 64-bit zit maakt 't allemaal niet uit daar heb je virtual address space genoeg. Zolang je je pages niet commit naar physical mem zou je niet in de problemen moeten komen. 32-bit is een heel ander verhaal natuurlijk.Robbiedobbie schreef op zondag 10 november 2013 @ 13:50:
Een nadeel is dat je memory alleen maar per page kan protecten, en die pages zijn nou niet echt klein(8kb op x86 dacht ik?)
Iemand zoiets leuks tegengekomen?
2x ViewSonic VP-27885K | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
Dit topic is gesloten.
![]()
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep voor iedereen in de Devschuur® en niet als vraagbaak.