Kater? Eerst water, de rest komt later
Reality is merely an illusion, albeit a very persistent one.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
| if($Adjust=="DeleteCL") { mysql_query("DELETE FROM CableLocation WHERE LocationID = '".$LocationID."'", $db) or die (mysql_error()); $Redirect = "CL"; } if($Adjust=="DeleteCList") { mysql_query("DELETE FROM CableList WHERE CableID = '".$CableID."'", $db) or die (mysql_error()); $Redirect = "CList"; } if($Adjust=="DeleteCM") { mysql_query("DELETE FROM CableModule WHERE ModuleID = '".$ModuleID."'", $db) or die (mysql_error()); $Redirect = "Module"; } if($Adjust=="DeleteCT") { mysql_query("DELETE FROM CableType WHERE TypeID = '".$TypeID."'", $db) or die (mysql_error()); $Redirect = "CT"; } if($Adjust=="DeleteCP") { mysql_query("DELETE FROM CablePin WHERE PinID = '".$PinID."'", $db) or die (mysql_error()); $Redirect = "CP"; } if($Adjust=="DeleteTS") mysql_query("DELETE FROM TableSchema WHERE SchemaID = '".$SchemaID."'", $db) or die (mysql_error()); if($Adjust=="DeleteObject") { mysql_query("DELETE FROM CableObject WHERE ObjectID = '".$ObjectID."'", $db) or die (mysql_error()); $Redirect = "NO"; } if( ($Adjust == "ChangeCList" OR $NieuwLijst == "OK" OR $NieuwCList == "Nieuw" OR $WijzigLijst == "OK" ) ) { include("addnewclist.php"); $WindowInUse = true; } if( ($WijzigLijst == "Annuleren" OR $ZoekenCList == "Zoeken" OR $Redirect == "CList" OR $Adjust == "CheckKable" OR $WijzigCList == "Annuleren" OR $SType != "") AND $Schema != "Schema" AND $NieuwCList != "Nieuw" AND $NieuwLijst != "OK" AND $CM != "CM" AND $Adjust != "ChangeCList" AND $WijzigLijst != "OK" AND $Adjust != "Checkimage") { include("cablelist.php"); $WindowInUse = true; } if( ($NieuwObject == "Nieuw" OR $NieuwCO == "OK" OR $WijzigCO == "OK" OR $Adjust == "ChangeObject") ) { include("addnewobject.php"); $WindowInUse = true; } if( ($Redirect == "NO" OR $Adjust == "CheckObjects" OR $NieuwCO == "Annuleren" OR $WijzigCO == "Annuleren" OR $Action == "SorteerNaamCODESC" OR $Action == "SorteerNaamCOASC" OR $ZoekenCO == "Zoeken") ) { $QResultObject = "SELECT * FROM TableSchema, CableObject WHERE CableObject.SchemaID = TableSchema.SchemaID AND CableObject.SchemaID = '".$SchemaID."' AND (CableObject.Naam LIKE '%".$Searchstr."%') ORDER BY CableObject.Naam"; if($Action == "SorteerNaamCODESC") $QResultObject .= " DESC"; $RResultObject = mysql_query($QResultObject, $db) or die (mysql_error()); include("newobject.php"); $WindowInUse = true; } if( ($Adjust == "ChangeCL" OR $NieuwCL == "OK" OR $WijzigCL == "OK" OR $NieuwCL == "Nieuw") ) { include("addnewcl.php"); $WindowInUse = true; } if( ($CL == "CL" OR $Action == "SorteerNaamCLDESC" OR $Action == "SorteerNaamCLASC" OR $ZoekenCL == "Zoeken" OR $Redirect == "CL" OR $NieuwCL == "Annuleren" OR $WijzigCL == "Annuleren") ) { $QueryCL = "SELECT * FROM CableLocation WHERE Naam LIKE '%".$Searchstr."%' ORDER BY Naam"; if($Action == "SorteerNaamCLDESC") $QueryCL .= " DESC"; $ResultCL = mysql_query($QueryCL, $db) or die (mysql_error()); include("newcl.php"); $WindowInUse = true; } if( ($Redirect == "Module" OR $CM == "CM" OR $WijzigCM == "Annuleren" OR $NieuwCM == "Annuleren" OR $Action == "SorteerNaamCMASC" OR $Action == "SorteerNaamCMDESC" OR $ZoekenCM == "Zoeken" OR $NieuwCat == "Annuleren" OR $Actionn == "SortCategoryDESC" OR $Actionn == "SortCategoryASC") ) { $QueryCM = "SELECT * FROM CableModule, CableModuleCat WHERE CableModule.CatID = CableModuleCat.CatID AND (CableModule.Naam LIKE '%".$Searchstr."%')"; if($Actionn == "SortCategoryDESC") $QueryCM .= " ORDER BY CableModuleCat.Category DESC"; elseif($Actionn == "SortCategoryASC") $QueryCM .= " ORDER BY CableModuleCat.Category"; elseif($Action == "SorteerNaamCMDESC") $QueryCM .= " ORDER BY CableModule.Naam DESC"; else $QueryCM .= " ORDER BY CableModule.Naam"; $ResultCM = mysql_query($QueryCM, $db) or die (mysql_error()); include("newcm.php"); $WindowInUse = true; } if( ($NieuwCM == "Nieuw" OR $NieuwCM == "OK" OR $Adjust == "ChangeCM" OR $WijzigCM == "OK") ) { include("addnewcm.php"); $WindowInUse = true; } if( ($NieuwCat == "Nieuw / Wijzig cat" OR $NieuwCat == "OK" OR $WijzigCat == "OK" OR $CableModuleCat != "") AND $NieuwCat != "Annuleren") { include("addnewccat.php"); $WindowInUse = true; } if( ($WijzigCP == "Annuleren" OR $NieuwCP =="Annuleren" OR $Adjust == "CheckPin" OR $Action == "SorteerNaamCPASC" OR $Action == "SorteerNaamCPDESC" OR $ZoekenCP == "Zoeken" OR $Redirect == "CP") ) { $QueryCP = "SELECT * FROM CableModule, CablePin WHERE CablePin.ModuleID = CableModule.ModuleID AND CablePin.ModuleID = '".$ModuleID."' AND (CablePin.Naam LIKE '%".$Searchstr."%') ORDER BY CablePin.Naam"; if($Action == "SorteerNaamCPDESC") $QueryCP .= " DESC"; $ResultCP = mysql_query($QueryCP, $db) or die (mysql_error()); include("newcp.php"); $WindowInUse = true; } if( ($NieuwCP == "Nieuw" OR $NieuwCP == "OK" OR $Adjust == "ChangeCP" OR $WijzigCP == "OK") ) { include("addnewcp.php"); $WindowInUse = true; } if( ($Redirect == "CT" OR $CT == "CT" OR $NieuwCT=="Annuleren" OR $WijzigCT=="Annuleren" OR $Action == "SorteerNaamCTDESC" OR $Action == "SorteerNaamCTASC" OR $ZoekenCT == "Zoeken") ) { $QueryCT = "SELECT * FROM CableType WHERE Naam LIKE '%".$Searchstr."%' ORDER BY Naam"; if($Action == "SorteerNaamCTDESC") $QueryCT .= " DESC"; $ResultCT = mysql_query($QueryCT, $db) or die (mysql_error()); include("newct.php"); $WindowInUse = true; } if( ($NieuwCT=="Nieuw" OR $NieuwCT=="OK" OR $Adjust=="ChangeCT" OR $WijzigCT=="OK") ) { include("addnewct.php"); $WindowInUse = true; } if( ($Adjust=="ChangeTS" OR $WijzigTS=="OK" OR $NieuwTS=="Nieuw" OR $NieuwTS=="OK") ) { include("addnew.php"); $WindowInUse = true; } if( (!$WindowInUse OR $NieuwTS == "Annuleren" OR $Schema == "Schema" OR $Redirect == "Schema") ) { */.................... .............. ............ ............. etc...*/ } |
Slecht? Anyone?
Wow, kansloos. Het werkt inderdaad niet als je nog als een halve zool vasthoudt aan -ms-filter met het gradient transform filter, maar als je nou gewoon een SVG background maakt en in die SVG je gradient definieert; werkt perfect. Microsoft heeft er zelfs een tooltje voor gehost op hun eigen testdrive site. (Dat tooltje output de SVG ook nog eens minified en base64-encoded in een data URI voor je. Hoe makkelijk wil je het hebben?)Keeper schreef op dinsdag 27 maart 2012 @ 22:36:
Hehe, de speciale IE stylesheets zijn ook wel leuk
code:
1 2 3 4 /* och lieve mensen, ondersteunt IE eindelijk border-radius, werkt het weer niet samen met gradients. huilt u even met ons mee? Aan de andere kant, wie dit bestand leest heeft een IE browser, en die huilt de hele dag al... toch? */
http://www.nrc.nl/css/ie9.css
Dat ze gewoon de standaard gradients en border radius in CSS3 ondersteunen? Leuk dat het via-via met een SVG en een tooltje wel kan, maar kunnen ze de tijd die ze besteden aan het maken van zo'n tooltje niet veel beter besteden aan gewoon de CSS standaard supporten in IE?R4gnax schreef op woensdag 28 maart 2012 @ 20:58:
[...]
Wow, kansloos. Het werkt inderdaad niet als je nog als een halve zool vasthoudt aan -ms-filter met het gradient transform filter, maar als je nou gewoon een SVG background maakt en in die SVG je gradient definieert; werkt perfect. Microsoft heeft er zelfs een tooltje voor gehost op hun eigen testdrive site. (Dat tooltje output de SVG ook nog eens minified en base64-encoded in een data URI voor je. Hoe makkelijk wil je het hebben?)
Er blijft niks van het duo over....Sorcerer8472 schreef op woensdag 28 maart 2012 @ 12:40:
Worden Peppie en Kokkie ook netjes minified?
☎ Telecommunicatie van vroeger
🚅Alles over spoor en treintjes
Grote voordeel is, dit IS onze website. Mijn collega's en ik werken fulltime bij NRC en maken de websites. En nee, we verliezen niet onze baan over onze gein.Haan schreef op woensdag 28 maart 2012 @ 09:25:
Ik vind het eerlijk gezegd niet heel professioneel. Prima als je zoiets in je eigen website stopt, maar in opdracht van een klant vind ik het niet zo netjes.
Comeback of the year?xiffy schreef op woensdag 28 maart 2012 @ 23:17:
[...]
Grote voordeel is, dit IS onze website. Mijn collega's en ik werken fulltime bij NRC en maken de websites. En nee, we verliezen niet onze baan over onze gein.
Ach, ik heb het ook... speciaal voor IE7 heb ik vaak divs met de class "FuckIE" of "FYIE7"
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Hey leuk, een NRC developerxiffy schreef op woensdag 28 maart 2012 @ 23:17:
[...]
Grote voordeel is, dit IS onze website. Mijn collega's en ik werken fulltime bij NRC en maken de websites. En nee, we verliezen niet onze baan over onze gein.
[ Voor 3% gewijzigd door Avalaxy op 28-03-2012 23:24 ]
Ach ja, de class/id's in de HTML zeiden al genoeg, die kende ik inderdaad al.xiffy schreef op woensdag 28 maart 2012 @ 23:26:
Ach ja, we kwamen onze open-dir vandaag via twitter op het spoor, de rest is geschiedenis.
Wiep is inderdaad een schatje hoor!

Enneuh... devver die NU PAS registreert op t.net?

In het kader van slechte programmeurs...
Adobe wil 9% van de opbrengst van goedlopende flash-games.
Ja, loosely translated, maar toch...


[ Voor 25% gewijzigd door Firesphere op 28-03-2012 23:41 ]
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Registratiedatum is anders toch al in 2000 hoorFiresphere schreef op woensdag 28 maart 2012 @ 23:31:
Enneuh... devver die NU PAS registreert op t.net?
* Firesphere is burned en druipt af met z'n 8 jaar lurken en dan pas registrerencellcote schreef op woensdag 28 maart 2012 @ 23:44:
[...]
Registratiedatum is anders toch al in 2000 hoor
Maar wel meer posts!
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Het zijn echt geweldige comments. Ga vooral doorxiffy schreef op woensdag 28 maart 2012 @ 23:17:
[...]
Grote voordeel is, dit IS onze website. Mijn collega's en ik werken fulltime bij NRC en maken de websites. En nee, we verliezen niet onze baan over onze gein.
We are shaping the future
@Firesphere hehe jij wint met veel meer posts.
Tjonge jonge, alweer 11 jaar geregistreerd ...
Meeste devvers kunnen dergelijk commentaar etc. wel waarderen gelukkigxiffy schreef op donderdag 29 maart 2012 @ 00:09:
Dank allen voor de positieve commentaren op onze css, dat was bij het live-gaan van deze site wel anders. (Toen waren we nog niet ge-minified, en maakte de gemiddelde marketeer er een sport van onze Jeugd van Tegenwoordig class-names af te kraken omdat zij het niet begrepen en het dus onprofessioneel was)
@Firesphere hehe jij wint met veel meer posts.
Tjonge jonge, alweer 11 jaar geregistreerd ...
Ben al lang blij dat de meeste dingen die ik bouw, ook bij mij blijven... want rants als deze (in de php) zijn soms vaker regel dan uitzondering als ik oudere "voor mijn tijd" code bekijk:
1
2
3
4
5
6
7
| /** * WTF? Welke malloot heeft dit bedacht? Nogal zinloze functie he? * Kan iemand alstublieft uitleggen waarom hier dit wordt gedaan? Het is allemaal al bekend! * Ik vind het wel prima, zoek het maar uit. Zie nieuwe class "ActualWorkingDatacollector" * Mocht de originele schrijver van de komende functies dit lezen: * Zoek ff ander werk wil je? Dit schiet niet op. */ |
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Flamewar tijd?xiffy schreef op donderdag 29 maart 2012 @ 00:22:
Gelukkig zitten wij naast elkaar en kunnen we het gewoon zeggen. Of we noteren het in de commit bericht.
Git, HG of SVN?
Ik ben al tijden bezig om alles van m'n werk naar mijn eigen private git-repo's te verhuizen... is de overstap makkelijker...
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
En CVS bij mijn vorige bazen. Nu zou ik voor Git kiezen als ik ergens wat moet introduceren.
[update]
dus eigenlijk ben ik een omnivoor die nog nooit met HG heeft gewerkt
[/update]
[ Voor 22% gewijzigd door xiffy op 29-03-2012 00:37 ]
HG is een variatie op Git, heb er ook geen ervaring mee, maar het is ongeveer hetzelfde dacht ik (correct me if I'm wrong!)xiffy schreef op donderdag 29 maart 2012 @ 00:26:
Git tegenwoordig, SVN 2 jaar geleden. Darcs op een thuissysteem, gewoon omdat het kan
En CVS bij mijn vorige bazen. Nu zou ik voor Git kiezen als ik ergens wat moet introduceren.
[update]
dus eigenlijk ben ik een omnivoor die nog nooit met HG heeft gewerkt
[/update]
Ach, alles beter dan CVS of SVN toch?
Hebben jullie een local GIT repo of via github o.i.d.?
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Mother north, how can they sleep while their beds are burning?
Onze repo's leven op unfuddle, tracker systeempje, svn en git repo's en we wonen daar alweer een paar jaar. Toen was bestond github denk ik nog niet eens, en we zaten zelf nog op SVN. HG en Git lijken inderdaad veel op elkaar. Waarbij HG syntax weer veel op SVN lijkt.
Ik ben geen version-control ninja, maar kan ermee doen wat ik moet doen, code pushen en productie up to date houden terwijl we ergens anders aan coole nieuwe features werken.
De kracht van Git en HG is vooral "updates" lokaal houden, terwijl je aan je eigen versie werkt. Dit kan je makkelijk mergen en geen conflicts-gezeik omdat het "line-by-line" gaat met herkenning van "ow, dit is nieuw, dit bestaat al 10 lines verder"Down schreef op donderdag 29 maart 2012 @ 00:42:
Git, SVN, HG.... Pff, ik zit hier met sourcesafe. Ben benieuwd welke bestanden ik morgen weer 'uitgecheckt' heb.
sourcesafe ken ik niet, en volgens mij... moet ik daar blij mee zijn?
Version control is easy, just learn the syntax
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Sourcesafe is een ongelofelijk kl**** pakket, gemaakt door Microsoft. Het communiceert bijv. dmv. SMBFiresphere schreef op donderdag 29 maart 2012 @ 00:54:
[...]
sourcesafe ken ik niet, en volgens mij... moet ik daar blij mee zijn?


anyway leesvoer: http://www.highprogrammer.com/alan/windev/sourcesafe.html
[ Voor 10% gewijzigd door Kwastie op 29-03-2012 01:15 ]
When I get sad i stop being sad and be awesome instead

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
Tijd voor een ARBO-dienst voor software pakketten!kenneth schreef op donderdag 29 maart 2012 @ 08:22:
Geen serieuze professional gebruikt toch nog VSS? Down, klaag je werkgever aan, echt
Alleen voor webgames. Het geld niet voor AIR based applicatiesFiresphere schreef op woensdag 28 maart 2012 @ 23:31:
Adobe wil 9% van de opbrengst van goedlopende flash-games.

Gekocht en verder ontwikkeld door MicrosoftKwastie schreef op donderdag 29 maart 2012 @ 01:11:
[...]
Sourcesafe is een ongelofelijk kl**** pakket, gemaakt door Microsoft.
Geloof me, dit probeer ik hier ook duidelijk te maken. Maar er waait hier nu eindelijk een nieuwe wind, er wordt gekeken naar TFS.kenneth schreef op donderdag 29 maart 2012 @ 08:22:
Geen serieuze professional gebruikt toch nog VSS? Down, klaag je werkgever aan, echt
Ik word ZO chagrijnig van Sourcesafe. Scheitpakket claimt ook dat ik bepaalde bestanden heb uitgecheckt terwijl het niet zo is. Echt ongelooflijk. Laten we het maar niet hebben over de mergecapaciteiten. Of dat een rename van een file direct op de server wordt doorgevoerd waardoor de buildserver over z'n nek gaat

Mother north, how can they sleep while their beds are burning?
"Beauty is the ultimate defence against complexity." David Gelernter
1
2
| DateTime now = DateTime.Now; DateTime dateTime = now.Date.AddHours(now.Hour).AddMinutes(now.Minute).AddSeconds(now.Second); |
Ik snap er niet echt iets van? De ontwikkelaar die het gemaakt had snapte het ook niet.
Hail to the king baby!
hij vraagt tijd op en daarnaast nog een var met de zelfde tijd erin? huh?urk_forever schreef op vrijdag 30 maart 2012 @ 10:39:
Kom net deze tegen in de code van onze applicatie:
C#:
1 2 DateTime now = DateTime.Now; DateTime dateTime = now.Date.AddHours(now.Hour).AddMinutes(now.Minute).AddSeconds(now.Second);
Ik snap er niet echt iets van? De ontwikkelaar die het gemaakt had snapte het ook niet.
oh wacht.. hij gebruikt die regel om datum uit date time te splitsen... tja...
[ Voor 7% gewijzigd door roboreaper op 30-03-2012 10:45 ]
kenneth schreef op donderdag 29 maart 2012 @ 08:22:
Geen serieuze professional gebruikt toch nog VSS? Down, klaag je werkgever aan, echt
Bij m'n huidige klant wordt voor alle projecten VSS gebruikt, ook al staat het invoeren van TFS als source control systeem al een jaar of drie 'op de drempel'.
Bij m'n vorige klant werd in het project waaraan ik werkte ook VSS gebruikt. In totaal werk ik dus nu al 4 jaar onafgebroken met die meuk en weet ik eigenlijk niet beter.
BrainwashAmras schreef op vrijdag 30 maart 2012 @ 10:47:
[...]
Bij m'n vorige klant werd in het project waaraan ik werkte ook VSS gebruikt. In totaal werk ik dus nu al 4 jaar onafgebroken met die meuk en weet ik eigenlijk niet beter.
Precies, mijn eerste reactie was ookroboreaper schreef op vrijdag 30 maart 2012 @ 10:44:
[...]
hij vraagt tijd op en daarnaast nog een var met de zelfde tijd erin? huh?
oh wacht.. hij gebruikt die regel om datum uit date time te splitsen... tja...

Hail to the king baby!
Hij pakt "now", daar het datumgedeelte van, en daar telt ie vervolgens het aantal uren, minuten en seconden van "now" erbij op.roboreaper schreef op vrijdag 30 maart 2012 @ 10:44:
hij vraagt tijd op en daarnaast nog een var met de zelfde tijd erin? huh?
oh wacht.. hij gebruikt die regel om datum uit date time te splitsen... tja...
Als je het mij vraagt probeert ie gewoon af te ronden op hele seconden. Niet eens zo heel raar, maar ik zou het aantal ticks er gewoon vanaf hebben getrokken:
1
2
| DateTime now = DateTime.Now; DateTime dateTime = now.AddTicks(-now.Ticks); |
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.
Zou kunnen, hij wist het zelf niet meer..oisyn schreef op vrijdag 30 maart 2012 @ 11:13:
[...]
Hij pakt "now", daar het datumgedeelte van, en daar telt ie vervolgens het aantal uren, minuten en seconden van "now" erbij op.
Als je het mij vraagt probeert ie gewoon af te ronden op hele seconden. Niet eens zo heel raar, maar ik zou het aantal ticks er gewoon vanaf hebben getrokken:
C#:
1 2 DateTime now = DateTime.Now; DateTime dateTime = now.AddTicks(-now.Ticks);
Hail to the king baby!
Dat is absoluut niet equivalent met de code die gepost is..oisyn schreef op vrijdag 30 maart 2012 @ 11:13:
[...]
Hij pakt "now", daar het datumgedeelte van, en daar telt ie vervolgens het aantal uren, minuten en seconden van "now" erbij op.
Als je het mij vraagt probeert ie gewoon af te ronden op hele seconden. Niet eens zo heel raar, maar ik zou het aantal ticks er gewoon vanaf hebben getrokken:
C#:
1 2 DateTime now = DateTime.Now; DateTime dateTime = now.AddTicks(-now.Ticks);
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
.edit: oh ik zie het al, Ticks is het totaal aantal ticks, niet het aantal ticks binnen een seconde. Tja, dan lijkt me de code zoals ie was ook gewoon het handigst. Je kan het totaal aantal ticks nemen en dat afronden op een veelvoud van 10.000.000, maar erg veel duidelijker wordt het daar ook niet van.
1
2
| DateTime now = DateTime.Now; DateTime dateTime = now.AddTicks(-(now.Ticks % 10000000)); |
Wel suf zeg, DateTime is dus preciezer dan dan z'n afzonderlijke componenten.
[ Voor 82% gewijzigd door .oisyn op 30-03-2012 11: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.
1
2
| DateTime now = DateTime.Now; DateTime dateTime = now.Date.AddHours(now.Hour); |
Misschien ben ik simpel, maar dit zorgt er toch voor dat het om 5 uur 'sochtends 10 uur word? Hij telt gewoon het aantal uur bij de huidige tijd op.
[ Voor 8% gewijzigd door TJHeuvel op 30-03-2012 11:35 ]
Als now 2012-03-30 11:23:53 is, dan is het resultaat van now.Date gelijk aan 2012-03-30 0:00:00
[ Voor 56% gewijzigd door .oisyn op 30-03-2012 11:38 ]
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.
Nee, hij telt het aantal uren, minuten en seconden op bij de huidige date.TJHeuvel schreef op vrijdag 30 maart 2012 @ 11:35:
C#:
1 2 DateTime now = DateTime.Now; DateTime dateTime = now.Date.AddHours(now.Hour).AddMinutes(now.Minute).AddSeconds(now.Second);
Misschien ben ik simpel, maar dit zorgt er toch voor dat het om 5 uur 'sochtends 10 uur word? Hij telt gewoon het aantal uur bij de huidige tijd op.
... spuit11
nope iedereen heeft het foutAmras schreef op vrijdag 30 maart 2012 @ 11:36:
[...]
Nee, hij telt het aantal uren, minuten en seconden op bij de huidige date.
... spuit11
ff snel in VS die code toegepast
er veranderd absoluut niks
ik print now en Datetime allebij de zelfde notatie en tijd dus now = 30-3-2012 11:52:33 dan is Date time dat ook.

fail code....
[ Voor 6% gewijzigd door roboreaper op 30-03-2012 11:58 ]
Ook het aantal milliseconden geprint?roboreaper schreef op vrijdag 30 maart 2012 @ 11:52:
[...]
nope iedereen heeft het fout
ff snel in VS die code toegepast
er veranderd absoluut niks
ik rpint now en Datetime allebij de zelfde notatie en tijd dus now = 30-3-2012 11:52:33 dan is Date time dat ook.
fail code....
1
| DateTime dateTime = now.Date.AddHours(now.Hour).AddMinutes(now.Minute).AddSeconds(now.Second); |
Dit kan volgens mij ook hele foute antwoorden geven.
Als tussen het aanroepen van AddHours en AddMinutes de tijd net verspringt van 11:59 naar 12:00 dan krijg je 11 uur 0 minuten.
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
Daarom wordt de huidige datum/tijd ook in een variabele gestopt, zodat de tijd niet kan verspringen.PiepPiep schreef op vrijdag 30 maart 2012 @ 12:04:
code:
1 DateTime dateTime = now.Date.AddHours(now.Hour).AddMinutes(now.Minute).AddSeconds(now.Second);
Dit kan volgens mij ook hele foute antwoorden geven.
Als tussen het aanroepen van AddHours en AddMinutes de tijd net verspringt van 11:59 naar 12:00 dan krijg je 11 uur 0 minuten.
Misschien moet je voortaan alle reacties even duidelijk lezen
fail post....fail code....
[ Voor 61% gewijzigd door .oisyn op 30-03-2012 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.
Ah, lezen is ook een vak apartAmras schreef op vrijdag 30 maart 2012 @ 12:36:
[...]
Daarom wordt de huidige datum/tijd ook in een variabele gestopt, zodat de tijd niet kan verspringen.

Maar ik heb het dus wel eens ooit ergens gezien dat er DateTime.Now meerdere keren op een regel werd gebruikt. Dan zou het dus fout kunnen gaan.
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
1
2
| var now = DateTime.Now; now = now.AddMilliseconds(-1*now.Millisecond); |
Hehe, sorry. Gewoonte van me om in prg niet alles voor te kauwen voor mensen, zodat GoT geen code snackbar wordt..oisyn schreef op vrijdag 30 maart 2012 @ 11:29:
Als je er dan ook even bijzegt waarom ipv gewoon maar een losse opmerking te posten...
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Ik heb al gezegd waarom dat niet klopt. Een DateTime is preciezer dan een milliseconde (10.000 keer zo precies)Vedett. schreef op vrijdag 30 maart 2012 @ 13:03:
Ik denk dat het op zoiets neerkomt:
C#:
1 2 var now = DateTime.Now; now = now.AddMilliseconds(-1*now.Millisecond);
En waarom -1 * x ipv gewoon -x
[ Voor 4% gewijzigd door .oisyn op 30-03-2012 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.
quote: KvKFout opgetreden bij het wijzigen van het wachtwoord (FOUT3007).
Probleem:
Er is een fout opgetreden bij het wijzigen van uw wachtwoord. Deze fout is ontstaan omdat u zich niet heeft gehouden aan één van de vereisten van het nieuwe wachtwoord of omdat u een verkeerde toegangscode heeft ingevuld.
Vereisten:
U dient een niet eerder gebruikt wachtwoord in te voeren.
De toegangscode heeft 8 tekens (deze begint altijd met WWW).
U dient alle velden in te vullen.
Het wachtwoord moet minimaal 6 en maximaal 10 tekens hebben.
Het wachtwoord ter controle moet gelijk zijn aan het nieuwe wachtwoord.
Het wachtwoord mag geen twee aangrenzende cijfers bevatten en ook niet beginnen met een cijfer.
Het wachtwoord mag geen punten, komma's en dergelijke bevatten.
Oplossing:
Wij adviseren u om bovenstaande tekst goed te lezen en uw wachtwoord OPNIEUW te wijzigen.
Als dit niet werkt bel dan onze klantenservice (Tel. 0348-426276) onder vermelding van uw toegangscode en bovenstaande melding (FOUT3007).


Als er een max. wachtwoord lengte is, weet je eigenlijk al hoe laat het is, dan wordt je wachtwoord zeer waarschijnlijk plain-text opgeslagen, waarom zou je anders die eis hebben..sopsop schreef op woensdag 18 april 2012 @ 08:50:
Lijkt mij geen slecht programmeervoorbeeld, eerder slechte - danwel belachelijke - functionele specificaties.
Dat kan je slecht programmeren noemen, of slecht databaseontwerp
Kater? Eerst water, de rest komt later
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Tjah, hoe veel keer ik zo'n beperkingen ook al niet tegengekomen ben, of bij wachtwoord recovery mijn oude wachtwoord in plaintext teruggekregen heb (wat het vermoeden doet rijzen dat er geen hashing op toegepast wordt, versleuteling kan dan natuurlijk nog altijd, maar goed, het schept geen vertrouwen)... Om van te huilen.BertS schreef op woensdag 18 april 2012 @ 08:01:
Bij de Kamer van Koophandel moet je jaarlijks je wachtwoord wijzigen. Geef je een nieuw wachtwoord in, krijg je het volgende:
[...]
![]()
Bijvoorbeeld de vdab:
25 is op zich al beter, maar waarom toch weer die limiet?In uw mail merkte u ook dat dat wanneer u zich registreerde op de hoofdsite (ik vermoed www.vdab.be) een wachtwoord van 30 tekens niet geaccepteerd wordt. Het paswoord dat u zelf kan kiezen op de website van VDAB kan maximaal 25 tekens lang zijn.
En een hash heeft toch altijd dezelfde lengte. Maakt niet uit hoe lang je ww is toch?
/me weet geen leuke quote voor in zijn signature
Dat ja, wist dat ik het ergens had gezien en wilde het hier noemen.Sebazzz schreef op woensdag 18 april 2012 @ 09:42:
Plain-text of (hopelijk) ge-encrypt. Bij encryptie is de lengte ook te voorspellen. Neemt niet weg dat het gigantisch stom is. Maar in de ideale wereld kon je ook bij een website passphrase invoeren in plaats van een wachtwoord met een bepaalde complexiteit.
Wachtwoorden zelf worden met SHA-2 of SHA-3 opgeslagen.
SHA-3? Ik lees er wel iets over, maar is het ook al ergens imgeplementeerd?Avalaxy schreef op woensdag 18 april 2012 @ 20:21:
Wat betreft password: ik heb in MVC3 op m'n password field een validation attribute om de string length te checken, maar daarbij moet je per sé een max length opgeven. Passwords zijn bij mij dan ook minimaal 8, maximaal 255 tekens. Lijkt me best redelijk.
Wachtwoorden zelf worden met SHA-2 of SHA-3 opgeslagen.
Verder kun je altijd een extra salt toevoegen en meerdere rounds hashen waardoor brutoforcen nog moeilijker word.
Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/
Excusez moi, ik dacht dat SHA-384 en SHA-512 onder SHA-3 vallen maar dat blijkt SHA-2 te zijn. Die dusKeiichi schreef op woensdag 18 april 2012 @ 20:25:
[...]
SHA-3? Ik lees er wel iets over, maar is het ook al ergens imgeplementeerd?
Verder kun je altijd een extra salt toevoegen en meerdere rounds hashen waardoor brutoforcen nog moeilijker word.
Ik schrijf ook altijd -1 * x ipv -x. -x kan een typo zijn, als je -1 * x schrijft. Dan heb je er iig over nagedacht
If money talks then I'm a mime
If time is money then I'm out of time
Dat zeg ik niet. Ik zei dat -x een typo kan zijn. -1*x absoluut niet. Dan heb je echt de intentie om de negatieve waarde te geven. Dus heb je er over nagedacht, opzettelijk. En dus geen ongeluk.Verwijderd schreef op woensdag 18 april 2012 @ 22:38:
En als je -x schrijft heb je er niet over nagedacht? Vind het een vreemde aanname.
De uitkomst is natuurlijk hetzelfde.
[ Voor 4% gewijzigd door Matis op 18-04-2012 22:53 ]
If money talks then I'm a mime
If time is money then I'm out of time
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Dan heb je echt de intentie om de negatieve waarde te geven. Dus heb je er over nagedacht, opzettelijk. En dus geen ongeluk.
Death smiles at us all, all a man can do is smile back.
PSN
Kater? Eerst water, de rest komt later

Veel belangrijker, als ik persoonlijk -1*x lees dan is de intentie voor mij niet meteen duidelijk, integenstelling tot -x waarvan ik meteen snap wat ermee bedoelt wordt. Als je dan toch het rare typo-argument aan wilt houden, typ dan -(x)
[ Voor 87% gewijzigd door .oisyn op 19-04-2012 09:44 ]
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
| var now = DateTime.Now; now = now.AddMilliseconds(-now.Millisecond); // ja dit is opzettelijk, niet twijfelen, gij kleingelovige! |
[ Voor 29% gewijzigd door YopY op 19-04-2012 12: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.
1
2
| DateTime now = DateTime.Now; DateTime dateTime = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second); |
Is het niet handiger om de daarvoor bedoelde constructor te gebruiken?
I don't have a solution; but I do admire the problem.
Verwijderd
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
| if ($seconds/60 >=1){ $minutes=floor($seconds/60); if ($minutes/60 >= 1){ # Hours $hours=floor($minutes/60); if ($hours/24 >= 1){ #days $days=floor($hours/24); if ($days/7 >=1){ #weeks $weeks=floor($days/7); if ($weeks>=2) $return="$weeks Weeks"; else $return="$weeks Week"; } #end of weeks $days=$days-(floor($days/7))*7; if ($weeks>=1 && $days >=1) $return.=", "; if ($days >=2) $return.=" $days days"; if ($days ==1) $return.=" $days day"; } #end of days $hours=$hours-(floor($hours/24))*24; if ($days>=1 && $hours >=1 && ($weeks<1)) $return.=", "; if ($hours >=2 && ($weeks<1)) $return.=" $hours hours"; if ($hours ==1 && ($weeks<1)) $return.=" $hours hour"; } #end of Hours $minutes=$minutes-(floor($minutes/60))*60; if ($hours>=1 && $minutes >=1 && ($days<1&&$weeks<1)) $return.=", "; if ($minutes >=2 && ($days<1&&$weeks<1)) $return.=" $minutes minutes"; if ($minutes ==1 && ($days<1&&$weeks<1)) $return.=" $minutes minute"; } #end of minutes $seconds=$integer-(floor($integer/60))*60; if ($minutes>=1 && $seconds >=1 && ($hours<1&&$days<1&&$weeks<1)) $return.=", "; if ($seconds >=2 && ($hours<1&&$days<1&&$weeks<1)) $return.=" $seconds seconds"; if ($seconds ==1 && ($hours<1&&$days<1&&$weeks<1)) $return.=" $seconds second"; return ltrim($return); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| //header #if (LOGGING==LOW || LOGGING==MED || LOGGING==HIGH) MY_LOGGING(TEXT) MyLogging(text); #else MY_LOGGING(TEXT) #endif //implementatie MyLogging(const char* text) { #if MY_LOGGING==MED //10 strcat statements #endif } |
Macro's om logging aan/uit te zetten snap ik, en dat je de method-call wilt voorkomen in productiecode ook wel een beetje, maar dit is wel een beetje bijzonder
[ Voor 13% gewijzigd door MBV op 20-04-2012 23:08 ]
1
2
3
4
5
6
7
8
| var ans = new Array; var done = new Array; var score = 0; ans[1] = "d"; ans[2] = "b"; ans[3] = "a"; ans[4] = "b"; ans[5] = "c"; |
Blijkbaar hebben ze zelfs rekening gehouden met gebruikers die naar de source kijken
1
2
3
4
| function NextLevel () { if (score > 40) { alert("Cheater!"); } |
Somewhere in Texas there's a village missing its idiot.
Die macro faalt sowiesoMBV schreef op vrijdag 20 april 2012 @ 23:08:
Macro's om logging aan/uit te zetten snap ik, en dat je de method-call wilt voorkomen in productiecode ook wel een beetje, maar dit is wel een beetje bijzonder
1
2
3
| if (condition) MyLogging("bla") DoSomethingImportant(); |
Haal de ; weg uit de macro zodat bovestaande code ongeldig wordt, en maak van de andere definitie een do;while(0) zodat het een ; vereist
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.
Blijkbaar hebben ze het niet zelf geschreven, maar gewoon copy paste:Petervanakelyen schreef op woensdag 25 april 2012 @ 08:53:
Op school zojuist verwezen naar een website om oefeningen op te doen. De code ziet er als volgt uit:
code:
1 2 3 4 5 6 7 8 var ans = new Array; var done = new Array; var score = 0; ans[1] = "d"; ans[2] = "b"; ans[3] = "a"; ans[4] = "b"; ans[5] = "c";
Blijkbaar hebben ze zelfs rekening gehouden met gebruikers die naar de source kijken:
code:
1 2 3 4 function NextLevel () { if (score > 40) { alert("Cheater!"); }
http://www.robynoro.info/...cellaneous/user-quiz.html
Vaak wil ik zoiets:
1
2
3
4
5
6
7
8
9
10
11
| if (conditie) { doe iets; if (andere conditie gebaseerd op 'doe iets') goto elseCase } else { elseCase: doe iets anders; } |
Kun je wel gestructureerd oplossen. Bijvoorbeeld door van doe iets een functie te maken die de juiste conditie terugstuurt zodat de eerste if gewoon if (conditie && functieDoeIets()) kan zijn, maar dat wordt wat lastiger als er veel afhankelijke lokale state is. Een andere oplossing is met extra lokale booleans, maar dat wordt er over het algemeen ook niet heel veel leesbaarder op:
1
2
3
4
5
6
7
8
9
10
| bool ok = conditie; if (ok) { doe iets; if (andere conditie gebaseerd op 'doe iets') ok = false; } if (!ok) doe iets anders; |
Werkt prima, maar imho niet heel erg duideljik dat de 'else' case een fall through is.
Mijn oplossing:
1
2
3
4
5
6
7
8
9
10
| switch(conditie) { case true: doe iets; if (!andere conditie gebaseerd op 'doe iets') break; // fall through case false: doe iets anders; } |

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| bool doeIets() { //iets doen en controleren return (conditie gebaseerd op iets doen); } void functieVanVorigePoster() { if(!(conditie && doeIets())) { //Doe iets anders } } |
[ Voor 16% gewijzigd door Verwijderd op 25-04-2012 15:30 ]
"maar dat wordt wat lastiger als er veel afhankelijke lokale state is"
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
State -> stateObject, doorgeven aan doeIets().
[ Voor 101% gewijzigd door .oisyn op 25-04-2012 15:57 ]
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.
"wel zo snel mogelijk, want we krijgen er niet voor betaald"
Oplossing,:
1
2
3
4
5
| try{ $this->DB->getObject('product', $ID): } catch(exception $e){ // ja doei; } |
* Firesphere schaamt zich eigenlijk stiekem er voor...
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
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
| private SearchFilterCompany _filter = null; public SearchFilterCompany SearchFilter { get { if (_filter == null) _filter = GetSearchFilter(); return _filter; } set { SetSearchFilter(value); } } private void SetSearchFilter( SearchFilterCompany filter ) { HttpContext.Current.Session[SessionKeySearchFilter] = filter as SearchFilterCompany; } private SearchFilterCompany GetSearchFilter() { SearchFilterCompany zoekFilter = null; if (HttpContext.Current.Session[SessionKeySearchFilter] != null) { zoekFilter = HttpContext.Current.Session[SessionKeySearchFilter] as SearchFilterCompany; } return zoekFilter; } |
Vooral dit stuk:
1
2
3
4
| if (HttpContext.Current.Session[SessionKeySearchFilter] != null) { zoekFilter = HttpContext.Current.Session[SessionKeySearchFilter] as SearchFilterCompany; } |
Briljant toch?

Als je dan ook nog eens bedenkt dat dit in de DAL-library zat....

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Wat is een excoption?Firesphere schreef op woensdag 25 april 2012 @ 16:38:
Even een voorbeeldje van mezelf. Een bepaalde query ging soms mis, als er een product was weggegooit. Het moest gefixt worden, maar
"wel zo snel mogelijk, want we krijgen er niet voor betaald"
Oplossing,:
PHP:
1 2 3 4 5 try{ $this->DB->getObject('product', $ID): } catch(excoption $e){ // ja doei; }
* Firesphere schaamt zich eigenlijk stiekem er voor...
[ Voor 100% gewijzigd door CodeCaster op 25-04-2012 17:02 . Reden: Dan kan ik geen code lezen, laat maar ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Tenzij ik een of ander C# detail mis bedoelt hij dit:farmertjes schreef op woensdag 25 april 2012 @ 16:59:
Ik geloof niet dat ik "Vooral dit stuk" begrijp. Als je een niet bestaande key opvraagt uit de current session wordt er toch een exception gethrowed ... z'n check voor null is dan toch goed? of bedoelde je de overbodige cast naar SearchFilterCompany?
Hij set eerst zijn temp op null, dan zet hij de nieuwe waarde er in mits deze geen null is en returned dat.
1
2
3
4
5
6
7
| SearchFilterCompany zoekFilter = null; if (HttpContext.Current.Session[SessionKeySearchFilter] != null) { zoekFilter = HttpContext.Current.Session[SessionKeySearchFilter] as SearchFilterCompany; } return zoekFilter; |
is dus equivalent aan
1
| return HttpContext.Current.Session[SessionKeySearchFilter]; |
[ Voor 69% gewijzigd door martijnve op 25-04-2012 17:08 ]
Mini-ITX GamePC: Core i5 3470 | 16GB DDR3 | GTX 970 4GB | Samsung 830 128GB | Dell u2711 (27", IPS,1440p), 2343BW
Volgens mij krijg je in C# een exception als je niet eerst checkt op null, dus is zijn code wel goed.martijnve schreef op woensdag 25 april 2012 @ 17:02:
[/code]
is dus equivalent aan
C#:
1 return HttpContext.Current.Session[SessionKeySearchFilter];
De code erboven klopt ook gewoon, dat is de gewoon de property syntax voor C#.
[ Voor 21% gewijzigd door martijnve op 25-04-2012 17:19 ]
Mini-ITX GamePC: Core i5 3470 | 16GB DDR3 | GTX 970 4GB | Samsung 830 128GB | Dell u2711 (27", IPS,1440p), 2343BW
Ik zie net dat ik degene ben die de magie mistmartijnve schreef op woensdag 25 april 2012 @ 17:17:
Tenzij ik wat magie mis wordt er behove bij de eerste get nergens een assignment aan _filter gedaan?
Je hebt helemaal gelijk ...

Nee, je krijgt een exception als je een methode uitvoert of property opvraagt op een null. Je kunt prima een null returnen of assignen.farmertjes schreef op woensdag 25 april 2012 @ 17:15:
Volgens mij krijg je in C# een exception als je niet eerst checkt op null, dus is zijn code wel goed.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
_filter wordt toch echt gevuld met het resultaat van de methode GetSearchFilter().farmertjes schreef op woensdag 25 april 2012 @ 17:19:
[...]
Ik zie net dat ik degene ben die de magie mist
Je hebt helemaal gelijk ...
Ik vind de "as SearchFilterCompany" in de SetSearchFilter() toch echt het mooiste staaltje onzin.
[ Voor 14% gewijzigd door MatHack op 25-04-2012 17:24 ]
There's no place like 127.0.0.1
Mini-ITX GamePC: Core i5 3470 | 16GB DDR3 | GTX 970 4GB | Samsung 830 128GB | Dell u2711 (27", IPS,1440p), 2343BW
Dit topic is gesloten.
Uiteraard is het in dit topic niet de bedoeling dat andere users en/of topics aangehaald worden om ze voor gek te zetten. Lachen om je eigen code, of over dingen die je "wel eens tegengekomen bent" is prima, maar hou het onderling netjes.