De Devschuur Coffee Corner Overzicht Volgende deel Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 157 ... 201 Laatste
Acties:
  • 852.092 views

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

asfaloth_arwen schreef op dinsdag 28 juni 2011 @ 22:03:
[...]


Dat zou wel een nasty bug zijn. Van de andere kant, de explorer view is met een reden uit SharePoint 2010 verdwenen :+
Que? :P
Explorer View SP2010
Vooral dat "and delete multiple files at once" hebben we gemerkt. }:|
Er zouden nog 2 semi-correcte gedragingen kunnen zijn: de map bestaat wel nog met het bestand erin, maar is alleen voor die gebruiker/admins zichtbaar, of het bestand is nog te vinden in de site recycle-bin. Wel een interressante ontdekking!
Ingelogd als admin was de map ook niet meer zichtbaar, en in de prullenbap evenmin, helaas. :P

[ Voor 5% gewijzigd door CodeCaster op 29-06-2011 00:16 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 22:07
Niet in Nederland verkrijgbaar zover ik weet, had er ook een tijdje naar lopen zoeken. Daarnaast heeft die een tragere CPU :)

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

Regenbuitje gisteren heeft weinig geholpen tegen de warmte... Op kantoor is het gewoon nog 24 graden en klam :( Bah... Helemaal leuk als je al slecht gehumeurd bent vanwege je project wat je moet doen.

Lekker de hele dag gefrustreerd met zweet tussen de bilnaad aan een project werken -O-

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.


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:15

Haan

dotnetter

Hier is het juist behoorlijk fris, omdat m'n collega gisteren heeft vergeten een raam dicht te doen voor hij naar huis ging. Dus dat heeft de hele nacht lekker staan afkoelen.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

Verwijderd

Haan schreef op woensdag 29 juni 2011 @ 08:34:
Hier is het juist behoorlijk fris, omdat m'n collega gisteren heeft vergeten een raam dicht te doen voor hij naar huis ging. Dus dat heeft de hele nacht lekker staan afkoelen.
Dat kan ik wel proberen, maar dan heb je 's ochtends een gele kaart van de huishoudelijke dienst/beveiliging met het verzoek om de volgende keer alle ramen dicht te doen. Overigens is het nu nog wel uit te houden hier en anders hebben we nog een testhok met echte airco ;).

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

Verwijderd schreef op woensdag 29 juni 2011 @ 08:41:
[...]


Dat kan ik wel proberen, maar dan heb je 's ochtends een gele kaart van de huishoudelijke dienst/beveiliging met het verzoek om de volgende keer alle ramen dicht te doen. Overigens is het nu nog wel uit te houden hier en anders hebben we nog een testhok met echte airco ;).
Mmm, misschien maar in het serverhok gaan zitten dan :P Beetje wennen aan de herrie, maar verder wel lekker koud :P

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.


Acties:
  • 0 Henk 'm!

  • PeterSelie
  • Registratie: December 2002
  • Laatst online: 18-09 14:19
.Gertjan. schreef op woensdag 29 juni 2011 @ 08:42:
[...]

Mmm, misschien maar in het serverhok gaan zitten dan :P Beetje wennen aan de herrie, maar verder wel lekker koud :P
Goede oordoppen lossen het eerste probleem op, toch?

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

SoaDmaggot schreef op woensdag 29 juni 2011 @ 08:48:
[...]

Goede oordoppen lossen het eerste probleem op, toch?
Of een dosis goede muziek flink hard zetten :P

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.


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
Verwijderd schreef op woensdag 29 juni 2011 @ 08:41:
Overigens is het nu nog wel uit te houden hier en anders hebben we nog een testhok met echte airco.
Airco -O-

Het wordt wel koel, maar je krijgt ook brandogen, keelpijn en een droge strot.

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.


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 14:10
farlane schreef op woensdag 29 juni 2011 @ 09:27:
[...]

Airco -O-

Het wordt wel koel, maar je krijgt ook brandogen, keelpijn en een droge strot.
En sommige mensen worden er verkouden van, griep, etc etc :+. klimaat controle is fijner, maar helaas niet overal beschikbaar :P

Acties:
  • 0 Henk 'm!

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 27-09 00:06

ZaZ

Tweakers abonnee

Veel mensen kunnen niet met airco omgaan. Het lijkt dan wel als het buiten 30 graden is dat het dan perse binnen 18 moet worden, alsof je bijna in een koelkast zit.
Zorg er dan gewoon voor dat het een paar graden koeler wordt. Met het warme weer binnen een graad of 23/24 is heel goed te doen.

Lekker op de bank


Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

Pfft, altijd leuk van die developers die niet begrijpen wanneer een static handig is. :(
Heb mijn code nu werkelijk vol staan met stukjes als:
code:
1
2
3
4
5
6
PrettyClass prettyClass;

;

prettyClass = new PrettyClass();
prettyClass.doSomething(param1,param2,param3,param4);


Er zijn geen constructors voor de class of andere functies die data in de class inserten, alles wordt gedaan aan de hand van param1 t/m param4.
Grote kans overigens dat er tijdens het verwerken een hoop gegevens in class variabelen worden geplempt, want in plaats van data via een functie mee te geven wordt het vaker gewoon in de class variabelen gedumpt en vervolgens de functie zonder params aangeroepen. Zou wel verklaren waarom er geen static is gebruikt, maar goed het is meer symptoom bestrijding dan constructief een probleem oplossen. Ow we mogen dit niet aanroepen in een static functie, weet je wat dan maken we die toch non-static.

Daarnaast is deze schattige groep developers ook heerlijk gebrekkig qua consistentie -O-, 2 klasses die ongeveer hetzelfde doen (lijnen toevoegen aan inkoop-/verkooporders), maar die totaal verschillend zijn opgebouwd. Bij de ene moet je eerst een functie aanroepen om de ID van de verkooporder in te geven (die wordt in de class variabelen gezet en kon daarom dus niet static zijn) en bij de andere geef je de ID van de inkooporder mee als parameter. :-(

code:
1
2
3
4
5
6
7
PrettyClass2 prettyClass2;

;

prettyClass2 = new PrettyClass2();
prettyClass2.setParam4(param4);
prettyClass2.doSomething(param1,param2,param3);


:'(

Gelukkig kun je bij twijfel in de documentatie kijken...... Ow wacht, die is er niet, dan maar in de code....... Nope ook geen fatsoenlijk commentaar en de code is vaak zo opgemaakt dat je eerst 10 minuten moet huilen :'(

Kan ook niet herschrijven omdat deze code op honderden plekken zo wordt aangeroepen en we aan het uitbreiden zijn waarbij we de bestaande functionaliteit niet mogen slopen. Dus het principe "laat je code netter achter dan je hem aantrof" (uit Clean Code) is helaas niet toe te passen. Als daar ooit wijzigingen in worden gemaakt mag alles opnieuw getest worden (functioneel en technisch), wat helaas een hoop handwerk betekent.

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.


Acties:
  • 0 Henk 'm!

  • BM
  • Registratie: September 2001
  • Laatst online: 19:02

BM

Moderator Spielerij
ZaZ schreef op woensdag 29 juni 2011 @ 10:20:
Veel mensen kunnen niet met airco omgaan. Het lijkt dan wel als het buiten 30 graden is dat het dan perse binnen 18 moet worden, alsof je bijna in een koelkast zit.
Zorg er dan gewoon voor dat het een paar graden koeler wordt. Met het warme weer binnen een graad of 23/24 is heel goed te doen.
Precies, waarom zou het in de zomer binnen 18 graden moeten zijn, en in de winter 25?

Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three


Acties:
  • 0 Henk 'm!

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 27-09 00:06

ZaZ

Tweakers abonnee

Is jouw werk ook wel eens leuk? Volgens mij moet je bijna elke dag huilen :P

Lekker op de bank


Acties:
  • 0 Henk 'm!

Verwijderd

Dat is de Nederlandse klaagcultuur! Daar moet je trots op zijn volgens sommigen!

Acties:
  • 0 Henk 'm!

Verwijderd

Stiekum is werken toch wel heel fijn, ook al kom je alleen maar rotzooi tegen *O*

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

ZaZ schreef op woensdag 29 juni 2011 @ 10:27:
[...]

Is jouw werk ook wel eens leuk? Volgens mij moet je bijna elke dag huilen :P
Als ik op de 24ste op mijn bankrekening kijk is het wel leuk :P
Ik zit nu al een tijdje op een project waar ik behoorlijk diep in verrot maatwerk moet wroeten. De code die er is is echt van zeer slechte kwaliteit. Bij deze klant zit ik normaal ook wel op het maatwerk te bouwen, maar nu kom ik wat dieper in de krochten van de code, and it aint pretty. :-(

Door allerlei deadlines en "politieke spelletjes" is het project ook wat vervelender geworden qua stemming, dus dat speelt ook niet mee. Omdat er haast achter zit heb ik wat leuke projecten moeten laten schieten en daar baal ik wel van, sommige projecten zijn best leuk en uitdagend.
Overigens heb ik al een paar dagen niet meer openbaar gehuild ;)

Kan ongeveer de hele codebase in het slechte code voorbeeld topic uploaden :D
Verwijderd schreef op woensdag 29 juni 2011 @ 10:38:
Dat is de Nederlandse klaagcultuur! Daar moet je trots op zijn volgens sommigen!
:'(
Waarschuwing:

Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep, niet als vraagbaak
Hier mag het, dus luister maar naar mijn klaagzang :> ;)

[ Voor 17% gewijzigd door .Gertjan. op 29-06-2011 10:42 ]

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.


Acties:
  • 0 Henk 'm!

  • ameesters
  • Registratie: Juni 2008
  • Laatst online: 05-01-2022
Gwoon weigeren om er mee te werken... en goed gefundeerd aan de managers uitleggen waarom je er niet mee wilt werken, als je genoeg termen uit de anti-patterns sectie van wikipedia opdreunt gaan ze vanzelf in "retart mode", want dit klink erg als een systreem dat niet meer te onderhouden is....

Geen gehoor, solliciteren, en voorzichtig door laten schemeren dat je daar mee bezig bent... bij nog geen gehoor, andere werkgever zoeken!
.Gertjan. schreef op woensdag 29 juni 2011 @ 10:23:
Pfft, altijd leuk van die developers die niet begrijpen wanneer een static handig is. :(
Heb mijn code nu werkelijk vol staan met stukjes als:
code:
1
2
3
4
5
6
PrettyClass prettyClass;

;

prettyClass = new PrettyClass();
prettyClass.doSomething(param1,param2,param3,param4);


Er zijn geen constructors voor de class of andere functies die data in de class inserten, alles wordt gedaan aan de hand van param1 t/m param4.
Grote kans overigens dat er tijdens het verwerken een hoop gegevens in class variabelen worden geplempt, want in plaats van data via een functie mee te geven wordt het vaker gewoon in de class variabelen gedumpt en vervolgens de functie zonder params aangeroepen. Zou wel verklaren waarom er geen static is gebruikt, maar goed het is meer symptoom bestrijding dan constructief een probleem oplossen. Ow we mogen dit niet aanroepen in een static functie, weet je wat dan maken we die toch non-static.

Daarnaast is deze schattige groep developers ook heerlijk gebrekkig qua consistentie -O-, 2 klasses die ongeveer hetzelfde doen (lijnen toevoegen aan inkoop-/verkooporders), maar die totaal verschillend zijn opgebouwd. Bij de ene moet je eerst een functie aanroepen om de ID van de verkooporder in te geven (die wordt in de class variabelen gezet en kon daarom dus niet static zijn) en bij de andere geef je de ID van de inkooporder mee als parameter. :-(

code:
1
2
3
4
5
6
7
PrettyClass2 prettyClass2;

;

prettyClass2 = new PrettyClass2();
prettyClass2.setParam4(param4);
prettyClass2.doSomething(param1,param2,param3);


:'(

Gelukkig kun je bij twijfel in de documentatie kijken...... Ow wacht, die is er niet, dan maar in de code....... Nope ook geen fatsoenlijk commentaar en de code is vaak zo opgemaakt dat je eerst 10 minuten moet huilen :'(

Kan ook niet herschrijven omdat deze code op honderden plekken zo wordt aangeroepen en we aan het uitbreiden zijn waarbij we de bestaande functionaliteit niet mogen slopen. Dus het principe "laat je code netter achter dan je hem aantrof" (uit Clean Code) is helaas niet toe te passen. Als daar ooit wijzigingen in worden gemaakt mag alles opnieuw getest worden (functioneel en technisch), wat helaas een hoop handwerk betekent.

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

ameesters schreef op woensdag 29 juni 2011 @ 10:43:
Gwoon weigeren om er mee te werken... en goed gefundeerd aan de managers uitleggen waarom je er niet mee wilt werken, als je genoeg termen uit de anti-patterns sectie van wikipedia opdreunt gaan ze vanzelf in "retart mode", want dit klink erg als een systreem dat niet meer te onderhouden is....

Geen gehoor, solliciteren, en voorzichtig door laten schemeren dat je daar mee bezig bent... bij nog geen gehoor, andere werkgever zoeken!


[...]
Mijn manager weet er van, het is een klant (gelukkig) en mijn inzet aldaar wordt afgebouwd, dus dat is positief. Voor dit project is al aangegeven eigenlijk van het maatwerk af te willen zien (inclusief onderbouwing), maar van hogerhand is daar tegen in gegaan en is er besloten het huidige werk uit te breiden. Er zitten inmiddels al meerdere manjaren (en heel wat euro's) in het huidige maatwerk (van de andere partner). Het werkt zoals het moet werken, dus men ziet niet waarom er vervangen moet worden. De uitbreidingen zijn voor een andere afdeling die een eigen implementatie krijgt, daar had dus eigenlijk gekozen kunnen worden voor een rewrite, maar helaas.

Nu komt wel het besef dat het beter was toch opnieuw te beginnen, maar in de aanpassingen is ook al een hoop geïnvesteerd. Overigens werd er in het begin afgesproken dat de andere afdeling zich zou schikken naar de procedures die in het pakket zitten, echter willen ze hun eigen procedures behouden en moet het maatwerk worden aangepast (en dat kost veel moeite). Met de kennis van nu had men misschien toch besloten om opnieuw te beginnen.

Verder is het project ook omgeven door drama, er werd veel te informeel gewerkt (er werd niets vastgelegd, ook niet door het management) en er waren te veel lagen die zich ermee bemoeiden, hierdoor is het compleet uit de hand gelopen (halverwege de implementatie besloot men ineens met andere formaten te willen werken, de interpreters waren toen al gemaakt). Ik kan in dit project gelukkig wel laten zien dat ik meer ben dan een ontwikkelaar (ik denk geregeld op andere vlakken ook mee en word daar goed gehoord).

Het is gelukkig niet allemaal bagger dus. :P

Daarbij komt dat ik door de klant gezien wordt als zeer waardevol en mijn manager dat ook ziet. Daarnaast is er ook al (tussen neus en lippen door) verontschuldigd betreffende de gang van zaken. Nadeel is dat ik zelf erg zwaar til aan het project en het me soms iets te dichtbij komt (ernstige valkuil), hierdoor kom ik soms wat dramatischer over dan het is :P

Het werk is leuk dus, maar het project valt wat tegen (tel daar flinke reistijd en stress vanwege het regelen van een (mijn) bruiloft bij, geen wonder dat je soms wat wanhopig wordt). Hier wordt gelukkig wat aan gedaan en ik krijg straks vanzelf weer andere projecten.

Het frustrerende is dat het maatwerk is gemaakt door een andere partij zonder enige documentatie en dat die partij is vertrokken/eruitgedonderd. De "pareltjes" die ik soms ontdek zorgen voor frustratie, ook omdat Axapta niet echt een top omgeving is om te ontwikkelen. Maar ach, even frustratie uiten, keertje vloeken en terug naar de code. :P

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.


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:56
.Gertjan. schreef op woensdag 29 juni 2011 @ 10:23:
Pfft, altijd leuk van die developers die niet begrijpen wanneer een static handig is. :(
Heb mijn code nu werkelijk vol staan met stukjes als:
code:
1
2
3
4
5
6
PrettyClass prettyClass;

;

prettyClass = new PrettyClass();
prettyClass.doSomething(param1,param2,param3,param4);
Ik ook ... Heb al een paar rondjes refactoring erop zitten om zoveel mogelijk dergelijke dingen er uit te slopen.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ik zou ook graag refactoren bij een zeer oud project waar ik regelmatig onderhoud aan pleeg, maar ik zou niet weten wat ik allemaal breek als ik begin bij de 325 (!) globals die op het mainform staan gedeclareerd.

Als ik een uitbreiding moet schrijven werk ik netjes OO, maar aan de bestaande code wil ik m'n handen niet branden.

Oh en ontopic: ja, zeiken is leuk. Af en toe lekker stoom afblazen, toch? :P

[ Voor 11% gewijzigd door CodeCaster op 29-06-2011 11:00 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

CodeCaster schreef op woensdag 29 juni 2011 @ 10:58:
Ik zou ook graag refactoren bij een zeer oud project waar ik regelmatig onderhoud aan pleeg, maar ik zou niet weten wat ik allemaal breek als ik begin bij de 325 (!) globals die op het mainform staan gedeclareerd.

Als ik een uitbreiding moet schrijven werk ik netjes OO, maar aan de bestaande code wil ik m'n handen niet branden.
Helaas kom ik er nu niet onderuit om ook in het bestaande maatwerk in te grijpen. Er zijn wat uitzonderingen die gelden bij bepaalde acties, dan kun je wel alles copy pasten en dan via een tussen class gaan werken, maar dan moet je alsnog alle ingangen zoeken en loop je risico op dubbele code.

Daarnaast kom je altijd nog rare quircks tegen zoals data die in een andere scope wordt aangepast (in een nieuw object data ophalen, aanpassen en naar de DB schrijven) waardoor AX in de war raakt en data niet correct update. :-(
Oh en ontopic: ja, zeiken is leuk. Af en toe lekker stoom afblazen, toch? :P
Amen :) _/-\o_

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.


Acties:
  • 0 Henk 'm!

  • ameesters
  • Registratie: Juni 2008
  • Laatst online: 05-01-2022
even dev omgeving opzetten, code heen kopieeren, en rustig uit gaan pluizen en gaan slopen :p

zo doe ik dat soort dingen tenminste, ik werk nooit in productie code, zet bij externe projecten altijd een 1op1 VM op kwa software, zodat het netjes compatible blijft ;) maar dat bepaald ieder voor zich...
Heb ook wel eens klanten gehad die er van hielden om meteen paniek voetbal te gaan spelen met teksten als:"het moest gisteren al gebeurd zijn", en "pass maar even snel op de website zelf aan"...

leg altijd rustig uit dat ze daarvoor niet bij mij hoeven te zijn.. Soms nemen ze dan een andere freelancer, maar vaak zie ik ze gewoon weer terug..
CodeCaster schreef op woensdag 29 juni 2011 @ 10:58:
Ik zou ook graag refactoren bij een zeer oud project waar ik regelmatig onderhoud aan pleeg, maar ik zou niet weten wat ik allemaal breek als ik begin bij de 325 (!) globals die op het mainform staan gedeclareerd.

Als ik een uitbreiding moet schrijven werk ik netjes OO, maar aan de bestaande code wil ik m'n handen niet branden.

Oh en ontopic: ja, zeiken is leuk. Af en toe lekker stoom afblazen, toch? :P

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
ZaZ schreef op woensdag 29 juni 2011 @ 10:20:
Veel mensen kunnen niet met airco omgaan. Het lijkt dan wel als het buiten 30 graden is dat het dan perse binnen 18 moet worden, alsof je bijna in een koelkast zit.
Zo koud staat ie niet, maar op een of andere manier zit ik (of anders een collega) constant in die maalstroom die er uit komt. Als ik een parkiet was geweest had ik al lang onder aan mijn stok gehangen :P
Pfft, altijd leuk van die developers die niet begrijpen wanneer een static handig is
Neem dan ook een grotemannentaal die free functions toe staat. :*)
Gwoon weigeren om er mee te werken... en goed gefundeerd aan de managers uitleggen waarom je er niet mee wilt werken, als je genoeg termen uit de anti-patterns sectie van wikipedia opdreunt gaan ze vanzelf in "retart mode", want dit klink erg als een systreem dat niet meer te onderhouden is....
Dit klinkt als 90% van alle software die er bestaat ( en daadwerkelijk gebruikt wordt). Learn to live with it.

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.


Acties:
  • 0 Henk 'm!

  • ameesters
  • Registratie: Juni 2008
  • Laatst online: 05-01-2022
Met zo een instelling kom je er nooit, altijd streven naar perfectie, heb je op langer termijn alleen maar profijt van!

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

farlane schreef op woensdag 29 juni 2011 @ 11:08:
Dit klinkt als 90% van alle software die er bestaat ( en daadwerkelijk gebruikt wordt). Learn to live with it.
+1 voor waar
-1 voor helaas moeten we er inderdaad mee leren leven -O-
ameesters schreef op woensdag 29 juni 2011 @ 11:08:
even dev omgeving opzetten, code heen kopieeren, en rustig uit gaan pluizen en gaan slopen :p

zo doe ik dat soort dingen tenminste, ik werk nooit in productie code, zet bij externe projecten altijd een 1op1 VM op kwa software, zodat het netjes compatible blijft ;) maar dat bepaald ieder voor zich...
Heb ook wel eens klanten gehad die er van hielden om meteen paniek voetbal te gaan spelen met teksten als:"het moest gisteren al gebeurd zijn", en "pass maar even snel op de website zelf aan"...

leg altijd rustig uit dat ze daarvoor niet bij mij hoeven te zijn.. Soms nemen ze dan een andere freelancer, maar vaak zie ik ze gewoon weer terug..
[...]
Gaat mijn baas niet op prijs stellen :+ Ik zou het graag zo aanpakken, maar niemand heeft zicht op het maatwerk, maar wel haast. Voor mijn ZZP/freelance werk wat ik ernaast doe zou ik inderdaad ook weigeren, echter gaat dat in dit geval (loondienst) niet gebeuren.

Klant voor wie het wordt gedaan is een goede klant (zowel naar mijn baas, maar ook naar de ingehuurde ontwikkelaars), maar die heeft inmiddels ook zijn buik vol van het project. Dus tja iedereen zit elkaar nu aan te gapen in de hoop dat er een wonder gebeurt. Ondertussen ga ik proberen wonderen te scheppen :D

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.


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

ameesters schreef op woensdag 29 juni 2011 @ 11:08:
even dev omgeving opzetten, code heen kopieeren, en rustig uit gaan pluizen en gaan slopen :p
Ten eerste gaat daar niemand voor betalen (de klant niet, dus de baas ook niet) en ten tweede gaat het in deze gevallen heel toevallig altijd om code die niet getest en, erger nog, niet testbaar is, en daarnaast zo vol bad practices zit dat een depressie gegarandeerd is als je de code alleen al durft te lezen.

Ik zou het graag opnieuw opzetten hoor, maar de systemen die ik in deze staat ben tegengekomen hangen dermate van toevalligheden aan elkaar dat het reproduceren van het systeem in een nieuwe omgeving haast onmogelijk is.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
ameesters schreef op woensdag 29 juni 2011 @ 11:10:
Met zo een instelling kom je er nooit, altijd streven naar perfectie, heb je op langer termijn alleen maar profijt van!
Met zo een instelling ben je flexibeler en prettiger om mee te werken. Het streven naar perfectie kan perfect samengaan trouwens met die instelling.

Pick your battles.

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.


Acties:
  • 0 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Ook relevant: How to program independant games.

Deze lecture gaat vooral over dat je alles lekker simpel moet houden, en vooral moet nadenken hoe je efficient kan programmeren.

Freelance Unity3D developer


Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

CyCloneNL schreef op woensdag 29 juni 2011 @ 11:33:
Ook relevant: How to program independant games.

Deze lecture gaat vooral over dat je alles lekker simpel moet houden, en vooral moet nadenken hoe je efficient kan programmeren.
Even door de sheets heen geklikt. De opmerking dat je beter een lange functie kunt gebruiken dan dat je subfuncties gebruikt vond ik opmerkelijk. Uiteraard moet je niet ieder wissewasje in een eigen functie plempen, maar lange functies maken tbv leesbaarheid is ook niet altijd gewenst.

Je moet daar een balans in zien te vinden, maar om bij voorbaat afkeurend te staan tegen subfuncties vind ik niet echt correct.

Zelf geef ik voor data bewerkingen de voorkeur aan losse functies die het daadwerkelijke werk doen. Wanneer je bijvoorbeeld over een set data loopt gooi ik liever per stap de objecten naar een functie in plaats van dat ik de logica binnen de lus definieer, dit maakt het ook makkelijker als je later die ene functie ook nog elders wilt gebruiken.

C#:
1
2
3
foreach(MyClass obj in objects) {
    performWorkOnObj(obj);
}

vind ik beter dan
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
foreach(MyClass obj in objects) {
    /*
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
    Ontzettend lange code die werk op de obj doet
   */
}

Zeker als er ook if of andere for(each) statements gebruikt worden, soms is het lastig om te zien of code bij de foreach (om bijvoorbeeld toch bepaalde zaken uit te sluiten) of bij de dataverwerking behoort. Daarnaast kun je in het eerste voorbeeld veel beter je code laten matchen met het "single responsibility" principe waarbij iedere functie slechts verantwoordelijk is voor 1 actie.

Overigens zal dit met lamda expressies nog wel sneller/korter kunnen (tenminste zo heten die dingen toch?), maar hopelijk wordt mijn punt duidelijk zo.

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.


Acties:
  • 0 Henk 'm!

Verwijderd

Het is niet altijd even gemakkelijk om te bepalen wat er precies in een method moet en wat niet. Ik heb de indruk dat mijn code wel overzichtelijk is en dat ik er goed gebruik van maak, maar iemand bij mij in de klas doet het volgens mij helemaal verkeerd.
Elke kleine taak die gedaan wordt steekt ze in een aparte method, soms maar 3 regels lang. Daarbij nog de keuze van nietszeggende namen en de code is een warboel. Plezant als je daar een groepswerk mee mag doen :/

Acties:
  • 0 Henk 'm!

  • Ryur
  • Registratie: December 2007
  • Laatst online: 29-09 12:59
Verwijderd schreef op woensdag 29 juni 2011 @ 12:07:
Het is niet altijd even gemakkelijk om te bepalen wat er precies in een method moet en wat niet. Ik heb de indruk dat mijn code wel overzichtelijk is en dat ik er goed gebruik van maak, maar iemand bij mij in de klas doet het volgens mij helemaal verkeerd.
Elke kleine taak die gedaan wordt steekt ze in een aparte method, soms maar 3 regels lang. Daarbij nog de keuze van nietszeggende namen en de code is een warboel. Plezant als je daar een groepswerk mee mag doen :/
Een vrouw bij jullie in de klas? Uitzonderlijk!
Wij hebben op onze opleiding (HBO Informatica) maar 4 meiden rondlopen :)

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
.Gertjan. schreef op woensdag 29 juni 2011 @ 10:23:
Pfft, altijd leuk van die developers die niet begrijpen wanneer een static handig is. :(
Heb mijn code nu werkelijk vol staan met stukjes als:
code:
1
2
3
4
5
6
PrettyClass prettyClass;

;

prettyClass = new PrettyClass();
prettyClass.doSomething(param1,param2,param3,param4);
Een static toevoegen aan PrettyClass (die intern hetzelfde doet) is niet mogelijk?

We are shaping the future


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 14:10
Ah, verklaart een hoop ;) :+.

Alle grapjes op een rij. Ik heb liever dat iemand zijn code opdeelt in losse functies met duidelijke namen, dan dat het een gigantische if-banaan is waar je met 3 man nog niet uitkomt. Maargoed je moet het niet overdrijven natuurlijk.

En wat betreft performance, bij performance optimalisaties is het reduceren van functies wel het laatste waar ik aan denk... Tenzij je hele specifieke dingen aan het doen bent (met reflectie achtige dingen oid) is het meestal ook niet de moeite waard.
Het is niet altijd even gemakkelijk om te bepalen wat er precies in een method moet en wat niet
Eens, ik vind het vaak ook een kwestie van wat past in de situatie. Zoals wellicht al vaker gezegd is. software engineering is een kunst, een artistiek proces. Het bepalen van hoe je je verantwoordelijkheden scheid en waar je wel of niet een aparte methode voor schrijft hoort daarbij IMHO.

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

Alex) schreef op woensdag 29 juni 2011 @ 12:20:
[...]


Een static toevoegen aan PrettyClass (die intern hetzelfde doet) is niet mogelijk?
Is inderdaad een idee, maar dat zou dan een copy paste actie worden waardoor de codeduplication toeneemt. Of je moet de huidige functie best wel aanpassen (om het net te houden).

Ik heb het wel al op een andere plek zo opgelost, daar was het probleem andersom (dus een static die juist niet static moest zijn), dan zet je er een non-static naast en laat je de static (die je als obsolete markeert) de nonstatic functie aanroepen (waarbij de non-static de logica heeft die eerst in de static zat) en sluit je nieuwe code op de nieuwe (non-static) functie aan, maar de method waar ik nu tegenaan loop wordt zo vaak gebruikt en heeft al zoveel problemen gekend dat die een beetje eng is om te veranderen. Voor die andere wijziging heb ik best wat dingen moeten wijzigingen om de method non-static te maken.

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.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

ZaZ schreef op woensdag 29 juni 2011 @ 10:20:
Veel mensen kunnen niet met airco omgaan. Het lijkt dan wel als het buiten 30 graden is dat het dan perse binnen 18 moet worden, alsof je bijna in een koelkast zit.
Zorg er dan gewoon voor dat het een paar graden koeler wordt. Met het warme weer binnen een graad of 23/24 is heel goed te doen.
Het probleem van de meeste airco's is dat ze niet modulerend zijn. Als het maar iets te warm is komt er alsnog ijskoude lucht uit, en je wilt dus echt niet op de tocht zitten. Wij zetten 'm altijd op 23 graden, maar de gevoelstemperatuur ligt meestal een stuk lager dan dat.

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.


Acties:
  • 0 Henk 'm!

Verwijderd

GoTCoast schreef op woensdag 29 juni 2011 @ 12:17:
[...]

Een vrouw bij jullie in de klas? Uitzonderlijk!
Wij hebben op onze opleiding (HBO Informatica) maar 4 meiden rondlopen :)
Ik weet niet echt als je het een vrouw kan noemen ... Het is echt een kreng, denkt altijd alles beter te weten en kan absoluut niet tegen kritiek. Ik ben ze liever kwijt dan rijk.

In het begin van het schooljaar hadden we 3 vrouwen in mijn klas, zij is nu de enige die overblijft ...
In de hele opleiding zaten er in het begin 5, nu nog 2.

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

Verwijderd schreef op woensdag 29 juni 2011 @ 13:02:
[...]


Ik weet niet echt als je het een vrouw kan noemen ... Het is echt een kreng, denkt altijd alles beter te weten en kan absoluut niet tegen kritiek. Ik ben ze liever kwijt dan rijk.
Dat maakt het toch een echte vrouw? :?
[/opendeur]

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.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

En een echte programmeur :Y)

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.


Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

Heulemaal niet! :( Programmeurs zijn niet eigenwijs. :P

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.


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 22:15
Verwijderd schreef op woensdag 29 juni 2011 @ 12:07:
Het is niet altijd even gemakkelijk om te bepalen wat er precies in een method moet en wat niet. Ik heb de indruk dat mijn code wel overzichtelijk is en dat ik er goed gebruik van maak, maar iemand bij mij in de klas doet het volgens mij helemaal verkeerd.
Elke kleine taak die gedaan wordt steekt ze in een aparte method, soms maar 3 regels lang.
Ik vind 3 regels nog wel acceptabel eigenlijk, afhankelijk van omstandigheden. Als je bijvoorbeeld een interface of abstracte base class hebt die je op meerdere plekken implement / extend en een bepaalde methode hoeft in sommige van die gevallen maar heel weinig te doen mag die van mij daar prima een regel of twee, drie zijn.

Idem met het voorbeeld van .Gertjan.: het komt vaak genoeg voor dat je een dubbele foreach met nog wat if's en else's erin nodig hebt, ik zie veel liever dat die opgesplitst zijn zodat 1 methode het loopen regelt en een andere methode de daadwerkelijke handeling. Dan komt het wel voor dat de methode die het loopen regelt maar 3, 4 regels lang is, soit :)

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

FragFrog schreef op woensdag 29 juni 2011 @ 13:08:
[...]

Ik vind 3 regels nog wel acceptabel eigenlijk, afhankelijk van omstandigheden. Als je bijvoorbeeld een interface of abstracte base class hebt die je op meerdere plekken implement / extend en een bepaalde methode hoeft in sommige van die gevallen maar heel weinig te doen mag die van mij daar prima een regel of twee, drie zijn.

Idem met het voorbeeld van .Gertjan.: het komt vaak genoeg voor dat je een dubbele foreach met nog wat if's en else's erin nodig hebt, ik zie veel liever dat die opgesplitst zijn zodat 1 methode het loopen regelt en een andere methode de daadwerkelijke handeling. Dan komt het wel voor dat de methode die het loopen regelt maar 3, 4 regels lang is, soit :)
Men komt ook altijd aanzetten met de mooie regel: Een functie moet op je scherm passen, maar goed die stamt nog uit de tijd van de terminals.

Tegenwoordig heb ik een scherm met 2048x1152, als ik die kantel naar portret-weergave passen er heel veel regels op je scherm :P

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.


Acties:
  • 0 Henk 'm!

  • BM
  • Registratie: September 2001
  • Laatst online: 19:02

BM

Moderator Spielerij
.Gertjan. schreef op woensdag 29 juni 2011 @ 13:12:
[...]

Men komt ook altijd aanzetten met de mooie regel: Een functie moet op je scherm passen, maar goed die stamt nog uit de tijd van de terminals.

Tegenwoordig heb ik een scherm met 2048x1152, als ik die kantel naar portret-weergave passen er heel veel regels op je scherm :P
En als je 'm weer terug kantelt naar landscape mode kun je de regels ook nog eens ontzettend lang maken.

Win-win, toch? :+

Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 14:10
BM schreef op woensdag 29 juni 2011 @ 13:39:
[...]

En als je 'm weer terug kantelt naar landscape mode kun je de regels ook nog eens ontzettend lang maken.

Win-win, toch? :+
Nog veel mooier, in VS2010 kun je nog uitzoomen ook :D 8)7

Acties:
  • 0 Henk 'm!

Verwijderd

Waarom hebben databases niet gewoon een functie om een random row te returnen?

Iets zegt mij dat dit niet de bedoeling kan zijn (bron):

SQL:
1
2
3
SELECT column FROM table
ORDER BY RAND()
LIMIT 1


Vooral bij grote databases gaat dit enorm lang duren ...

Een oplossing hiervoor is de volgende (bron):

PHP:
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
46
47
48
49
50
51
52
53
54
55
<?php

  //CODE FROM WWW.GREGGDEV.COM

  function random_row($table, $column) {

      $max_sql = "SELECT max(" . $column . ") 

                  AS max_id

                  FROM " . $table;

      $max_row = mysql_fetch_array(mysql_query($max_sql));

      $random_number = mt_rand(1, $max_row['max_id']);

      $random_sql = "SELECT * FROM " . $table . "

                     WHERE " . $column . " >= " . $random_number . " 

                     ORDER BY " . $column . " ASC

                     LIMIT 1";

      $random_row = mysql_fetch_row(mysql_query($random_sql));

      if (!is_array($random_row)) {

          $random_sql = "SELECT * FROM " . $table . "

                         WHERE " . $column . " < " . $random_number . " 

                         ORDER BY " . $column . " DESC

                         LIMIT 1";

          $random_row = mysql_fetch_row(mysql_query($random_sql));

      }

      return $random_row;

  }

  

  //USAGE

  echo '<pre>';

  print_r(random_row('YOUR_TABLE', 'YOUR_COLUMN'));

  echo '</pre>';

?>


Maar ook dit vind ik redelijk omslachtig omdat er 3 queries moeten worden uitgevoerd voor 1 resultaat te verkrijgen.

Random records vragen is toch niet zo heel speciaal? Het verwondert mij dan ook dat er niet gewoon een kant-en-klare functie zit ingebakken ...

Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

Verwijderd schreef op woensdag 29 juni 2011 @ 14:21:
Waarom hebben databases niet gewoon een functie om een random row te returnen?

Iets zegt mij dat dit niet de bedoeling kan zijn (bron):

SQL:
1
2
3
SELECT column FROM table
ORDER BY RAND()
LIMIT 1


Vooral bij grote databases gaat dit enorm lang duren ...

Een oplossing hiervoor is de volgende (bron):

Maar ook dit vind ik redelijk omslachtig omdat er 3 queries moeten worden uitgevoerd voor 1 resultaat te verkrijgen.

Random records vragen is toch niet zo heel speciaal? Het verwondert mij dan ook dat er niet gewoon een kant-en-klare functie zit ingebakken ...
Alleen erg jammer dat dit niet werkt als je gaten in je Id's hebt zitten, op een gegeven moment vuurt er een random Id af waarbij er geen record is, en dan? :)

Maar goed random kun je ook als volgt benaderen:
Afbeeldingslocatie: http://www.nsftools.com/misc/DilbertRandom.gif

edit: Ow wacht, als er geen row is gevonden kijken ze naar de eerstvolgende die er boven of onder ligt. Mmmmm, lost wel het probleem op, maar is het mooi? :N

[ Voor 6% gewijzigd door .Gertjan. op 29-06-2011 14:26 ]

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.


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

.Gertjan. schreef op woensdag 29 juni 2011 @ 14:24:
edit: Ow wacht, als er geen row is gevonden kijken ze naar de eerstvolgende die er boven of onder ligt. Mmmmm, lost wel het probleem op, maar is het mooi? :N
Nee, inderdaad. Ik zou meer iets doen als
PHP:
1
2
3
4
5
do
{
  $result = mysql_query("select * from $table where id = " . mt_rand(0, $max));
} 
while (mysql_num_rows($result) < 1)

Blijft een ranzige oplossing.


Edit: Xerox, gefeliciteerd, wat hebben jullie weer een verschrikkelijk irritante banners weten te creëren. Overal felle, knipperende kleuren op voornamelijk blogsites over MS-producten. :r Flashblock here I come.

[ Voor 41% gewijzigd door CodeCaster op 29-06-2011 14:34 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

CodeCaster schreef op woensdag 29 juni 2011 @ 14:29:
[...]

Nee, inderdaad. Ik zou meer iets doen als
PHP:
1
2
3
4
5
do
{
  $result = mysql_query("select * from $table where id = " . mt_rand(0, $max));
} 
while (mysql_num_rows($result) < 1)

Blijft een ranzige oplossing.
Die zou nog wel eens een behoorlijke tijd kunnen runnen als er gaten in je ID's zitten, er bestaat een kans dat steeds de gaten geraakt worden.

Ik zou zelf iets doen als:
- Ophalen lijst van ID's (eventueel cachen)
- Id's in een array duwen
- Met random nummer als index de array inspringen
- Dat record ophalen

Op die manier worden in je eerste request enkel de Id's opgehaald (relatief lichte query) om vervolgens in de code het random gebeuren te verwerken en het echter record op te halen.

Je zou ook kunnen kiezen de array te shuffelen en vervolgens gewoon items van de array te "poppen", echter komen results dan maar 1x terug terwijl je met random dezelfde results meerdere keren terug kunt krijgen.

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.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

.Gertjan. schreef op woensdag 29 juni 2011 @ 14:24:
edit: Ow wacht, als er geen row is gevonden kijken ze naar de eerstvolgende die er boven of onder ligt. Mmmmm, lost wel het probleem op, maar is het mooi? :N
Nee. Vooral omdat een rij met N ongebruikte ID's ervoor N+1 keer zoveel kans heeft om gekozen te worden als een rij met 0 ongebruikte ID's ervoor.
Overigens is die hele extra query voor < nutteloos omdat die nooit voor kan komen. Ook zou ik min(column) ook queryen - beetje lullig als je ID's beginnen te tellen bij 10000 en je hebt maar 100 records, en je maar afvragen waarom je vrijwel altijd het eerste record terugkrijgt 8)7

Wat ik zelf zou doen is gewoon een COUNT(*) doen, en dan een LIMIT RAND(1,count), 1. Zonder ORDER BY dus.

[ Voor 31% gewijzigd door .oisyn op 29-06-2011 14:45 ]

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.


Acties:
  • 0 Henk 'm!

  • Leftblank
  • Registratie: Juni 2004
  • Laatst online: 22:13
Zou je niet wat kunnen goochelen met een COUNT() voor totale aantal entries om zo vervolgens dmv OFFSET 1 row te pakken uit de hele reeks? Ik zou verwachten dat voor grote tabellen het ophalen en doorgeven van alle id's langer duurt dan totale aantal rijen berekenen/benaderen maar dit is uiteraard op niets meer dan gut feeling gebaseerd :+. Spuit11 :'(

[ Voor 1% gewijzigd door Leftblank op 29-06-2011 15:09 . Reden: Damn you .oisync! ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

gmta :D

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.


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
mbt de 'wanneer moet je een functie onderverdelen' heeft Fowler wel een paar goeie opmerkingen in het Refactoring boek gepleurd. De hoofdstukjes 'Extract Method' en 'Inline Method' geven aan wanneer je zou moeten splitsen en juist weer zou moeten samenvoegen.

deze boef heeft het hele extract method hoofdstuk gecopypasta'd, evenals het inline method hoofdstuk. Het zijn (helaas?) triviale voorbeelden, maar de redenatie lijkt mij allemaal wel duidelijk.

Een goeie hint: Zodra je commentaar (zelfs een one-liner) nodig hebt om de intentie van een (blok?) code te beschrijven hebt zou je al een extract method doen, zodanig dat de functienaam aangeeft wat het doet ipv een regel code. Case in point:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void fietsbel() {
  Enumeration e = _orders.elements();
  double outstanding = 0.0;

  doeIets();

  // calculate outstanding
  while (e.hasMoreElements()) {
      Order each = (Order) e.nextElement();
      outstanding += each.getAmount();
  }

  doeIetsAnders(outstanding);
}

Dit kun je refactoren naar: (let op het ontbreken van commentaar. niet nodig. Temp variabele eigenlijk ook niet, maar da's een ander onderwerp in het refactoring boek.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void fietsbel() {
  doeIets();
  double outstanding = calculateOutstanding();
  doeIetsAnders(outstanding);
}
 
double calculateOutstanding() {
  Enumeration e = _orders.elements();
  double outstanding = 0.0;
  while (e.hasMoreElements()) {
    Order each = (Order) e.nextElement();
    outstanding += each.getAmount();
  }
  return outstanding;
}


bakkes. En ja, databases moeten gewoon ingebouwde functionaliteit krijgen voor het ophalen van een random record. Als je het in MySQL al erg vindt, moet je zeker niet naar MSSQL gaan, :/. (tenminste, als je niet voor elk record in de tabel een random ID wilt laten genereren)

[ Voor 6% gewijzigd door YopY op 29-06-2011 15:06 ]


Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
.oisyn schreef op woensdag 29 juni 2011 @ 14:35:
[...]

Nee. Vooral omdat een rij met N ongebruikte ID's ervoor N+1 keer zoveel kans heeft om gekozen te worden als een rij met 0 ongebruikte ID's ervoor.
Overigens is die hele extra query voor < nutteloos omdat die nooit voor kan komen. Ook zou ik min(column) ook queryen - beetje lullig als je ID's beginnen te tellen bij 10000 en je hebt maar 100 records, en je maar afvragen waarom je vrijwel altijd het eerste record terugkrijgt 8)7

Wat ik zelf zou doen is gewoon een COUNT(*) doen, en dan een LIMIT RAND(1,count), 1. Zonder ORDER BY dus.
Een ORDER BY is een no go, omdat 'ie de hele lijst gaat ordenen, waarschijnlijk zonder index en dat is dus retetraag.

Wij werken hier met Progress databases en dan heb je buffers en queries waarbij een buffer de (waarden van de) tabelregel bevat waar de query (soort pointer) momenteel naar wijst.

Ik zou dan een count doen en de query positioneren naar rij rand(1,count). Dan komt die automatisch in de buffer te staan. Alleen gaat het tellen niet echt simpel met deze taal, zoals te zien is met de FOR-loop.

OpenEdge ABL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* Buffer en query definiëren en gebruiken */
DEFINE BUFFER b FOR VoorbeeldTabel.
DEFINE QUERY q FOR b SCROLLING.

FOR EACH b:
  ACCUMULATE b.id (COUNT). /* Even een ID-veld tellen, kan geen * gebruiken oid. */
END.

OPEN QUERY q FOR EACH b.

REPOSITION q TO ROW RANDOM(1, (ACCUM COUNT b.id)). /* Pak een willekeurig nummer tussen 1 en count */
GET NEXT q NO-LOCK. /* Moet het record nog ophalen na de reposition, zo werkt het met deze taal */
DISP b.id. /* Geeft verschillende resultaten */

CLOSE QUERY q.


Andere talen en dbs zijn even geleden, dus hoe je dit moet vertalen en of het eventueel te gebruiken is, is een ander verhaal. :)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

Davio schreef op woensdag 29 juni 2011 @ 15:27:
[...]

Een ORDER BY is een no go, omdat 'ie de hele lijst gaat ordenen, waarschijnlijk zonder index en dat is dus retetraag.
Per definitie zonder index als je ORDER BY RAND() doet.
Wij werken hier met Progress databases en dan heb je buffers en queries waarbij een buffer de (waarden van de) tabelregel bevat waar de query (soort pointer) momenteel naar wijst.
Zoiets heet een cursor ;)
Ik zou dan een count doen en de query positioneren naar rij rand(1,count). Dan komt die automatisch in de buffer te staan. Alleen gaat het tellen niet echt simpel met deze taal, zoals te zien is met de FOR-loop.
Heeft progress niet gewoon support voor een "LIMIT start, count" achtige syntax?

[ Voor 56% gewijzigd door .oisyn op 29-06-2011 15:30 ]

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.


Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
.oisyn schreef op woensdag 29 juni 2011 @ 15:28:
[...]

Per definitie zonder index als je ORDER BY RAND() doet.
Is wat ik dacht, maar ik hield een slag om de arm omdat mijn expertise niet 100% by SQL ligt, ik ken mijn beperkingen. :)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

Mijn SQL is ook niet fantastisch, maar je kunt zelf denk ik ook wel redeneren dat een index aanleggen op iets dat random is niet heel veel zin heeft ;)

[ Voor 4% gewijzigd door .oisyn op 29-06-2011 15:32 ]

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.


Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
.oisyn schreef op woensdag 29 juni 2011 @ 15:31:
Mijn SQL is ook niet fantastisch, maar je kunt zelf denk ik ook wel redeneren dat een index aanleggen op iets dat random is niet heel veel zin heeft ;)
Edit: Helemaal duidelijk nu, hij maakt voor elke rij een RAND en sorteert vervolgens daarop. Niet echt praktisch dus.

Iemand heeft een mooie (My)SQL oplossing: http://www.electrictoolbo...lternative-order-by-rand/

[ Voor 42% gewijzigd door Davio op 29-06-2011 15:37 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wat ik zelf dus al zei ;)
.oisyn schreef op woensdag 29 juni 2011 @ 14:35:
Wat ik zelf zou doen is gewoon een COUNT(*) doen, en dan een LIMIT RAND(1,count), 1. Zonder ORDER BY dus.

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.


Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb net een nog betere oplossing gevonden (bron)

SQL:
1
SELECT * FROM myTable WHERE RAND()<(SELECT ((1/COUNT(*))*10) FROM myTable) ORDER BY RAND() LIMIT 1;


Alleen spijtig dat er geen holes in je tabel mogen zitten :'(

Acties:
  • 0 Henk 'm!

  • Leftblank
  • Registratie: Juni 2004
  • Laatst online: 22:13
Verwijderd schreef op woensdag 29 juni 2011 @ 16:09:
Ik heb net een nog betere oplossing gevonden (bron)

SQL:
1
SELECT * FROM myTable WHERE RAND()<(SELECT ((1/COUNT(*))*10) FROM myTable) ORDER BY RAND() LIMIT 1;


Alleen spijtig dat er geen holes in je tabel mogen zitten :'(
Hoe is dat beter dan de eerder genoemde alternatieven dan?

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:56
VB6 legacy project met nieuwe functionaliteiten in .NET (aangesproken via COM interop), en een paar fucking 3rd party VB6 controls == geen goede combinatie. :/

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • elnaeth
  • Registratie: Januari 2009
  • Laatst online: 25-09 08:53
Zooooo, vakantie! Tijd voor werk, effe helemaal gehad met de opleiding, na de vakantie eindelijk op stage :D

Jullie allemaal nog heftig bezig met programmeren neem ik aan? :+

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 22:07
Nog anderhalve week school ;(

Morgen eindpresentatie project en dan nog even bikkelen voor wiskunde.

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Verwijderd schreef op woensdag 29 juni 2011 @ 16:09:
Ik heb net een nog betere oplossing gevonden (bron)

SQL:
1
SELECT * FROM myTable WHERE RAND()<(SELECT ((1/COUNT(*))*10) FROM myTable) ORDER BY RAND() LIMIT 1;


Alleen spijtig dat er geen holes in je tabel mogen zitten :'(
SQL:
1
2
3
    SELECT TOP 1 veld
    FROM table
    WHERE vald >= RAND() * (SELECT MAX(veld) FROM table)

Moet je wel een index selecteren natuurlijk :)

Acties:
  • 0 Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 21:02
.Gertjan. schreef op woensdag 29 juni 2011 @ 14:33:
[...]


Die zou nog wel eens een behoorlijke tijd kunnen runnen als er gaten in je ID's zitten, er bestaat een kans dat steeds de gaten geraakt worden.

Ik zou zelf iets doen als:
- Ophalen lijst van ID's (eventueel cachen)
- Id's in een array duwen
- Met random nummer als index de array inspringen
- Dat record ophalen

Op die manier worden in je eerste request enkel de Id's opgehaald (relatief lichte query) om vervolgens in de code het random gebeuren te verwerken en het echter record op te halen.

Je zou ook kunnen kiezen de array te shuffelen en vervolgens gewoon items van de array te "poppen", echter komen results dan maar 1x terug terwijl je met random dezelfde results meerdere keren terug kunt krijgen.
Misschien denk ik te makkelijk, maar kan je dan niet in plaats van = en steeds een hoger nummer in 1 maal >= RANDOM_NUMMER doen, met LIMIT 1?

Als het nummer bestaat krijg je 1 record terug, maar als die niet bestaat krjig je alleen (in 1 query) het unieke nummer terug.. Die 3e query snap ik in elk geval niet.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

Zoals ik al eerder zei, "Vooral omdat een rij met N ongebruikte ID's ervoor N+1 keer zoveel kans heeft om gekozen te worden als een rij met 0 ongebruikte ID's ervoor."

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.


Acties:
  • 0 Henk 'm!

  • DEiE
  • Registratie: November 2006
  • Laatst online: 16:32
Code Complete 2 heeft ook een mooi stukje hierover:

7.1. Valid Reasons to Create a Routine

Here's a list of valid reasons to create a routine. The reasons overlap somewhat, and they're not intended to make an orthogonal set.

Reduce complexity The single most important reason to create a routine is to reduce a program's complexity. Create a routine to hide information so that you won't need to think about it. Sure, you'll need to think about it when you write the routine. But after it's written, you should be able to forget the details and use the routine without any knowledge of its internal workings. Other reasons to create routines—minimizing code size, improving maintainability, and improving correctness—are also good reasons, but without the abstractive power of routines, complex programs would be impossible to manage intellectually.

One indication that a routine needs to be broken out of another routine is deep nesting of an inner loop or a conditional. Reduce the containing routine's complexity by pulling the nested part out and putting it into its own routine.

Introduce an intermediate, understandable abstraction Putting a section of code into a well-named routine is one of the best ways to document its purpose. Instead of reading a series of statements like
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if ( node <> NULL ) then

   while ( node.next <> NULL ) do

      node = node.next

      leafName = node.name

   end while

else

   leafName = ""

end if


you can read a statement like this:

code:
1
leafName = GetLeafName( node )



The new routine is so short that nearly all it needs for documentation is a good name. The name introduces a higher level of abstraction than the original eight lines of code, which makes the code more readable and easier to understand, and it reduces complexity within the routine that originally contained the code.

Avoid duplicate code Undoubtedly the most popular reason for creating a routine is to avoid duplicate code. Indeed, creation of similar code in two routines implies an error in decomposition. Pull the duplicate code from both routines, put a generic version of the common code into a base class, and then move the two specialized routines into subclasses. Alternatively, you could migrate the common code into its own routine, and then let both call the part that was put into the new routine. With code in one place, you save the space that would have been used by duplicated code. Modifications will be easier because you'll need to modify the code in only one location. The code will be more reliable because you'll have to check only one place to ensure that the code is right. Modifications will be more reliable because you'll avoid making successive and slightly different modifications under the mistaken assumption that you've made identical ones.

Support subclassing You need less new code to override a short, well-factored routine than a long, poorly factored routine. You'll also reduce the chance of error in subclass implementations if you keep overrideable routines simple.

Hide sequences It's a good idea to hide the order in which events happen to be processed. For example, if the program typically gets data from the user and then gets auxiliary data from a file, neither the routine that gets the user data nor the routine that gets the file data should depend on the other routine's being performed first. Another example of a sequence might be found when you have two lines of code that read the top of a stack and decrement a stackTop variable. Put those two lines of code into a PopStack() routine to hide the assumption about the order in which the two operations must be performed. Hiding that assumption will be better than baking it into code from one end of the system to the other.

Hide pointer operations Pointer operations tend to be hard to read and error prone. By isolating them in routines, you can concentrate on the intent of the operation rather than on the mechanics of pointer manipulation. Also, if the operations are done in only one place, you can be more certain that the code is correct. If you find a better data type than pointers, you can change the program without traumatizing the code that would have used the pointers.

Improve portability Use of routines isolates nonportable capabilities, explicitly identifying and isolating future portability work. Nonportable capabilities include nonstandard language features, hardware dependencies, operating-system dependencies, and so on.

Simplify complicated boolean tests Understanding complicated boolean tests in detail is rarely necessary for understanding program flow. Putting such a test into a function makes the code more readable because (1) the details of the test are out of the way and (2) a descriptive function name summarizes the purpose of the test.

Giving the test a function of its own emphasizes its significance. It encourages extra effort to make the details of the test readable inside its function. The result is that both the main flow of the code and the test itself become clearer. Simplifying a boolean test is an example of reducing complexity, which was discussed earlier.

Improve performance You can optimize the code in one place instead of in several places. Having code in one place will make it easier to profile to find inefficiencies. Centralizing code into a routine means that a single optimization benefits all the code that uses that routine, whether it uses it directly or indirectly. Having code in one place makes it practical to recode the routine with a more efficient algorithm or in a faster, more efficient language.

To ensure all routines are small? No. With so many good reasons for putting code into a routine, this one is unnecessary. In fact, some jobs are performed better in a single large routine.
Operations That Seem Too Simple to Put Into Routines
One of the strongest mental blocks to creating effective routines is a reluctance to create a simple routine for a simple purpose. Constructing a whole routine to contain two or three lines of code might seem like overkill, but experience shows how helpful a good small routine can be.

Small routines offer several advantages. One is that they improve readability. I once had the following single line of code in about a dozen places in a program:
Pseudocode Example of a Calculation
code:
1
points = deviceUnits * ( POINTS_PER_INCH / DeviceUnitsPerInch() )


This is not the most complicated line of code you'll ever read. Most people would eventually figure out that it converts a measurement in device units to a measurement in points. They would see that each of the dozen lines did the same thing. It could have been clearer, however, so I created a well-named routine to do the conversion in one place:
Pseudocode Example of a Calculation Converted to a Function
code:
1
2
3
4
5
6
7
Function DeviceUnitsToPoints ( deviceUnits Integer ): Integer

   DeviceUnitsToPoints = deviceUnits *

      ( POINTS_PER_INCH / DeviceUnitsPerInch() )

End Function


When the routine was substituted for the inline code, the dozen lines of code all looked more or less like this one:
Pseudocode Example of a Function Call to a Calculation Function
code:
1
points = DeviceUnitsToPoints( deviceUnits )


This line is more readable—even approaching self-documenting.

This example hints at another reason to put small operations into functions: small operations tend to turn into larger operations. I didn't know it when I wrote the routine, but under certain conditions and when certain devices were active, DeviceUnitsPerlnch() returned 0. That meant I had to account for division by zero, which took three more lines of code:
Pseudocode Example of a Calculation That Expands Under Maintenance
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Function DeviceUnitsToPoints( deviceUnits: Integer ) Integer;

   if ( DeviceUnitsPerInch() <> 0 )

      DeviceUnitsToPoints = deviceUnits *

         ( POINTS_PER_INCH / DeviceUnitsPerInch() )

   else

      DeviceUnitsToPoints = 0

   end if

End Function


If that original line of code had still been in a dozen places, the test would have been repeated a dozen times, for a total of 36 new lines of code. A simple routine reduced the 36 new lines to 3.
Summary of Reasons to Create a Routine
Here's a summary list of the valid reasons for creating a routine:
  • Reduce complexity
  • Introduce an intermediate, understandable abstraction
  • Avoid duplicate code
  • Support subclassing
  • Hide sequences
  • Hide pointer operations
  • Improve portability
  • Simplify complicated boolean tests
  • Improve performance
  • In addition, many of the reasons to create a class are also good reasons to create a routine:
  • Isolate complexity
  • Hide implementation details
  • Limit effects of changes
  • Hide global data
  • Make central points of control
  • Facilitate reusable code
  • Accomplish a specific refactoring

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 22:07
Code Complete (2) heeft overal mooie stukjes over :)

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
elnaeth schreef op woensdag 29 juni 2011 @ 16:53:
Zooooo, vakantie! Tijd voor werk, effe helemaal gehad met de opleiding, na de vakantie eindelijk op stage :D

Jullie allemaal nog heftig bezig met programmeren neem ik aan? :+
Ja, keihard, :p. Javascript op het werk (NodeJS, maar ben de laatste tijd bezig met het uitdokteren van front-end JS design patterns en unit testing dmv Jasmine, mocking dmv Sinon. dit is een verrekt goeie tutorial wat dat betreft).

Maar stiekem wil ik gewoon weer terug naar m'n comfort zone, en back-end prutsen met Java, :/.

Vakantie heb ik nog maar half ingepland. Waarschijnlijk twee weekjes vrij in augustus, maar geen concrete plannen.

Voor september al wel (bijna vaststaande / concrete) plannen: een paar daagjes St. Louis (en mogelijk een andere stad) voor Strangeloop, op kosten van de baas / mijn trainingsbudget _/-\o_.
quote: DEiE
Operations That Seem Too Simple to Put Into Routines
Dit wordt door Fowler ook wel onder de 'Introduce Explaining Variable'-noemer geschaard. Zet het resultaat van een berekening in een tijdelijke variabele, waar de naam van de variabele aangeeft wat het bevat.

* YopY gebruikt Code Complete op het moment als laptop-op-ooghoogte-breng-assistent, :+. Maar hij staat op de 'to read'-lijst. Zal wel kijken of ik de 2e editie kan krijgen, ipv de eerste.

(overigens, normaliter heb ik een dikke J2EE-pil in samenwerking met boeken over SOA als laptopsteunineffictiviteitsopheffer)

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

D'r was hier pas toch een screenshot gepost waar iets van "[...] Windows 7 in [...]" was vertaald naar "[...] Windows 18 centimeter [...]" of iets in die trant in een Windows Update?

Heb er weer een. :')
Time-out error occurs when you install a Windows Update package that contains drivers on a computer that is running Windows 7 or Windows Server 2008 R2
Update voor Windows stuurprogramma's tijden uit op een computer bevat waarop Windows 7 of Windows Server 2008 R2
LET OP: Dit artikel is vertaald door een vertaalmachine. Lees meer hierover aan de onderzijde van dit artikel (incl. link naar het originele Engelstalige artikel)
Goh, dat had ik nog niet door. :+

[ Voor 15% gewijzigd door CodeCaster op 30-06-2011 09:36 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:15

Haan

dotnetter

CodeCaster schreef op donderdag 30 juni 2011 @ 09:36:
D'r was hier pas toch een screenshot gepost waar iets van "[...] Windows 7 in [...]" was vertaald naar "[...] Windows 18 centimeter [...]" of iets in die trant in een Windows Update?

Heb er weer een. :')


Goh, dat had ik nog niet door. :+
Ik had er wel laatst een gepost, maar daarin werd niet '7 in' vertaald naar 18cm, dat is echt hilarisch _O-

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 15:54
CodeCaster schreef op donderdag 30 juni 2011 @ 09:36:
D'r was hier pas toch een screenshot gepost waar iets van "[...] Windows 7 in [...]" was vertaald naar "[...] Windows 18 centimeter [...]" of iets in die trant in een Windows Update?

Heb er weer een. :')


[...]


[...]


[...]

Goh, dat had ik nog niet door. :+
Bah, de translation machine van Microsoft, wat een gedrocht is dat zeg :r

Dit is ook een mooie:

Trapsgewijze opmaakmodellen gebruiken om het uiterlijk van tekst in Internet Explorer wijzigen
In dit artikel wordt beschreven hoe u trapsgewijze opmaakmodellen (*.css) gebruiken om kleur en lettertype van pagina's in Microsoft Internet Explorer-venster wijzigen.
Ik heb helaas ook nog geen manier gevonden om hem uit te zetten :(

Hail to the king baby!


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:15

Haan

dotnetter

urk_forever schreef op donderdag 30 juni 2011 @ 14:18:


Ik heb helaas ook nog geen manier gevonden om hem uit te zetten :(
zo?

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 15:54
Ik bedoel als ik vanaf Google een pagina van support.microsoft.com open (zoals deze link) dan krijg ik standaard de pagina vertaald in het Nederlands. Maar ik wil die gewoon standaard de originele engelse versie zien. Dat kan je volgens mij nergens aangeven.

Hail to the king baby!


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:15

Haan

dotnetter

urk_forever schreef op donderdag 30 juni 2011 @ 14:28:
[...]


Ik bedoel als ik vanaf Google een pagina van support.microsoft.com open (zoals deze link) dan krijg ik standaard de pagina vertaald in het Nederlands. Maar ik wil die gewoon standaard de originele engelse versie zien. Dat kan je volgens mij nergens aangeven.
Jawel, kijk maar eens rechtsboven ;) Al is het niet helemaal zuiver, omdat je de locatie op een Engelstalig land moet zetten.

[ Voor 8% gewijzigd door Haan op 30-06-2011 14:33 ]

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

Verwijderd

Pff ik moet hier op mijn werk een aantal layout aanpassingen maken in een van de webshops.
Normaal niet zon ramp maar er word gebruik gemaakt van een pakket genaamd logivert.
Dit is een compleet webshop pakket, administratie,verkoop en het maken van de site in een pakket. Het zou dus een wysiwyg moeten zijn maar het is meer what you see is what you might get :(

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:15

Haan

dotnetter

Resharper 6 is nu officieel gereleased! *O*

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:30

Creepy

Tactical Espionage Splatterer

On hold.. ff onderhoud...

Edit: en weer open. Ik heb wat berichten in een eigen topic gezet. Kleine reminder: vragen, problemen e.d. gewoon in een eigen topic. Als een probleem/vraag echt geen eigen topic waard is, kun je je afvragen of het hier thuis hoort ;)

[ Voor 82% gewijzigd door Creepy op 30-06-2011 15:29 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

.weg

[ Voor 100% gewijzigd door .oisyn op 30-06-2011 15:34 ]

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.


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Hm had de beta's geïnstalleerd en moest elke keer de 30 dagen trial starten (waren nog geen licenses te koop) en nu heb ik de release geïnstalleerd en bij het aboutscherm staat dat ie geregistreerd is :P

Ohnee, hij was gewoon nog niet gestart :(

[ Voor 5% gewijzigd door Megamind op 30-06-2011 15:37 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:30

Creepy

Tactical Espionage Splatterer

edit: goddomme creepy . Reacties moven icm de topic notification == no good.
:P dat ligt gelukkig niet aan mij ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Jeffroiscool
  • Registratie: December 2006
  • Laatst online: 23:46

Jeffroiscool

Proud DD Member! :D

De laatste keer dat ik een apart topic voor zo'n vraag openende werd ik ervoor geflamed en daarom maakte ik ff hier snel een post.

League of Legends [Last Updated 22-08-2012]: [EUW] Jeffro (Now:Silver, S1:Bronze), RankedSolo5x5: 1502 [120W/106L], Dominion: 84W, TT: 3W, Normal: 504W


Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 21:42

CoolGamer

What is it? Dragons?

Ik ben geslaagd voor HBO Technische Informatica :*) . Dus nu lekker vakantie 8) .
Jeffroiscool schreef op donderdag 30 juni 2011 @ 16:04:
De laatste keer dat ik een apart topic voor zo'n vraag openende werd ik ervoor geflamed en daarom maakte ik ff hier snel een post.
Korte vragen hier zijn eigenlijk niet de bedoeling. Een slecht topic is ook niet de bedoeling. Als je gewoon een topic volgens de regels (genoeg informatie geven, niet gewoon wat code dumpen, vertellen wat je zelf al hebt geprobeerd) maakt mag zelfs een korte vraag.

[ Voor 76% gewijzigd door CoolGamer op 30-06-2011 16:40 ]

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Ik begrijp dat gezwijmel over Resharper niet echt hoor, nooit gebruikt maar ik mis ook niets in Visual Studio.
TheCoolGamer schreef op donderdag 30 juni 2011 @ 16:37:
Ik ben geslaagd voor HBO Technische Informatica :*) . Dus nu lekker vakantie 8) .
Grats!

Freelance Unity3D developer


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:15

Haan

dotnetter

CyCloneNL schreef op donderdag 30 juni 2011 @ 16:48:
Ik begrijp dat gezwijmel over Resharper niet echt hoor, nooit gebruikt maar ik mis ook niets in Visual Studio.

[...]

Grats!
Als je het nooit gebruikt, snap je het ook niet, maar als je het eenmaal wel hebt gebruikt snap je het wel ;)

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 23:17
Haan schreef op donderdag 30 juni 2011 @ 16:54:
[...]

Als je het nooit gebruikt, snap je het ook niet, maar als je het eenmaal wel hebt gebruikt snap je het wel ;)
Ook ik snap het niet zo. Ik heb het gebruikt maar ik vond het erg vervelend werken.
Maarja ik gebruik dat ook al een tijdje de productivity tools. Daarnaast is een behoorlijk deel van de 'features' van resharper tegenwoordig standaard aanwezig in VS2010. Dat idee heb ik in ieder geval.

[ Voor 3% gewijzigd door Caelorum op 30-06-2011 17:24 ]


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 22:07
Caelorum schreef op donderdag 30 juni 2011 @ 17:23:
[...]

Daarnaast is een behoorlijk deel van de 'features' van resharper tegenwoordig standaard aanwezig in VS2010. Dat idee heb ik in ieder geval.
Nonsens.

Acties:
  • 0 Henk 'm!

  • eBoR
  • Registratie: April 2011
  • Laatst online: 10-09 20:09
is resharper 6 al wel sneller geworden ? vond het een leuke pakket qua tools maar mega traag :S

Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 27-09 22:01
Ruby on Rails is wel verschrikkelijk traag in development mode zeg... Het laden van een pagina duurt al gauw langer dan 2 seconden bij websites van m'n werk :P

[ Voor 31% gewijzigd door Gamebuster op 30-06-2011 20:33 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
eBoR schreef op donderdag 30 juni 2011 @ 19:46:
is resharper 6 al wel sneller geworden ? vond het een leuke pakket qua tools maar mega traag :S
Nope..Wel een hekelpunt.. Handig voor mij is dat er goede MVC en JS support inzit, dat maakt het wel wat makkelijker.

Acties:
  • 0 Henk 'm!

  • defcon84
  • Registratie: September 2009
  • Laatst online: 24-09 13:44

defcon84

Multipass?

Haan schreef op donderdag 30 juni 2011 @ 16:54:
[...]

Als je het nooit gebruikt, snap je het ook niet, maar als je het eenmaal wel hebt gebruikt snap je het wel ;)
Amen.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Caelorum schreef op donderdag 30 juni 2011 @ 17:23:
[...]
Ook ik snap het niet zo. Ik heb het gebruikt maar ik vond het erg vervelend werken.
Het heeft bij mij ook een tijdje geduurd voordat ik er echt fijn mee kon werken, maar nu zou ik niet meer zonder willen.
Daarnaast is een behoorlijk deel van de 'features' van resharper tegenwoordig standaard aanwezig in VS2010. Dat idee heb ik in ieder geval.
Er komt inderdaad ook steeds meer naar VS.NET maar ook Resharper krijgt nog regelmatig nieuwe features. In VS 2003 was resharper nog echt een must als je een beetje refactoring wou, dat is tegenwoordig al een stuk beter ( eigenlijk gewoon goed ;) ), maar de native functies zijn toch minder krachtig dan die van resharper.
eBoR schreef op donderdag 30 juni 2011 @ 19:46:
is resharper 6 al wel sneller geworden ? vond het een leuke pakket qua tools maar mega traag :S
Het is inderdaad best een zware tool, maar ik heb eigenlijk nooit problemen dat het traag is. Alleen de opstarttijd van VS is wat langer, maar tijdens het coden merk ik weinig van de traagheid.

[ Voor 19% gewijzigd door Woy op 30-06-2011 22:16 ]

“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.”


Acties:
  • 0 Henk 'm!

  • eBoR
  • Registratie: April 2011
  • Laatst online: 10-09 20:09
dan toch maar eens versie 6 gaan proberen.

Acties:
  • 0 Henk 'm!

  • Hoogie2004
  • Registratie: Mei 2005
  • Laatst online: 29-09 07:51

Hoogie2004

Whohooooo

Wat is het doodstil hier op vrijdag.....

My iRacing profile | Strava


Acties:
  • 0 Henk 'm!

  • PeterSelie
  • Registratie: December 2002
  • Laatst online: 18-09 14:19
Hoogie2004 schreef op vrijdag 01 juli 2011 @ 09:48:
Wat is het doodstil hier op vrijdag.....
Mja, ik heb al een aantal koffie op.. Toch nog steeds brak van gisteren avond; borrel ter afscheid van een van mijn meest gewaardeerde collega's ;w

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:15

Haan

dotnetter

Hoogie2004 schreef op vrijdag 01 juli 2011 @ 09:48:
Wat is het doodstil hier op vrijdag.....
Ik lig op bed met een griepje, dus niet zoveel te melden :(

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

SoaDmaggot schreef op vrijdag 01 juli 2011 @ 09:52:
[...]

Mja, ik heb al een aantal koffie op.. Toch nog steeds brak van gisteren avond; borrel ter afscheid van een van mijn meest gewaardeerde collega's ;w
Ouch, de borrelpijn ken ik ook. Gisteren paar glaasjes wij op met mijn vriendin op de bank, daarbij nog iets te laat gaan slapen en tel uit je winst :-(

Maar goed, de dag is inmiddels door de helft (om 6:00 begonnen en mag dus om 14:00 stoppen). Lekker vanuit huis, dus niemand ziet dat de eerste 1,5 uur behoorlijk brak waren :P Scheelt me ook 2x minimaal 75 minuten reistijd (en als ik de spitsverwachting voor vanavond hoor nog wel meer).

Moest eerste even mijn Visual Studio repareren, die crashte iedere keer als ik op TFS inlogde... Keertje als admin opstarten recente projecten weggooien en probleem is opgelost :S

Nu lekker met Word aan het interop-en, zitten toch wel wat narigheden (of dingen waar je aan moet wennen) in, maar goed het lijkt te nu redelijk te werken. Even template van de klant koppelen en gaan met die banaan. Zitten weer eens voor het eerst in behoorlijk lange tijd weer in .NET *O*... Moest me wel weer eerst helemaal in de code inlezen (vooral mijn BE en BLL classes moest ik weer even begrijpen, deze heb ik vrij strak opgezet en nieuwe classes moeten dus ook weer aan die structuur en naming voldoen, maar deze wijkt behoorlijk af van de werkwijze in Axapta).

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.


Acties:
  • 0 Henk 'm!

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

Dag begint meteen goed, lol op de twitters:
ceiling(160 * 0.1) = 17. THANKS C++. F*CK YOU DOUBLE. F*CK YOU AND YOUR MOTHER WHO WAS PROBABLY FLOAT
:D

Aunt bunny is coming to get me!


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Jeuj dag vrij *O*

...ik verveel me -O-

Acties:
  • 0 Henk 'm!

Verwijderd

iH8 schreef op vrijdag 01 juli 2011 @ 11:22:
Dag begint meteen goed, lol op de twitters:


[...]


:D
Regel #1 van floating-point arithmetics: never rely on floating-point arithmetics. :P
Pagina: 1 ... 157 ... 201 Laatste

Dit topic is gesloten.

Let op:
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep, niet als vraagbaak