If money talks then I'm a mime
If time is money then I'm out of time
Als je zoekt op je pakket komt er ten eerste de hele site (inclusief menu's) nog een keer in een frame op de site, dat is gewoon lelijk. En vervolgens gaat dat frame niet eens via HTTPS, waardoor Firefox en IE een waarschuwing geven. In Chrome is deze waarschuwing er niet, maar moet ik wel 2x op Zoek drukken om mijn resultaten te krijgen.

Zo moeilijk is het toch niet om een fatsoenlijke site op te zetten?
LostBoys tochDragor schreef op woensdag 06 juli 2011 @ 08:56:
Argh, ik irriteer me enorm aan de Track & Trace site van PostNL.
Als je zoekt op je pakket komt er ten eerste de hele site (inclusief menu's) nog een keer in een frame op de site, dat is gewoon lelijk. En vervolgens gaat dat frame niet eens via HTTPS, waardoor Firefox en IE een waarschuwing geven. In Chrome is deze waarschuwing er niet, maar moet ik wel 2x op Zoek drukken om mijn resultaten te krijgen.![]()
Zo moeilijk is het toch niet om een fatsoenlijke site op te zetten?
^^ eens. Heb net een klein projectje met VBA achter de rug. Ben blij dat het is afgerond.
Had persoonlijk liever met C# bezig geweest, helaas ondersteund excel 2002 dat niet...
Intel i7-12700KF/Giga-Byte B760I Aorus Pro DDR4/MSI Geforce 1080Ti 11Gb/Corsair 2x16.384MB DDR4-3200/Samsung SSD 980 Pro 1 Tb/Crucial MX500 1 Tb/Seagate 1 Tb
.Gertjan.: Er is maar een goede Mac en dat is die gele M langs de snelweg :D
De manual ken ik uiteraard, las er overheen. Bedankt in ieder geval.dingstje schreef op woensdag 06 juli 2011 @ 01:02:
[...]
.html() past de innerHtml van het betreffende element aan, zodat je form dus eigenlijk een child wordt van de anchor. .replaceWith() daarentegen vervangt het betreffende element door de form, zodat je anchor gewoon verdwijnt en de form in de plaats komt. There's a manual for that
Goedemorgen
Mijn laatste (grote) reviews: Medal of Honor (VR), Half-Life: Alyx (VR)
IE9 uitgerold hier. Met die homescreen met de meest gebruikte sites kan je pijnlijk zien hoe veel je op GoT zit
jip_86 schreef op woensdag 06 juli 2011 @ 10:06:
Goedemorgen
IE9 uitgerold hier. Met die homescreen met de meest gebruikte sites kan je pijnlijk zien hoe veel je op GoT zit

Hmm, whut?
cba, ze hebben er hier niet echt problemen mee
[ Voor 9% gewijzigd door PeterSelie op 06-07-2011 10:33 ]
Had ik gisteren ook,Haan schreef op dinsdag 05 juli 2011 @ 23:33:
Anyway, ik vind het wel weer mooi geweest voor vandaag, 13 uur op de teller en morgen weer vroeg verder


Op m'n werk. 4 websites van m'n werk, YT, tweakers, google en ychat
Let op: Mijn post bevat meningen, aannames of onwaarheden
[ Voor 10% gewijzigd door .oisyn op 06-07-2011 14:47 ]
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.
GoT, Gmail, intranet (prod), intranet (staging), intranet trac, intranet2 trac
[ Voor 12% gewijzigd door alienfruit op 06-07-2011 14:48 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

[ Voor 4% gewijzigd door alienfruit op 06-07-2011 14:50 ]
[ Voor 96% gewijzigd door alienfruit op 06-07-2011 14:51 ]
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.
Dit compilet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| struct Foo { const int i; Foo(); operator int() const; Foo& operator=(int); }; int main() { Foo a, b; a = b; } |
Wat klopt hier niet?
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.
Kater? Eerst water, de rest komt later
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.
Verwijderd
Second that!Haan schreef op woensdag 06 juli 2011 @ 15:39:
Ik heb weleens het idee dat jij de hele dag allerlei obscure code zit uit te proberen
Mja, die pech heb je helaas als je bijna dagelijks tussen 3 compilers moet wisselen..oisyn schreef op woensdag 06 juli 2011 @ 15:46:
Nee het zijn echt dingen waar ik in de praktijk tegenaan loop
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
[ Voor 10% gewijzigd door CodeCaster op 06-07-2011 16:13 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
[ Voor 10% gewijzigd door .oisyn op 06-07-2011 16: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.
1
2
3
4
| prog.cpp: In member function 'Foo& Foo::operator=(const Foo&)': prog.cpp:2: error: non-static const member 'const int Foo::i', can't use default assignment operator prog.cpp: In function 'int main()': prog.cpp:13: note: synthesized method 'Foo& Foo::operator=(const Foo&)' first required here |
[ Voor 77% gewijzigd door PrisonerOfPain op 06-07-2011 16:20 ]
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
.edit: na de edit wel, maar ja, TheCoolGamer was eerder
.edit2: trouwens wel heel freaky
PrisonerOfPain wijzigde dit bericht 06-07-2011 16:20
TheCoolGamer Geplaatst op woensdag 06 juli 2011 16:21
Terwijl de reactie van TheCoolGamer toch echt eerder was dan PrisonerOfPain's edit

Ah ja, toch niet zo freaky iddPrisonerOfPain schreef op woensdag 06 juli 2011 @ 16:36:
Je moet niet zo veel op die gele balk klikken en vaker de pagina refreshen
[ Voor 74% gewijzigd door .oisyn op 06-07-2011 16:37 ]
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.
Je moet niet zo veel op die gele balk klikken en vaker de pagina refreshen.oisyn schreef op woensdag 06 juli 2011 @ 16:35:
TheCoolGamer wint een koekje. Het antwoord van PrisonerOfPain kan ik niet goed rekenen omdat hij het heeft over de copy ctor, en niet over de copy assignment operator

Jij bent stom..oisyn schreef op woensdag 06 juli 2011 @ 16:35:
Ah ja, toch niet zo freaky idd. Maar helaas, het koekje is al vergeven en over de uitslag wordt niet gecorrespondeerd
[ Voor 26% gewijzigd door PrisonerOfPain op 06-07-2011 16:46 ]
Waarom wil iedere (beginnende) PHP programmeur een _eigen_ CMS schrijven?
En als je vraagt: "Waarom?", krijg ik 9/10 te horen dat het "beter" is dan de rest..

When I get sad i stop being sad and be awesome instead
Omdat een eigen CMS da bomb is bij de chickies; JWZKwastie schreef op woensdag 06 juli 2011 @ 16:54:
Kan iemand mij het volgende uitleggen:
Waarom wil iedere (beginnende) PHP programmeur een _eigen_ CMS schrijven?
En als je vraagt: "Waarom?", krijg ik 9/10 te horen dat het "beter" is dan de rest..*zucht*
If money talks then I'm a mime
If time is money then I'm out of time
Om ervan te leren?Kwastie schreef op woensdag 06 juli 2011 @ 16:54:
Kan iemand mij het volgende uitleggen:
Waarom wil iedere (beginnende) PHP programmeur een _eigen_ CMS schrijven?
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.

Edit: bovendien is het gebruiken van een willekeurige bestaande cms (met eigen custom template) een behoorlijke uitdaging voor een beginner hoor
[ Voor 20% gewijzigd door Aloys op 06-07-2011 17:03 ]
Als je even wil lachen: http://forum.fok.nl/topic/1676427/1/75#98945260
En ik maar steeds in mijn achterhoofd "en nu komt de clou", maar nee, het leek gewoon een fatsoenlijke programmeur die dat verhaal postte. En dat op fok418O2 schreef op woensdag 06 juli 2011 @ 17:04:
Als je even wil lachen: http://forum.fok.nl/topic/1676427/1/75#98945260

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.
Verwijderd
Ik ben schuldig!Kwastie schreef op woensdag 06 juli 2011 @ 16:54:
Kan iemand mij het volgende uitleggen:
Waarom wil iedere (beginnende) PHP programmeur een _eigen_ CMS schrijven?
En als je vraagt: "Waarom?", krijg ik 9/10 te horen dat het "beter" is dan de rest..*zucht*
Waarom? Ik wou al langer een eigen blogje en heb eerst geprobeerd met andere CMS'en zoals Drupal, Joomla en WordPress. MAAR: ik wou een eigen template. Die kan je zelf maken (Artisteer, of je code hem helemaal zelf). Maar ik dacht: ik probeer gewoon zelf een heel klein simpel CMS'je te maken.
Het stelt niet veel voor hoor, ik maak zelf geen gebruik van een framework... Nuja, ik vind het er goed uitzien en zolang ik er me mee kan bezighouden leer ik ook het een en ander bij. Ik probeer redelijk wat aandacht te schenken aan veiligheid (met sql-injecties in het achterhoofd) maar moet me nu nog wat concentreren op xss-attacks.
Toen zag ik gisteren dit nieuwsbericht: nieuws: WordPress 3.2 biedt 'Zen-modus' in editor en ik moet toegeven: ik ben wel wat jaloers. Ik had misschien toch beter gewoon een template gemaakt, maar dat kan ik nog een andere keer doen.
Daarnaast ben ik nu ook bezig met een eigen shopping cart systeempje. Er zijn zo ook talloze open-source systemen te vinden, maar ik vind ze vaak gewoon te complex ... daarmee dat ik zo'n dingen al gauw zelf probeer.
Sowieso komt het over als een redelijk normale solicitatie, het is namelijk iets wat aan beidde kanten moet klikken. Zo'n gesprek kan ook gewoon op de klippen lopen als het de solicitant niet bevalt..oisyn schreef op woensdag 06 juli 2011 @ 17:19:
[...]
En ik maar steeds in mijn achterhoofd "en nu komt de clou", maar nee, het leek gewoon een fatsoenlijke programmeur die dat verhaal postte. En dat op fok.
Verwijderd
Matis schreef op woensdag 06 juli 2011 @ 16:54:
[...]
Omdat een eigen CMS da bomb is bij de chickies; JWZ

Over dat Fok sollicitatie verhaal: De assessment was dat er een klassendiagram/MVC model gemaakt moest worden, maar
??meneer was absoluut tegen objectgeörienteerd programmeren
[ Voor 15% gewijzigd door Verwijderd op 06-07-2011 17:41 ]
Kwastie schreef op woensdag 06 juli 2011 @ 16:54:
Kan iemand mij het volgende uitleggen:
Waarom wil iedere (beginnende) PHP programmeur een _eigen_ CMS schrijven?
En als je vraagt: "Waarom?", krijg ik 9/10 te horen dat het "beter" is dan de rest..*zucht*
It’s harder to read code than to write it.
This message was sent on 100% recyclable electrons.
De eerste paar jaren sowieso, maar dat trok bij mij hoe langer hoe meer gelijk. Zeker als je een beetje regelmatig op dev-websites rondhangt en af en toe eens een open-source project door je debugger haalt.
[ Voor 23% gewijzigd door PrisonerOfPain op 06-07-2011 18:03 ]
In other news: vandaag een beetje aan het spelen met ADFS/WIF. Leuke techniek! Ik had zelfs al even Office 365 gekoppeld aan ADFS
We are shaping the future
Verwijderd
Dus? Maakt dat die 5% die je wel gebruikt slecht?Avalaxy schreef op woensdag 06 juli 2011 @ 18:12:
Als ik Wordpress gebruik dan heb ik zeker 95% van de code niet nodig.
Hardware is cheap, veel goedkoper dan zelf iets maken. Dus waarom zou je dan die 5% niet gebruiken?Avalaxy schreef op woensdag 06 juli 2011 @ 18:12:
Voor mij is het vaak ook de doorslaggevende factor om zelf even iets te brouwen dan een bestaand framework te gebruiken omdat laatstgenoemde doorgaans véél te veel rotzooi hebben voor wat ik nodig heb. Als ik Wordpress gebruik dan heb ik zeker 95% van de code niet nodig.
En dan heb je alle bijkomende problemen: beveiliging en ondersteuning.
When I get sad i stop being sad and be awesome instead
Verwijderd schreef op woensdag 06 juli 2011 @ 18:56:
[...]
Dus? Maakt dat die 5% die je wel gebruikt slecht?
Het probleem is niet dat die code slecht is (alhoewel...) of slecht performt (hmm...) maar vooral dat het veel meer tijd kost omdat je eerst het framework moet leren begrijpen om er iets simpels mee te kunnen. Dat vind ik vaak de moeite niet waard.Kwastie schreef op woensdag 06 juli 2011 @ 19:03:
[...]
Hardware is cheap, veel goedkoper dan zelf iets maken. Dus waarom zou je dan die 5% niet gebruiken?
En dan heb je alle bijkomende problemen: beveiliging en ondersteuning.
100% mee eensAvalaxy schreef op woensdag 06 juli 2011 @ 19:05:
Het probleem is niet dat die code slecht is (alhoewel...) of slecht performt (hmm...) maar vooral dat het veel meer tijd kost omdat je eerst het framework moet leren begrijpen om er iets simpels mee te kunnen. Dat vind ik vaak de moeite niet waard.
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.
Natuurlijk heeft niet ieder probleem dezelfde oplossing, maar ik zou er niet aan moeten denken dat ik alle code zelf moet schrijven.Avalaxy schreef op woensdag 06 juli 2011 @ 19:05:
[...]
Het probleem is niet dat die code slecht is (alhoewel...) of slecht performt (hmm...) maar vooral dat het veel meer tijd kost omdat je eerst het framework moet leren begrijpen om er iets simpels mee te kunnen. Dat vind ik vaak de moeite niet waard.
Bij een "standaard" website (wat tekst, contact formulier, foto's etc) gebruik ik Wordpress (met plugins)
Maar als het een web-app(licatie) is: Django (Python framework)
Edit:
jQuery is zo simpel, als je puur kijkt naar LoC kan het eigenlijk nooit op tegen "normale" Javascript. (de prestaties zijn tegenwoordig ook goed) http://trends.builtwith.com/javascript/JQuery.Gertjan. schreef op woensdag 06 juli 2011 @ 19:23:
100% mee eens. Dat is ook de reden waarom ik me nog nooit echt verdiept heb in jQuery. Kost me zo'n lading aan investering dat ik het soms beter zelf kan afhandelen met de Javascript libraries die ik zelf al die jaren heb opgebouwd.
[ Voor 27% gewijzigd door Kwastie op 06-07-2011 19:31 ]
When I get sad i stop being sad and be awesome instead
Zelfde voor websites, en voor het wat uitgebreidere werk gebruik ik CodeIgniter (codeigniter.com)Kwastie schreef op woensdag 06 juli 2011 @ 19:24:
[...]
Bij een "standaard" website (wat tekst, contact formulier, foto's etc) gebruik ik Wordpress (met plugins)
Maar als het een web-app(licatie) is: Django (Python framework)
Doet me aan mijn WordPress plugins denken die wel weer eens een update zouden kunnen gebruiken.
En dat doet me aan m'n mailbox denken die met 981 nog af te handelen emails ook wel eens wat aandacht zou mogen krijgen... Afgelopen weken helemaal geen tijd meer voor gehad wegens drukte, loopt het zo vol

Maar goed, de prioriteiten liggen anders: projecten voor werk afronden > mailbox afwerken > Notes updaten > websites updaten > WordPress plugins updaten. En als dat klaar is begint waarschijnlijk het nieuwe schooljaar alweer
Mijn laatste (grote) reviews: Medal of Honor (VR), Half-Life: Alyx (VR)
Wat betreft de performance van jQuery kwam ik deze link tegen: http://addyosmani.com/jqprovenperformance/ (vanaf slide 17 ongeveer)
Ik probeer een bepaalde functie te "synchroniseren" op de hele minuut. Dat moet later op het hele uur worden, maar als test wil ik het nu op de hele minuut krijgen.
1
2
3
4
5
6
7
8
9
10
11
12
13
| /* constructor */ double nextMinute = (60 * 1000)-(now.TimeOfDay.TotalMilliseconds % (60 * 1000)); _costsTimer = new Timer(); _costsTimer.Elapsed += ReloadCosts; _costsTimer.Interval = nextMinute; _costsTimer.Enabled = true; AapLogger.Log.Error(_costsTimer.Interval); private void ReloadCosts(object source, ElapsedEventArgs e) { AapLogger.Log.Error(_costsTimer.Interval); _costsTimer.Interval = 60 * 1000; } |
Dat had ik eerst, hierdoor kreeg ik de meest achterlijke intervallen, waar ik geen touw aan vast kon knopen
1
2
3
4
5
6
7
| private void ReloadCosts(object source, ElapsedEventArgs e) { AapLogger.Log.Error(_costsTimer.Interval); _costsTimer.Enabled = false; _costsTimer.Interval = 60 * 1000; _costsTimer.Enabled = true; } |
There; I fixed it
Scratch that, na de volgende compilatie doet ie weer de meest vreemde dingen

19:38:18,211 41788 19:39:06,195 41788 19:39:59,788 60000 19:45:01,159 60000 19:45:47,860 60000
[ Voor 7% gewijzigd door Matis op 06-07-2011 19:46 ]
If money talks then I'm a mime
If time is money then I'm out of time
Interessante presentatie zeg! * jacobras bookmarktAvalaxy schreef op woensdag 06 juli 2011 @ 19:36:
Wat betreft de performance van jQuery kwam ik deze link tegen: http://addyosmani.com/jqprovenperformance/ (vanaf slide 17 ongeveer)
Mijn laatste (grote) reviews: Medal of Honor (VR), Half-Life: Alyx (VR)
Mocht je twitter hebben dan kan ik je aanraden om Sixrevisions te volgen (heel erg gericht op zelfstandig ondernemers) en ProgrammerWorld (ontzettend interessante artikelen over programmeren).jacobras schreef op woensdag 06 juli 2011 @ 19:44:
[...]
Interessante presentatie zeg! * jacobras bookmarkt.
Verwijderd
Check deze presentatie voor echte javascript frameworks: http://addyosmani.com/toolsforjqueryapparchitecture/ zeer interessant.
[ Voor 3% gewijzigd door Verwijderd op 06-07-2011 20:08 ]
Van wat ik heb gezien is het ook niet moeilijk, maar het werkt net iets anders dan ik gewend ben. Als ik JS programmeer heb ik heel vaak een bepaald element in mijn var zitten waar ik acties op wil doen of zaken aan toe wil voegen. In jQuery heb je wel snel bepaalde elementen gevonden, maar ook echt een DOM object in je var krijgen vereiste toch wat meer werk. Een element vinden en daar meteen een event of gedrag aan toe kennen doe je snel in jQuery, maar als je echt veel controle wilt hebben moet je soms best wat pielen.Kwastie schreef op woensdag 06 juli 2011 @ 19:24:
jQuery is zo simpel, als je puur kijkt naar LoC kan het eigenlijk nooit op tegen "normale" Javascript. (de prestaties zijn tegenwoordig ook goed) http://trends.builtwith.com/javascript/JQuery
Dus het is niet per definitie moeilijker, maar het is meer dat je je er in moet verdiepen. Verdiepen kost tijd (en dus geld) en zorgt (tenminste bij mij) voor frustratie als het niet lukt zoals je wilt.
Ik heb het wel een paar keer gebruikt om bijvoorbeeld een popupje te tonen, maar als je hele specifieke dingen wilt bouwen zoals het popupje gedrag laten aanpassen aan de hand van data op je scherm wordt het lastig. In dat soort gevallen bouw ik het soms dus liever zelf.
Zelfde geldt voor Linq2Sql (en andere DB mappers), ik bouw het meestal zelf tegen de DB aan omdat ik vaak iets wil wat net anders werkt of het moet snel en ik heb geen zin me te verdiepen (of heb het geprobeerd maar had binnen korte tijd al zoiets van: fuck-it, ik ga het op de oude manier doen).
Overigens is het niet zo dat ik nooit iets wil aanpakken hoor
Kan ook zijn dat bovenstaande over jQuery niet klopt hoor, dat je in jQuery wel makkelijk dat soort dingen kunt doen, maar ik heb er toen wat mee zitten klooien en kreeg niet voor elkaar wat ik wilde en heb toen de boel maar opgegeven. Kan overigens ook komen omdat veel voorbeelden bestaan uit complexe aan-een-schakelingen van jQuery spul waardoor het snel complex en onoverzichtelijk oogt en je geen flauw idee hebt wat je nu aan het bekijken bent.
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.
Sixrevisions kende ik nog niet, ziet er interessant uit! Artikelen lijken qua uiterlijk en schrijfwijze op die van SmashingMagazine, wat me prima bevalt Ah, is onderdeel van SmashingMagazineAvalaxy schreef op woensdag 06 juli 2011 @ 19:47:
[...]
Mocht je twitter hebben dan kan ik je aanraden om Sixrevisions te volgen (heel erg gericht op zelfstandig ondernemers) en ProgrammerWorld (ontzettend interessante artikelen over programmeren).
[ Voor 4% gewijzigd door jacobras op 06-07-2011 20:49 ]
Mijn laatste (grote) reviews: Medal of Honor (VR), Half-Life: Alyx (VR)
Desktop Windows is niet realtime. Ook niet als je het de hele dag probeertMatis schreef op woensdag 06 juli 2011 @ 19:37:
Scratch that, na de volgende compilatie doet ie weer de meest vreemde dingen
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.
Zoals farlane al zegt is Windows niet realtime.Matis schreef op woensdag 06 juli 2011 @ 19:37:
Pff ik ben al heel de dag aan het stoeien met de System.Timers.Timer in C#.
Ik probeer een bepaalde functie te "synchroniseren" op de hele minuut. Dat moet later op het hele uur worden, maar als test wil ik het nu op de hele minuut krijgen.
Misschien beter om na elke x aantal seconden te checken of een nieuwe minuut is aangebroken. Hoe vaker je controleert hoe acurater je op de hele minuut zal zitten.
Dat Desktop Windows niet realtime is, ben ik me van bewust; Alleen dat een timer van 60 seconde er soms wel 10 hele secondes naast piest had ik echt nooit verwachtfarlane schreef op woensdag 06 juli 2011 @ 20:49:
Desktop Windows is niet realtime. Ook niet als je het de hele dag probeert
Dat had ik in eerste instantie ook gedaan, maar een Timer leek me netter en in ieder geval overzichtelijker dan elke x-aantal secondes checken.Zeebonk schreef op woensdag 06 juli 2011 @ 21:22:
Zoals farlane al zegt is Windows niet realtime.
Misschien beter om na elke x aantal seconden te checken of een nieuwe minuut is aangebroken. Hoe vaker je controleert hoe acurater je op de hele minuut zal zitten.
Thnx voor de tip, ik zal er morgen naar kijken, anders val ik weer gewoon terug op het voorstel van Zeebonk (en dus mijn oude implementatieeBoR schreef op woensdag 06 juli 2011 @ 21:30:
waarom gebruik je geen wmi timer ?
If money talks then I'm a mime
If time is money then I'm out of time

1
| $sPassword = (int) $this->input->post('password'); |

Mijn laatste (grote) reviews: Medal of Honor (VR), Half-Life: Alyx (VR)
Want een WMI timer heeft een 'beter realtime' gedrag? Waarom?eBoR schreef op woensdag 06 juli 2011 @ 21:30:
waarom gebruik je geen wmi timer ?
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.
Daar was ik ook al achterfarlane schreef op woensdag 06 juli 2011 @ 23:26:
Want een WMI timer heeft een 'beter realtime' gedrag? Waarom?

Ik had hem nu, voor de gein elke 10 seconde draaien; Het verloop zag er zo uit :08 :14 :18 :24 :28 :34
That makes * Matis a SAAAAAAAAAAAAAAAAAAAAAAAD panda
If money talks then I'm a mime
If time is money then I'm out of time
Waarom laat je AutoReset eigenlijk aan staan? Dat is natuurlijk vragen om problemen als je elk event toch een nieuw interval instelt.Matis schreef op woensdag 06 juli 2011 @ 19:37:
Pff ik ben al heel de dag aan het stoeien met de System.Timers.Timer in C#.
Ik probeer een bepaalde functie te "synchroniseren" op de hele minuut. Dat moet later op het hele uur worden, maar als test wil ik het nu op de hele minuut krijgen.
Daarnaast kun je de interval beter ook opnieuw uitrekenen in je handler. Nu gaat ie gewoon scheef lopen na verloop van tijd (aangezien je code pas wordt aangeroepen als er minstens een minuut verstreken is)
[ Voor 48% gewijzigd door .oisyn op 06-07-2011 23:43 ]
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.
Lijkt meer op twee timers die tegelijk draaien op 10s eigenlijk ...Matis schreef op woensdag 06 juli 2011 @ 23:33:
Ik had hem nu, voor de gein elke 10 seconde draaien; Het verloop zag er zo uit :08 :14 :18 :24 :28 :34
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.
In de code die ik gepost heb, lijkt inderderdaad de AutoReset niet aan te staan. In de daadwerkelijke code staat het wel op false. Echter maakt het geen reet uit, de timer blijft ontzettend onnauwkeurig..oisyn schreef op woensdag 06 juli 2011 @ 23:35:
Waarom laat je AutoReset eigenlijk aan staan? Dat is natuurlijk vragen om problemen als je elk event toch een nieuw interval instelt.
Dat is inderdaad een goed idee, ware het niet dat ik toch niet kan vertrouwen op de timers.Daarnaast kun je de interval beter ook opnieuw uitrekenen in je handler. Nu gaat ie gewoon scheef lopen na verloop van tijd (aangezien je code pas wordt aangeroepen als er minstens een minuut verstreken is)
Klopt slecht voorbeeld; Was idd de logging van twee processen die door elkaar heen liepen.farlane schreef op woensdag 06 juli 2011 @ 23:37:
Lijkt meer op twee timers die tegelijk draaien op 10s eigenlijk ...
Ik heb net even de verstreken tijd tussen twee events gelogd en daaruit blijkt dat hij gemiddeld op 10 seconde uitkomt, maar met een afwijking van soms wel 3 secondes.
Ik vind het wel weer genoeg ellende voor vandaag. Morgen weer een dag
Edit; Ik heb zojuist ook nog een testje gedaan met alleen de initialisatie van 10.000 ms in de constructor en alleen maar logjes wanneer de functie wordt uitgevoerd. De uitkomsten zijn hetzelfde als bij de vorige sessie, waar ik telkens de Interval zette op 10.000. AutoReset staat dan natuurlijk wel aan
[ Voor 10% gewijzigd door Matis op 06-07-2011 23:57 ]
If money talks then I'm a mime
If time is money then I'm out of time
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
| class Program { static Timer timer; static double GetNextInterval() { return 10000 - (DateTime.Now.TimeOfDay.TotalMilliseconds % 10000); } static void Handler(object source, ElapsedEventArgs a) { Console.WriteLine("{0:ss.fff} - {1}", a.SignalTime, timer.Interval); timer.Interval = GetNextInterval(); timer.Start(); } static void Main(string[] args) { timer = new Timer(); timer.AutoReset = false; timer.Elapsed += Handler; timer.Interval = GetNextInterval(); timer.Start(); System.Threading.Thread.Sleep(1000000); } } |
50.012 - 2966.66499999166 00.013 - 9985.4944999963 10.012 - 9986.9226000011 20.013 - 9987.35069999099 30.012 - 9986.77869999409 40.013 - 9987.20669999719 50.009 - 9986.63470000029 00.015 - 9990.06299999356 10.009 - 9984.49069999158
Verder weet ik niet precies hoe je logger werkt, wanneer captured die de huidige tijd?
[ Voor 5% gewijzigd door .oisyn op 07-07-2011 00:01 ]
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.
@.oisyn Kan de Karma Monitor ook boven de 300 users?
En nu eens wanneer al je processors druk bezig zijn... Ik weet nog van de zeeslagprogrammeervuur dat er dan wel eens wat afwijking kan zijn..oisyn schreef op woensdag 06 juli 2011 @ 23:57:
C#:
1...
Verder weet ik niet precies hoe je logger werkt, wanneer captured die de huidige tijd?
Technisch gezien wel, maar ik moet ergens een grens trekken.alex3305 schreef op donderdag 07 juli 2011 @ 00:56:
offtopic:
@.oisyn Kan de Karma Monitor ook boven de 300 users?
[ Voor 49% gewijzigd door .oisyn op 07-07-2011 02:23 ]
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.
Of een System.Threading.Timer voorbeeld:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| class Program { static Timer timer; static long GetNextInterval() { return (long)Math.Max(10000 - (DateTime.Now.TimeOfDay.TotalMilliseconds % 10000), 1); } static void Handler(Object stateInfo) { timer.Change(GetNextInterval(), Timeout.Infinite); Console.WriteLine("{0:ss.fff}", DateTime.Now); } static void Main(string[] args) { timer = new Timer(Handler, null, GetNextInterval(), Timeout.Infinite); System.Threading.Thread.Sleep(1000000); } } |
Je moet overigens wel even oppassen dat GetNextInterval geen (afgerond) nul teruggeeft

00.003
10.002
19.999
19.999
19.999
19.999
20.000
30.003
...
zoiets
[ Voor 74% gewijzigd door RobIII op 07-07-2011 03:28 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Verkapt: Kijk mij bijna bij de top 300 zitten?alex3305 schreef op donderdag 07 juli 2011 @ 00:56:
offtopic:
@.oisyn Kan de Karma Monitor ook boven de 300 users?
Als we gaan oprekken stel ik voor 1931 als grens te nemen
Ik heb nog een lange weg te gaan zo te zien
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.
Jij hebt dan ook ongeveer 10x zoveel posts op het forumBoudewijn schreef op donderdag 07 juli 2011 @ 07:42:
Ik geef geen ruk om karma (veel posts @ forum , weinig @ FP --> weinig karma) maar zit zelfs hoger...
Ik heb een lange tijd een leven gehad andere prioriteiten gehad dan op tweakers te posten.
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.
HK posts tellen afaik amper tot niet mee voor je karma
Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three
[/knuppel -> honderhok]
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.
Er zijn mensen met 2z zoveel FP posts en veel minder forumposts die toch een beduidend hoger karma hebben dan ik..Gertjan. schreef op donderdag 07 juli 2011 @ 07:51:
[...]
Jij hebt dan ook ongeveer 10x zoveel posts op het forum
Ik heb een lange tijd een leven gehad andere prioriteiten gehad dan op tweakers te posten.
Ik heb letterlijk jouw code in een nieuw project gehangen en dit is mijn resultaat:
58.828 - 9663,4375 59.900 - 1157,71669999883 59.999 - 99,5155999995768 00.013 - 0,832399997860193 08.908 - 9986,73479999974 09.796 - 1091,67239999771 09.974 - 203,519399996847 09.999 - 25,8887999989092 10.012 - 0,513000000268221 17.907 - 9987,82509999722 19.437 - 2092,60469999909 19.860 - 562,431899998337 19.962 - 139,921499997377 26.930 - 9877,2798999995 28.954 - 3069,71659999713 29.643 - 1045,08849999681 29.868 - 356,509399998933 29.951 - 131,436200000346 29.988 - 48,1897999979556 29.998 - 11,1913999989629 30.007 - 1,94179999828339 35.904 - 9992,6921999976 38.094 - 4095,26129999757 39.110 - 1905,34489999712 39.584 - 889,731499999762 39.809 - 415,223600000143 39.917 - 190,456699997187 39.967 - 82,2355999983847 39.992 - 32,2873999997973 40.001 - 7,31329999864101
De afrondingsfouten daargelaten (waar RobIII al voor waarschuwde), is het nog steeds even bagger
Misschien hebben jullie wel een realtime kernel in Windows
Zou het kunnen komen omdat ik op een VM-draai dat de uitkomst zo beroerd is?
Host: Ubuntu 10.04-2 x64
VM: Windows 7 x64 (applicatie draait op .Net 3.5)
Edit; RobIII's voorstel maakt qua nauwkeurigheid niet veel uit:
28.490 29.724 29.966 30.007 38.686 39.942 40.001 49.678 50.019 00.680 11.578 22.228 32.999 43.292 53.082
[ Voor 6% gewijzigd door Matis op 07-07-2011 08:22 ]
If money talks then I'm a mime
If time is money then I'm out of time
Jazeker! Het host-OS heeft namelijk een hele hoop van z'n eigen processen, en moet nu ook nog eens time schedulen voor je guest-OS. En je guest-OS heeft ook weer een hoop eigen processen, en moet nog eens time schedulen voor je timertje.Matis schreef op donderdag 07 juli 2011 @ 08:16:
[...]
Zou het kunnen komen omdat ik op een VM-draai dat de uitkomst zo beroerd is?
Host: Ubuntu 10.04-2 x64
VM: Windows 7 x64 (applicatie draait op .Net 3.5)
Je ziet dit ook altijd heel goed als je een ouder OS hebt dat de CPU-ticks gebruikt voor tijdsbepaling, na een paar uur gaat het je vaak ineens opvallen dat het guest-OS met gemak 45 minuten achterloopt op je host-OS.
Bekijk deze PDF van VMware maar voor wat meer informatie.
[ Voor 26% gewijzigd door Alex) op 07-07-2011 09:34 ]
We are shaping the future
Als je host OS een realtime OS is en je VM op realtime prioriteit draait nietZou het kunnen komen omdat ik op een VM-draai dat de uitkomst zo beroerd is?
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.
Nope. Ik heb geen RT kernel geinstalleerd en mijn VM draait (godzijdank) ook niet RTfarlane schreef op donderdag 07 juli 2011 @ 10:18:
Als je host OS een realtime OS is en je VM op realtime prioriteit draait niet
Ik zal het wel eens native testen op een Windows-bak.
If money talks then I'm a mime
If time is money then I'm out of time
Ik snap eigenlijk geen kont van de output tenzij je (weer) twee of meer timers door elkaar hebt lopen. Zelfs onder een VM mag het niet zo veel schelen tenzij je extreem zwaar belast bent.Matis schreef op donderdag 07 juli 2011 @ 08:16:
Edit; RobIII's voorstel maakt qua nauwkeurigheid niet veel uit:
28.490 29.724 29.966 30.007 38.686 39.942 40.001 49.678 50.019 00.680 11.578 22.228 32.999 43.292 53.082
[edit]
Overigens klopt mijn "fix" van GetNextInterval niet helemaal helemaal niet

[ Voor 10% gewijzigd door RobIII op 07-07-2011 12:37 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Ik denk dat dat veel gaat uitmakenMatis schreef op donderdag 07 juli 2011 @ 10:27:
Ik zal het wel eens native testen op een Windows-bak.
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.
System.Time.Timer gebruikt een double voor een interval. De uitkomst kan dus nooit 0 zijn. Bij jou is de max ook niet nodig als je TotalMilliseconds al naar long converteert ipv eerst de berekening in doubles plaats laat vinden. Als hij bijna 0 is zit je vlak voor het volgende event en wil je ook dat de tijd kort is.RobIII schreef op donderdag 07 juli 2011 @ 02:55:
Je moet overigens wel even oppassen dat GetNextInterval geen (afgerond) nul teruggeeft![]()
Dit is wel gebaseerd op het feit dat de timer scheduled als er minstens zoveel tijd is verstreken. Als de timer eerder kan runnen dan klopt er iets niet

Dat is toch vaag? De interval tussen die twee timings is 9986,7ms, maar toch wordt de event al getriggerd na 8895msMatis schreef op donderdag 07 juli 2011 @ 08:16:
[...]
Ik heb letterlijk jouw code in een nieuw project gehangen en dit is mijn resultaat:
... 00.013 - 0,832399997860193 08.908 - 9986,73479999974 ...

[ Voor 24% gewijzigd door .oisyn op 07-07-2011 12:41 ]
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.
Dat kan dus (zover ik begrijp) wel:.oisyn schreef op donderdag 07 juli 2011 @ 12:38:
Als de timer eerder kan runnen dan klopt er iets niet
MSDN: Windows Timer Coalescing
Hoe dan ook: ik heb onder een VM geen last van zo'n flinke afwijking als Matis demonstreert (en even los van 't zojuist beschreven probleem):

[ Voor 39% gewijzigd door RobIII op 07-07-2011 12:46 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Het zou wel fijn zijn als je er dan ook een stuk uit quote ipv mij dat hele document te laten lezenRobIII schreef op donderdag 07 juli 2011 @ 12:41:
[...]
Dat kan dus (zover ik begrijp) wel:
MSDN: Windows Timer Coalescing
[ Voor 3% gewijzigd door .oisyn op 07-07-2011 12:48 ]
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.
Dit?.oisyn schreef op donderdag 07 juli 2011 @ 12:47:
[...]
Het zou wel fijn zijn als je er dan ook een stuk uit quote ipv mij dat hele document te laten lezen. Ik zie het namelijk niet.
[..]SetWaitableTimerEx[..]
The TolerableDelay parameter lets the caller specify the tolerance for the timer's period in milliseconds.
[ Voor 3% gewijzigd door PrisonerOfPain op 07-07-2011 12:50 ]
Het komt er op neer dat Windows probeert verschillende/diverse timers "naar elkaar toe te schuiven" om zo minder "wakeups" van diverse componenten (CPU) te veroorzaken en daarmee tracht zuiniger om te springen met energie. Ik was al even aan 't googlen voor duidelijke(re) uitleg. Ik heb het iig een keer in een video van Mark Russinovich gezien, ik meen op Channel9..oisyn schreef op donderdag 07 juli 2011 @ 12:47:
[...]
Het zou wel fijn zijn als je er dan ook een stuk uit quote ipv mij dat hele document te laten lezen. Ik zie het namelijk niet.
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
En
doet vermoeden dat je het dus niet hoeft te gebruikenYou can take advantage of Windows timer coalescing in applications and services by using the new user-mode SetWaitableTimerEx function
De vraag is natuurlijk hoe de .Net API is geïmplementeerd.
[ Voor 8% gewijzigd door .oisyn op 07-07-2011 12:52 ]
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.
Ik vond wel nog zo snel:
Maar die quote is volgens mij niet helemaal correct of maar de helft van 't verhaal; ik google nog even verderTimer coalescing zorgt er voor dat timer interupts voor vm's worden gesynced zodat over het geheel genomen er minder interupts worden gegenereerd. Hierdoor neemt de overhead in hypervisor af en is de hypervisor beter in staat om zelf ook in een idle state terecht te komen.
En dit:
[edit]quote: http://sharvil.nanavati.net/The timer coalescing API needs an explanation. Suppose you have two timers on your system firing every 5ms, except the first timer was set at t=0ms and the second was set at t=1ms. Then your timer interrupts have to fire at 5ms, 6ms, 10ms, 11ms, ... to service those timers. Since both timers have a period of 5ms, it would be more efficient to reuse the interrupt at t=5ms by advancing the first servicing of the second timer. This way, the CPU has more time between interrupts to go into a deeper sleep state or to execute other code.
Ik heb geen audio hier, maar volgens mij is hier vanaf 36:04 wat interessants te zien
[ Voor 75% gewijzigd door RobIII op 07-07-2011 13:07 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Nice, en dat in "zware tijden"
Je hebt toch niet moeten doen wat in je avatar staat, he?
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.
Dit werkt beter
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
| class Program { static Timer timer; static DateTime eventTime; static double GetNextInterval() { DateTime now = DateTime.Now; if (now > eventTime) eventTime = now.AddMilliseconds(10000 - (now.TimeOfDay.TotalMilliseconds % 10000)); else eventTime = eventTime.AddMilliseconds(10000); return (eventTime - now).TotalMilliseconds; } static void Handler(object source, ElapsedEventArgs a) { Console.WriteLine("{0:ss.fff} - {1}", a.SignalTime, timer.Interval); timer.Interval = GetNextInterval(); timer.Start(); } static void Main(string[] args) { timer = new Timer(); timer.AutoReset = false; timer.Elapsed += Handler; timer.Interval = GetNextInterval(); timer.Start(); System.Threading.Thread.Sleep(1000000); } } |
Als ie dan te vroeg getriggerd wordt, dan wacht ie dus langer dan 10s ipv dat ie opnieuw voor het eerstvolgende 10s interval scheduled.
[ Voor 7% gewijzigd door .oisyn op 07-07-2011 13:19 ]
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.
Nou dat is erg situatie afhankelijk!.oisyn schreef op donderdag 07 juli 2011 @ 13:17:
Waarom niet? Anders heeft ie én promotie, én salarisverhoging, én sex gehad.


Sowieso heb ik een mannelijke manager (en directeur), dus dat is voor mij sowieso een no-go.
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.
Dat is hét voordeel van DICE, er lopen hier redelijk wat vrouwelijke programmeurs, producers, modellers, audio-geeks, HR-mensen en meer rond. Ze zijn niet allemaal even aantrekkelijk, maar er is keus genoeg.Gertjan. schreef op donderdag 07 juli 2011 @ 13:25:
Vrouwlijke managers zijn zeldzaam, en als die er al zijn is het vaak niet echt van het kaliber "jammie!".
Nee dat zou ik voor een miljoen nog niet doen.Gertjan. schreef op donderdag 07 juli 2011 @ 13:12:
[...]
Nice, en dat in "zware tijden"
Je hebt toch niet moeten doen wat in je avatar staat, he?

Going for adventure, lots of sun and a convertible! | GMT-8
Dit topic is gesloten.
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep, niet als vraagbaak