Off-topic: Artesis toevallig? Je nickname komt me bekend voor.Om eerlijk te zijn, in mijn opleiding (toegepaste informatica, hier in België) werd het maar zeer beperk behandeld. Maar er werd dan ook veel (bijna) niet behandeld (reg.ex. werd doodverzwegen, version control bestond niet eens, ...).
Omg! Hoe moeilijk kan het zijn om met Poedit wat translation files te maken >_< Leuk dat ie de directory scant op files met __('tekst') enzo, maar wat als je nou eens niet lokaal werkt.
Eens zien of er nog programma'tjes zijn waar ik wel gewoon .mo/.po bestanden kan maken
Edit: Het is al gelukt, maar niet handig dat ik steeds de bestanden hier naar toe moet halen.
Eens zien of er nog programma'tjes zijn waar ik wel gewoon .mo/.po bestanden kan maken
Edit: Het is al gelukt, maar niet handig dat ik steeds de bestanden hier naar toe moet halen.
[ Voor 15% gewijzigd door TheNephilim op 14-02-2012 11:47 ]
No commentBv202 schreef op dinsdag 14 februari 2012 @ 11:38:
[...]
Off-topic: Artesis toevallig? Je nickname komt me bekend voor.
Binair stelsel, bitmasks en binaire operaties vind ik toch echt wel basiskennis. OU Informatica is het propedeusemateriaal.Paul schreef op dinsdag 14 februari 2012 @ 11:32:
Een opleiding is er om je de basis bij te brengen,
Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
...als je nog Assembler krijgt
In moderne talen heb je het over het algemeen niet nodig, en dan zijn er andere dingen die relevanter zijn voor je opleiding die je ook nog in de beschikbare tijd aan studenten moet leren.
Het is een keuze van de opleiding, en ik snap wel dat de ene opleiding dieper ingaat op dat specifieke deel en de andere opleiding op iets anders
Kijk, als een opleiding base-2 niet uitlegt dan heb je een punt, maar bitmasks en low-level bitbanging? Tja, wat voegt dat nog toe, op enkele cornercases na?
Het is een keuze van de opleiding, en ik snap wel dat de ene opleiding dieper ingaat op dat specifieke deel en de andere opleiding op iets anders
"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock
Pff, da's uit. Security by UTF-8 is in..oisyn schreef op maandag 13 februari 2012 @ 15:54:
Net zo cool als het is om te roepen dat iets "security by obscurity" is?
je hebt het niet nodig maar het leert je wel hoe data in geheugen staat opgeslagen. Dat is wmb toch wel absolute basiskennis.
Daarnaast gaat niet elke programmeur aan de slag met een higher level programmeertaal als C#, Java, .... en is het dus wel handig om het te weten.
Daarnaast gaat niet elke programmeur aan de slag met een higher level programmeertaal als C#, Java, .... en is het dus wel handig om het te weten.
Een programmeur die bitmasks niet begrijpt zou ik anders niet heel serieus nemen....Paul schreef op dinsdag 14 februari 2012 @ 12:19:
...als je nog Assembler krijgtIn moderne talen heb je het over het algemeen niet nodig, en dan zijn er andere dingen die relevanter zijn voor je opleiding die je ook nog in de beschikbare tijd aan studenten moet leren.
Het is een keuze van de opleiding, en ik snap wel dat de ene opleiding dieper ingaat op dat specifieke deel en de andere opleiding op iets andersKijk, als een opleiding base-2 niet uitlegt dan heb je een punt, maar bitmasks en low-level bitbanging? Tja, wat voegt dat nog toe, op enkele cornercases na?
Je leert een timmerman toch ook werken met een hamer en zaag, en niet eerst hoe je de volautomatische zaagtafel gebruikt?
Computers en kromme vergelijkingen, altijd leuk! 
En dat zeg ik niet om mezelf uit een epic failure te lullen, ik noemde pas een XOR ook een AND, maar dat is juist het mooie van abstractie. Als je vindt dat een programmeur moet weten hoe bitmasks werken, moet je ook vinden dat je assembly moet kunnen schrijven, hell, dan zou je processors moeten kunnen tekenen. Uit het blote hoofd.
Programmeren omhelst al een aantal jaren wat meer disciplines dan enkel met wat bitjes schuiven. Je kunt briljant zijn met de .NET-stack en data uit een database ontsluiten via webservices alsof het niets is, terwijl je ondertussen geen flauw idee hebt hoe een TCP-pakket wordt opgebouwd. Je hóeft het ook niet te weten.
Ja, al ga je naar performance kijken, of wil je heel specifiek kunnen debuggen, dan is het nuttig om te weten wat er op de achtergrond gebeurt. En een beetje basis in Booleaanse logica is ook wel prettig, zo kun je bijvoorbeeld onnodig moeilijke if-statements ombouwen naar veel vriendelijker versies.
Ik leer dagelijks nog nieuwe dingen, en dat houdt het werk ook leuk, terwijl het niet eens veel meer moeite kost dan zo nu en dan eens een blogje lezen, al is het maar om te kijken hoe het niet moet. Je onthoudt er wat van, steekt er wat van op, en wellicht kun je het ooit nog eens gebruiken.
Maar je hebt het verre van dagelijks nodig. Dus anno nu zeggen dat je bepaalde dingen moet weten terwijl je daar helemaal nooit mee te maken krijgt, vind ik niet te verdedigen.

En dat zeg ik niet om mezelf uit een epic failure te lullen, ik noemde pas een XOR ook een AND, maar dat is juist het mooie van abstractie. Als je vindt dat een programmeur moet weten hoe bitmasks werken, moet je ook vinden dat je assembly moet kunnen schrijven, hell, dan zou je processors moeten kunnen tekenen. Uit het blote hoofd.
Programmeren omhelst al een aantal jaren wat meer disciplines dan enkel met wat bitjes schuiven. Je kunt briljant zijn met de .NET-stack en data uit een database ontsluiten via webservices alsof het niets is, terwijl je ondertussen geen flauw idee hebt hoe een TCP-pakket wordt opgebouwd. Je hóeft het ook niet te weten.
Ja, al ga je naar performance kijken, of wil je heel specifiek kunnen debuggen, dan is het nuttig om te weten wat er op de achtergrond gebeurt. En een beetje basis in Booleaanse logica is ook wel prettig, zo kun je bijvoorbeeld onnodig moeilijke if-statements ombouwen naar veel vriendelijker versies.
Ik leer dagelijks nog nieuwe dingen, en dat houdt het werk ook leuk, terwijl het niet eens veel meer moeite kost dan zo nu en dan eens een blogje lezen, al is het maar om te kijken hoe het niet moet. Je onthoudt er wat van, steekt er wat van op, en wellicht kun je het ooit nog eens gebruiken.
Maar je hebt het verre van dagelijks nodig. Dus anno nu zeggen dat je bepaalde dingen moet weten terwijl je daar helemaal nooit mee te maken krijgt, vind ik niet te verdedigen.
[ Voor 19% gewijzigd door CodeCaster op 14-02-2012 13:32 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
In het kader van opleiden vind ik van low-level naar high level anders een stuk logischer dan andersom.
Natuurlijk zul je veel van de kennis in de praktijk niet dagelijks gebruiken, maar ook jij kent vast de 'beroemde' perils of java-schools blog van Joel Spolsky
Ik zeg ook niet dat je bepaalde dingen per-se moet weten, maar als er een beperkte tijd is voor het bijbrengen van kennis, dan kun je mijn insziens beter de fundamenten goed leggen, in plaats van al het high level gebeuren.
Natuurlijk zul je veel van de kennis in de praktijk niet dagelijks gebruiken, maar ook jij kent vast de 'beroemde' perils of java-schools blog van Joel Spolsky
Ik zeg ook niet dat je bepaalde dingen per-se moet weten, maar als er een beperkte tijd is voor het bijbrengen van kennis, dan kun je mijn insziens beter de fundamenten goed leggen, in plaats van al het high level gebeuren.
Als ik daar even selectief uit mag citeren, denk ik inderdaad dat ik mijn mening moet nuanceren:
Daarnaast vergat ik even dat ik, voor ik aan die opleiding begon, zelf al een jaar of acht programmeerde, en dus met tien vingers in de neus kon debuggen, en snapte dat handleidingen niet voor niks werden geschreven. Ik snapte abstractie, ik begreep recursie, ik miste niet dat het ons niet geleerd werd.
Echter:
Desalniettemin heb je gelijk: het is basiskennis, die erg nuttig kan blijken. Naar mijn mening echter niet voor iedereen, zeker niet als je tijdens je werk "alleen maar" met reeds bestaande frameworks gaat werken.
Toen ik bovenstaande post schreef, dacht ik terug aan mijn hbo-opleiding. Wij hebben daar in het derde jaar eindelijk les in datastructuren en Prolog gekregen; daarvoor mochten we canvassen volkliederen met Java en zo nu en dan wat rommelen in PHP. We hebben daar niet leren programmeren, we hebben leren werken met AWT. Mensen die niet konden programmeren, werden niet verveeld met details: tik maar gewoon de voorbeelden over, en je haalt je Java-cursus (maar waag het niet een array te gebruiken als er vijf dezelfde soorten variabelen nodig zijn, want dan snapt de docent het niet meer).Pointers and recursion require a certain ability to reason, to think in abstractions, and, most importantly, to view a problem at several levels of abstraction simultaneously.
Daarnaast vergat ik even dat ik, voor ik aan die opleiding begon, zelf al een jaar of acht programmeerde, en dus met tien vingers in de neus kon debuggen, en snapte dat handleidingen niet voor niks werden geschreven. Ik snapte abstractie, ik begreep recursie, ik miste niet dat het ons niet geleerd werd.
Echter:
En daar wringt 'm bij mij de schoen. Eerdergenoemde klasgenoten die wellicht wat minder bedreven waren in programmeren, en die in hun vrije tijd liever gingen sporten dan programmeren, kunnen nog steeds prima Windows-applicaties in elkaar slepen met een Drag & Drop GUI editor en templates bouwen voor CMS'en. Een hbo-opleiding waar twintig man afstudeert, hoeft toch geen twintig library/compiler/framework-bouwers op te leveren? Er moet ook gewoon werk worden verzet, uurtje-factuurtje, en dat kunnen zij prima.I've seen [...] quite a few CS not smart enough to work as programmers on anything more sophisticated than Yet Another Java Accounting Application
Desalniettemin heb je gelijk: het is basiskennis, die erg nuttig kan blijken. Naar mijn mening echter niet voor iedereen, zeker niet als je tijdens je werk "alleen maar" met reeds bestaande frameworks gaat werken.
[ Voor 3% gewijzigd door CodeCaster op 14-02-2012 14:17 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Grotendeels eens met CC.
Toevoeging: Een opleiding is altijd breder dan wat je in je werk gaat tegenkomen. Opleidingen waar je alleen maar leert wat je nodig hebt heten cursussen. Dan leer je in een paar weken op de juiste knopjes drukken en de juiste woordjes intypen (op het juiste moment, als je oplet).
Wil je algemeen vakinzicht hebben, niet in paniek raken zodra het onderwerp 2mm buiten je comfort zone ligt, kunnen praten met mensen in andere disciplines, meer opties openhouden voor je carrière, dan ontkom je er niet aan meer dingen te leren dan alleen die paar zaken die je voor je eerste baan(tjes) nodig gaat hebben.
Een informaticaopleiding is niet om studenten klaar te stomen om kantoorapplicaties in .NET uit te poepen, die is er om studenten klaar te maken voor het vakgebied. En daar hoort af en toe iets bij wat voor veel mensen niet direct nodig is. Maar van te veel weten raak je alleen als spion in gevaar, niet als informaticus.
Toevoeging: Een opleiding is altijd breder dan wat je in je werk gaat tegenkomen. Opleidingen waar je alleen maar leert wat je nodig hebt heten cursussen. Dan leer je in een paar weken op de juiste knopjes drukken en de juiste woordjes intypen (op het juiste moment, als je oplet).
Wil je algemeen vakinzicht hebben, niet in paniek raken zodra het onderwerp 2mm buiten je comfort zone ligt, kunnen praten met mensen in andere disciplines, meer opties openhouden voor je carrière, dan ontkom je er niet aan meer dingen te leren dan alleen die paar zaken die je voor je eerste baan(tjes) nodig gaat hebben.
Een informaticaopleiding is niet om studenten klaar te stomen om kantoorapplicaties in .NET uit te poepen, die is er om studenten klaar te maken voor het vakgebied. En daar hoort af en toe iets bij wat voor veel mensen niet direct nodig is. Maar van te veel weten raak je alleen als spion in gevaar, niet als informaticus.
Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
Een simpele even of oneven check met / 2 wordt door de compiler volgens mij wel herkent en naar een & 1 omgezet..oisyn schreef op dinsdag 14 februari 2012 @ 11:13:
Ik kan me ook niet heugen dat ik ze heb gehad op de HIO HvU. Zoals bijvoorbeeld in numerieke wiskunde bij de beroemde modpow functie werd ook gewoon gewerkt met modulo 2 om te testen of een bit gezet was. Ik was altijd degene met de creatieve bitneukoplossingen.
Ik kan me nog herinneren uit het msx tijdperk dat er een pascal compiler opensource werdt en er mensen helemaal blij waren geworden dat ze nu waarde = waarde - 2 konden optimaliseren naar 2x een dec in assembler.
dec duurde namelijk 1 clock en sub 3 clocks
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
modulo 2 op een signed int is niet hetzelfde als een bitwise AND met 1. Evenzo is een deling door 2 op een signed int ook niet hetzelfde als een arithmetic shift right met 1.PiepPiep schreef op dinsdag 14 februari 2012 @ 14:48:
[...]
Een simpele even of oneven check met / 2 wordt door de compiler volgens mij wel herkent en naar een & 1 omgezet.
[ Voor 15% gewijzigd door .oisyn op 14-02-2012 15:03 ]
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.
Op mijn opleiding leggen ze helemaal niks uit over bitmasks, base 2 en alle andere onderwerpen die jullie bespreken (including versiebeheer, etc. etc.)
Dat is overigens Hogeschool Rotterdam.
Dat is overigens Hogeschool Rotterdam.
Dat klopt, maar ik noem dat MBO niveau. In Nederland is het onderwijs dermate verdebiliseerd dat HBO een soort van standaard opleiding geworden is voor middelmatige mensen, terwijl het toch het Hoger onderwijs moet voorstellen. Je heette vroeger een Ingenieur en Ingenieurs doen nou eenmaal Ingenieuze dingen, weliswaar op een praktisch vlak zoals bruggen bouwen of een remsysteem voor een bus verbeteren, maar niet het botte simpele voorgekauwde handwerk.CodeCaster schreef op dinsdag 14 februari 2012 @ 14:15:En daar wringt 'm bij mij de schoen. Eerdergenoemde klasgenoten die wellicht wat minder bedreven waren in programmeren, en die in hun vrije tijd liever gingen sporten dan programmeren, kunnen nog steeds prima Windows-applicaties in elkaar slepen met een Drag & Drop GUI editor en templates bouwen voor CMS'en. Een hbo-opleiding waar twintig man afstudeert, hoeft toch geen twintig library/compiler/framework-bouwers op te leveren? Er moet ook gewoon werk worden verzet, uurtje-factuurtje, en dat kunnen zij prima.
Ik zou graag een opleiding gevolgd hebben waar 60% gillend wegrende van programmeervakken, dat geeft mijn diploma namelijk veel meer waarde.
iOS developer
Als ik je 1 gouden tip mag geven: ga eens bij de hogeschool in Delft kijken (http://www.dehaagsehogesc...vt-delft/even-voorstellen). Bij mijn weten zitten er nog steeds een aantal goede docenten van de TH Rijswijk, met een fatsoenlijk programma. De Hogeschool Rotterdam heb ik nog maar weinig goeds over gehoord.Avalaxy schreef op dinsdag 14 februari 2012 @ 16:12:
Op mijn opleiding leggen ze helemaal niks uit over bitmasks, base 2 en alle andere onderwerpen die jullie bespreken (including versiebeheer, etc. etc.)![]()
Dat is overigens Hogeschool Rotterdam.
Verwijderd
Die opleiding doe ik op dit moment. Bitmasken e.d. komt wel aan de orde. Alleen in het eerste jaar geloof ik.
Hoe uitgebreid dat was weet ik even niet meer. Volgens mij een blok lang 1 les in de week. Maar ik heb er sowieso geen moeite mee, ik was 2 jaar daarvoor al bezig met assembly... Een aantal embedded opdrachten had ik ook daarmee gedaan (een aantal verplicht, anderen niet.)
Ik geloof er er van de 12 in mijn groepje 3 of 4 zijn die C++ in een keer hebben gehaald....
Hoe uitgebreid dat was weet ik even niet meer. Volgens mij een blok lang 1 les in de week. Maar ik heb er sowieso geen moeite mee, ik was 2 jaar daarvoor al bezig met assembly... Een aantal embedded opdrachten had ik ook daarmee gedaan (een aantal verplicht, anderen niet.)
Dat is hiero ongeveer het gevalBikkelZ schreef op dinsdag 14 februari 2012 @ 16:19:
Ik zou graag een opleiding gevolgd hebben waar 60% gillend wegrende van programmeervakken, dat geeft mijn diploma namelijk veel meer waarde.
[ Voor 33% gewijzigd door Verwijderd op 14-02-2012 16:29 ]
Ik zit al in het eind van m'n derde jaar, ik ga nu niet meer switchenMBV schreef op dinsdag 14 februari 2012 @ 16:20:
[...]
Als ik je 1 gouden tip mag geven: ga eens bij de hogeschool in Delft kijken (http://www.dehaagsehogesc...vt-delft/even-voorstellen). Bij mijn weten zitten er nog steeds een aantal goede docenten van de TH Rijswijk, met een fatsoenlijk programma. De Hogeschool Rotterdam heb ik nog maar weinig goeds over gehoord.
Gedeeltelijk mee eens - ware het niet dat de opleiding die ik heb gevolgd je breder opleidde dan enkel tot programmeur. Die-hard programmeren leer je toch niet op een brede opleiding? Pas tijdens de minor software engineering (een 'specialisatie' van een half jaar lang) werd het interessant voor mensen met mijn instelling.BikkelZ schreef op dinsdag 14 februari 2012 @ 16:19:
[...]
Dat klopt, maar ik noem dat MBO niveau. In Nederland is het onderwijs dermate verdebiliseerd dat HBO een soort van standaard opleiding geworden is voor middelmatige mensen, terwijl het toch het Hoger onderwijs moet voorstellen. Je heette vroeger een Ingenieur en Ingenieurs doen nou eenmaal Ingenieuze dingen, weliswaar op een praktisch vlak zoals bruggen bouwen of een remsysteem voor een bus verbeteren, maar niet het botte simpele voorgekauwde handwerk.
Ik zou graag een opleiding gevolgd hebben waar 60% gillend wegrende van programmeervakken, dat geeft mijn diploma namelijk veel meer waarde.
De jaren ervoor had je "last" van rare vakken als communicatie (oeh, eng, leren omgaan met (niet-technische) collega's) en bedrijfskunde (oeh, vreemd, een beetje begrijpen hoe je baas en klanten denken), terwijl je je later, gedurende de minor en de jaren daarna, kon specialiseren richting de development-, media-, (systeem)beheer- of (project)managementkant.
Dat dit zoals gezegd voor mensen zorgt die als programmeur helemaal niet op hun plek zitten, en de waarde van mijn diploma naar beneden haalt, weet ik helaas uit ervaring. Aan de andere kant, opleiding is ook maar opleiding, eenmaal voorzien van een aantal jaren werkervaring doet dat er naar mijn ervaring niet meer toe.
[ Voor 10% gewijzigd door CodeCaster op 14-02-2012 16:46 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Ik heb het hier nog over gehad met m'n vroegere mentor (heb HIO gedaan in Enschede). In ons eerste jaar (1998) viel zo'n 70% af toen we met Java aan de slag gingen. Type "ik weet niet wat ik voor studie wil doen maar ik vind computerspelletjes wel leuk" zegmaar. Dat was normaal, veel mensen kozen om de verkeerde reden de studie.BikkelZ schreef op dinsdag 14 februari 2012 @ 16:19:
Ik zou graag een opleiding gevolgd hebben waar 60% gillend wegrende van programmeervakken, dat geeft mijn diploma namelijk veel meer waarde.
Maarja, fusie met Saxion, nieuw management, en opeens werden er 'richtlijnen' verzonnen. Want als bij HBO-V(erzorging, de 'zustertjes') 90% het eerste jaar z'n P haalt, dan moet dat ook bij informatica kunnen nietwaar? Effect is een dumbed down opleiding waarbij ze de grootste moeite hebben om voor alle studenten stageplaatsen te vinden en bovendien de naam van de school volledig te grabbel gegooid is. Een groot deel van de studenten is ronduit zwak maar wordt toch in projectgroepjes over de streep getrokken door de rest van de groep. Ik heb een project gedaan met zo'n groep en van de groep van 6 waren er 2 'ziek' (die heb ik na hard aandringen uit de groep laten verwijderen) en van de 4 die er over waren deden er 2 nog echt wat aan de opdracht.
Oh, en ook nog een heel geneuzel over de opdracht wel 'ethisch' is. Kennelijk hadden ze net een juridisch vak gehad want ze hadden 'juridische en ethische bezwaren' bij de opdracht. Ten eerste heeft onze eigen jurist er z'n okay aan gegeven, ten tweede is het jullie probleem niet want wij zijn opdrachtgever, en ten derde kun je ook gewoon een 1 krijgen voor je project als je dat graag hebt. Waar ging het om? Spideren van profielensites om anonieme marktstatistieken te verzamelen. En dat dat de opdracht was wisten ze van te voren

https://niels.nu
Dit dus. Dat is precies de reden waarom ik nu de wo master HMI doe. De eerste keer in mijn leven dat het niveau en de werkdruk hoog genoeg ligt dat ik soms denk dat ik het niet ga halen binnen de gestelde 2 jaar.BikkelZ schreef op dinsdag 14 februari 2012 @ 16:19:
[...]
Ik zou graag een opleiding gevolgd hebben waar 60% gillend wegrende van programmeervakken, dat geeft mijn diploma namelijk veel meer waarde.
Tijdens de HBO opleiding die ik hiervoor heb gedaan had ik, als ik zo om me heen keek, het idee opgeleid te worden tot een slechte werkslaaf: een uitvoerkracht die nergens echt kennis van heeft.
*edit*
Ik hoop alleen maar dat ik deze master heb gehaald voordat de onderwijsinspectie bij mijn vorige hogere school langs komt.
[ Voor 8% gewijzigd door Caelorum op 14-02-2012 16:43 ]
Hamer.Sla(spijker.Kop);Hydra schreef op dinsdag 14 februari 2012 @ 16:39:
[...]
Maarja, fusie met Saxion, nieuw management, en opeens werden er 'richtlijnen' verzonnen. Want als bij HBO-V(erzorging, de 'zustertjes') 90% het eerste jaar z'n P haalt, dan moet dat ook bij informatica kunnen nietwaar? Effect is een dumbed down opleiding waarbij ze de grootste moeite hebben om voor alle studenten stageplaatsen te vinden en bovendien de naam van de school volledig te grabbel gegooid is. Een groot deel van de studenten is ronduit zwak maar wordt toch in projectgroepjes over de streep getrokken door de rest van de groep. Ik heb een project gedaan met zo'n groep en van de groep van 6 waren er 2 'ziek' (die heb ik na hard aandringen uit de groep laten verwijderen) en van de 4 die er over waren deden er 2 nog echt wat aan de opdracht.
Ik had het beste gevoel bij TU/e, beter dan bij Delft (de enige ex-THR student die daarheen ging is na 2 jaar ermee gestopt). Als je naar de TU/e wilt gaan, zou ik je aanraden alvast een boek over logica en verzamelingenleer door te nemen. Ik had die voorsprong danzij de THR, wat de studie het eerste half jaar een stuk eenvoudiger maakte. Ik had de eerste 3 lessen logica dus al gehad, waardoor ik net wel kon aanhaken.Avalaxy schreef op dinsdag 14 februari 2012 @ 16:25:
[...]
Ik zit al in het eind van m'n derde jaar, ik ga nu niet meer switchenWaarschijnlijk hierna nog wel een WO Informaticaopleiding doen. Is Universiteit Utrecht goed?
Welke?Caelorum schreef op dinsdag 14 februari 2012 @ 16:41:
[...]
Ik hoop alleen maar dat ik deze master heb gehaald voordat de onderwijsinspectie bij mijn vorige hogere school langs komt.
Die vakken zijn heel belangrijk (zie mijn rants op Indiase ontwikkelaars). Maar ze zijn veel nuttiger als je ze door de hele opleiding heen doet. Net zoals programmeer-vakken: die moeten ook in elke fase van het programma zitten IMHO. Dan leer je er het meeste van.CodeCaster schreef op dinsdag 14 februari 2012 @ 16:32:
[...]
Gedeeltelijk mee eens - ware het niet dat de opleiding die ik heb gevolgd je breder opleidde dan enkel tot programmeur. Die-hard programmeren leer je toch niet op een brede opleiding? Pas tijdens de minor software engineering (een 'specialisatie' van een half jaar lang) werd het interessant voor mensen met mijn instelling.
De jaren ervoor had je "last" van rare vakken als communicatie (oeh, eng, leren omgaan met (niet-technische) collega's) en bedrijfskunde (oeh, vreemd, een beetje begrijpen hoe je baas en klanten denken), terwijl je je later, gedurende de minor en de jaren daarna, kon specialiseren richting de development-, media-, (systeem)beheer- of (project)managementkant.
Op de TH Rijswijk begon je met een vak 'programmeren in C', en na het tweede jaar was iedereen die niet kon programmeren echt weg. Dat mooiste meisje van de klas moest voor ze wegging nog wel eerst een foto laten maken voor in de brochure
[ Voor 5% gewijzigd door MBV op 14-02-2012 17:03 ]
Heh. Ik weet nog dat in m'n 4e jaar er opeens een best wel leuk chickie zat in onze unix lokalen. Dachten eerst dat ze gewoon verdwaald was, maar toen bleek ze gewoon in te kunnen loggen en Solaris te snappen! Kin > grond. Helaas heeft ze het niet gehaald. Ze kreeg van de helft van de heren enorm veel aandacht en de andere helft durfde niet bij d'r in de buurt te komenMBV schreef op dinsdag 14 februari 2012 @ 16:56:
Op de TH Rijswijk begon je met een vak 'programmeren in C', en na het tweede jaar was iedereen die niet kon programmeren echt weg. Dat mooiste meisje van de klas moest voor ze wegging nog wel eerst een foto laten maken voor in de brochure
In mijn jaar zat alleen bij BI een vrouw. Nouja, van horen zeggen. Ze heette Ursula en werd ook "de beerin" genoemd omdat ze inderdaad gewoon groot en harig was. En naar natte hond stonk.
Those good ol' days!
https://niels.nu
Toen ik een blauwe maandag BI deed liepen er ook 3 vrouwen rond in het T (echniek) gebouw op Windesheim. 2 kenau's en 1 die niet heel lelijk was. Die kregen ook wel veel aandacht.
Hehe... er zijn hier wel meer dingen waar ze eens aandacht aan mogen gaan besteden

Op zich hoeft dat nog niet veel te betekenen. Vanmiddag heeft onze docent java vermeld dat het gemiddelde op de praktijkoefening van het examen 2,2/10 was. Het enige wat we moesten doen was met een RESTful webservice communiceren en een stukje JSON parsen. Dit alles was open boek en 90% van de code stond op BBDat is hiero ongeveer het gevalIk geloof er er van de 12 in mijn groepje 3 of 4 zijn die C++ in een keer hebben gehaald....

[ Voor 51% gewijzigd door Bv202 op 14-02-2012 18:06 ]
Hogeschool van Arnhem en Nijmegen. Hoe langer ik daar weg ben en hoe meer ik met mensen van andere hogescholen praat hoe meer ik ga denken dat ze onder het gemiddelde zaten qua onderwijs.MBV schreef op dinsdag 14 februari 2012 @ 16:56:
[...] Welke? [...]
Nu helpt het wel dat ze eindelijk weer tentamens hebben ingevoerd daar, dus er zit verbetering in. Het jaar dat ik weg was natuurlijk maar ja.
Heb gedurende mijn hele HBO opleiding geen 1 tentamen gedaan en alles aan de hand van wat opdrachtjes en verslagen mogen verantwoorden. Kennis wordt niet echt getoetst iig. Enigste positieve dat ik kan zeggen over de opleiding is dat ik iig wel goed met anderen kan samenwerken, maar echte kennis heb ik allemaal zelf buiten de opleiding om opgedaan, op grofweg twee vakken na. De rest van de vakken was echt van het niveau van een gemiddelde introductie tutorial van 'pak-een-techniek'.
Ze zijn het programma aan het omvormen, maar geen idee of het ten goede komt. Sommige vakken zijn gewoon ondermaats en iedere "simpele" geest kan er zo slagen. Ach ja, ik heb de richting uiteindelijk gewoon gedaan om diploma te halen en stage te doen (+ hopelijk een contract te tekenen). Want tijdens die 2,5 jaar heb ik nu niet zo veel bijgeleerd (op mijn Erasmusperiode na).Bv202 schreef op dinsdag 14 februari 2012 @ 17:54:
[...]
Hehe... er zijn hier wel meer dingen waar ze eens aandacht aan mogen gaan besteden
De enige reden waarom ik (en het grootste deel van mijn klas trouwens) er studeren is omdat er geen talen (en dan vooral Frans) gegeven worden. Na de hervorming (vanaf volgend jaar) zouden deze vakken wel gegeven worden en het zou me niets verbazen dat er dan bijna geen studenten meer overschieten. Misschien dat het betert eenmaal die nieuwe campus gebruikt wordt (een modern gebouw geeft de school toch al een iets beter imago). Het feit dat een groot deel van de huidige studenten niet eens slaagt op de simpelste vakken, zal ook wel iets met het lage niveau te maken hebben.
Ik hoop toch ook vooral volgend jaar een goede stageplaats te vinden. Dat is natuurlijk het belangrijkste van de opleiding. Ik moet wel toegeven dat ik bang ben aan te komen op het bedrijf en zo goed als niets te kunnen wat het bedrijf verwacht van een stagiair.
Ik hoop toch ook vooral volgend jaar een goede stageplaats te vinden. Dat is natuurlijk het belangrijkste van de opleiding. Ik moet wel toegeven dat ik bang ben aan te komen op het bedrijf en zo goed als niets te kunnen wat het bedrijf verwacht van een stagiair.
Ik merk nu overigens hetzelfde, ik ben begonnen met afstuderen, en zit nu in de fase dat ik requirements moet verzamelen, waar ik gewoon niets van af weet. Ik knijp em best wel daardoor, omdat ik bang ben enorm af te gaan bij het verzamelen hiervan morgen. Ontwikkelen heb ik mezelf ook buiten school om aardig aangeleerd, dus als ik daaraan kan beginnen gaat het wel goed komen, maar deze eerste fase doorkomen is echt een rampBv202 schreef op dinsdag 14 februari 2012 @ 18:33:
Ik hoop toch ook vooral volgend jaar een goede stageplaats te vinden. Dat is natuurlijk het belangrijkste van de opleiding. Ik moet wel toegeven dat ik bang ben aan te komen op het bedrijf en zo goed als niets te kunnen wat het bedrijf verwacht van een stagiair.

Ach, dat gaat goed komen hoor. Ik merk ook bij ons dat ze qua analyse fase niet echt verwachten dat je dat zeer goed kan (ze verwachten wel dat je Use Cases en alle meuk van UML onder de knie hebt, maar super goed hoeft dat ook niet; kwestie van het basis te kennen is al goed).
@DEiE: ik zit ook in de analyse fase, requirements etc verzamelen. Ik heb dit aan de hand van user stories gedaan, wat wel handig was. In het begin wist ik niet echt of ik goed bezig was, maar gewoon vragen of jouw begeleider (mentor) even kan komen zien en je hebt al direct een beter beeld.
Een stage is er om bij te leren, niet om te laten zien dat je alles al kent. Dat je iets niet goed weet etc, is echt geen ramp
.
@DEiE: ik zit ook in de analyse fase, requirements etc verzamelen. Ik heb dit aan de hand van user stories gedaan, wat wel handig was. In het begin wist ik niet echt of ik goed bezig was, maar gewoon vragen of jouw begeleider (mentor) even kan komen zien en je hebt al direct een beter beeld.
Een stage is er om bij te leren, niet om te laten zien dat je alles al kent. Dat je iets niet goed weet etc, is echt geen ramp
offtopic:
Deze discussie is wel erg offtopic aan het gaan
.
Deze discussie is wel erg offtopic aan het gaan
[ Voor 5% gewijzigd door Styxxy op 14-02-2012 20:36 ]
Bij mij is het alleen geen stage, maar afstuderen. Stage heb ik intern binnen school gedaan voor een 3d-project. Requirements, etc. kwamen hier ook niet aan bod.
Misschien tijd voor "Het grote stage/afstuderen-topic"?
Misschien tijd voor "Het grote stage/afstuderen-topic"?
Dat moet dan lijkt me wel in de woonkamer->werk en inkomen. Lijkt me daar iets beter passen.DEiE schreef op dinsdag 14 februari 2012 @ 20:38:
Bij mij is het alleen geen stage, maar afstuderen. Stage heb ik intern binnen school gedaan voor een 3d-project. Requirements, etc. kwamen hier ook niet aan bod.
Misschien tijd voor "Het grote stage/afstuderen-topic"?
Anyway, wat moet ik hier van denken?
PHP:
1
2
3
4
5
| if(is_numeric($val) && $val == (int)$val){ do_stuff; } else { return 'incorrect value!'; } |
Redundant code is redundant?
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!
Noem het alsjeblieft Haagse Hogeschool Delft, straks ruïneer je nog iemands leven doordat'ie denkt dat je Inholland bedoelde... (been there, done that)MBV schreef op dinsdag 14 februari 2012 @ 16:20:
[...]
Als ik je 1 gouden tip mag geven: ga eens bij de hogeschool in Delft kijken (http://www.dehaagsehogesc...vt-delft/even-voorstellen). Bij mijn weten zitten er nog steeds een aantal goede docenten van de TH Rijswijk, met een fatsoenlijk programma. De Hogeschool Rotterdam heb ik nog maar weinig goeds over gehoord.
Oeh, InhollandmcDavid schreef op dinsdag 14 februari 2012 @ 20:50:
[...]
Noem het alsjeblieft Haagse Hogeschool Delft, straks ruïneer je nog iemands leven doordat'ie denkt dat je Inholland bedoelde... (been there, done that)
Maar even serieus, in de tijd dat ik nog bij Inholland in Alkmaar rondliep zijn we vrij aardig bezig geweest met programmeren.
Jaar 1: Basics (C#, C en Asp.net). Genoeg BI'ers die uitspraken deden als "Maar ik wil helemaal niet gaan programmeren", maar die hadden pech. Die anti-programmeerhouding heeft mij toen overigens best wel gestoord, waarom is programmeren zo evil voor die mensen?
Jaar 2: OO (Java & UML), boole algebra en embedded systemen programmeren met C en Java
Jaar 3: Veel stages waarbij werd geprogrammeerd (helaas ook een aantal die gingen koffiedrinken bij gemeenten e.d. en het ook gewoon gehaald hebben). En meer embedded programmeren.
Jaar 4: Programmeerklussen voor bedrijven, waarbij vrij geavanceerde .NET zooi werd gebruikt (met eigenlijk alle leuke dingen zoals datastructuren, reflection, design patterns etc.) + ook weer veel afstudeerstages waarbij aardig wat is geprogrammeerd.
^ hierboven staan natuurlijk alleen de direct aan programmeren gerelateerde vakken. Qua wiskunde, economie, databases, netwerken etc. was er nog wel meer natuurlijk.
Heb in dat hele traject aardig wat mensen af zien vallen, ook die wel konden programmeren maar gewoon de breedte van de opleiding niet aankonden en bijv. te hard faalden op zaken als fourier analyses of juist bedrijfseconomie & marketing.
En dan gaat 90% van de studenten uiteindelijk aan de slag als vrij eenzijdig ingezette programmeerslaaf of iets dergelijks, hoezo 'studie iets breder dan je werk'

[ Voor 0% gewijzigd door Ahrnuld op 14-02-2012 22:07 . Reden: Meer toegevoegd ]
Niets...
Ik vind het wel een leuk idee. Ik heb zelf dus een tijd terug een groep gementord en vind dergelijk begeleidend werk wel leuk. Zit zelf ook weer een jaar of 10 in de business en heb dus redelijk wat ervaring opgedaan die ik met plezier deel. Zit zelf meer aan de klant kant dan aan de hardcore programmeer kant, dat laat ik graag aan anderen over.DEiE schreef op dinsdag 14 februari 2012 @ 20:38:
Bij mij is het alleen geen stage, maar afstuderen. Stage heb ik intern binnen school gedaan voor een 3d-project. Requirements, etc. kwamen hier ook niet aan bod.
Misschien tijd voor "Het grote stage/afstuderen-topic"?
Anyway, van een afstudeerder wordt niet verwacht dat 'ie foutloos werkt. Heck, ik werk na 10 jaar ook niet foutloos. Daar heb je peer-reviews voor.
Je moet zelf ook natuurlijk zorgen dat je op de juiste plek terecht komt. Ik weet van toen ik afstudeerde en met 2250 per maand bruto begon dat jaargenoten van mij met ongeveer 1500 bruto begonnen, en dat waren echt geen slechtere programmeurs dan ik. Die zaten gewoon met een HBO diploma op een MBO positie en kregen dus ook voorgekauwde designs uit te programmeren.BerendBoon schreef op dinsdag 14 februari 2012 @ 22:05:
En dan gaat 90% van de studenten uiteindelijk aan de slag als vrij eenzijdig ingezette programmeerslaaf of iets dergelijks, hoezo 'studie iets breder dan je werk'. Volgens mij werden/worden die Inholland diploma's zwaar onderschat.
[ Voor 39% gewijzigd door Hydra op 14-02-2012 22:39 ]
https://niels.nu
Ik wist niet hoe ze de THR tegenwoordig noemenmcDavid schreef op dinsdag 14 februari 2012 @ 20:50:
[...]
Noem het alsjeblieft Haagse Hogeschool Delft, straks ruïneer je nog iemands leven doordat'ie denkt dat je Inholland bedoelde... (been there, done that)

En de Haagse Hogeschool was in mijn tijd (toen ik zocht naar een studie) ook alleen maar bedrijfskunde, op een bijvakje informatica na. Volgens de docent was dat in elk geval niet meer dan 20% van de tijd...
Dat ziet er goed uit, zeker als naast dit verhaal nog wiskunde aanwezig was. Dat heb ik op de THR wel gemist (en was nogal een struikelblok op de TU/e). Schijnt nu beter te zijn trouwens. Maar InHolland in Rotterdam etc staat nou niet echt goed bekend. Was InHolland niet dat bedrijf waar het management zei: "Die jongens van economie hebben 1m2 per student, dat moet vast ook lukken voor werktuigbouw!"BerendBoon schreef op dinsdag 14 februari 2012 @ 22:05:
[...]
Oeh, Inholland![]()
Maar even serieus, in de tijd dat ik nog bij Inholland in Alkmaar rondliep zijn we vrij aardig bezig geweest met programmeren.
[knip]
En dan gaat 90% van de studenten uiteindelijk aan de slag als vrij eenzijdig ingezette programmeerslaaf of iets dergelijks, hoezo 'studie iets breder dan je werk'. Volgens mij werden/worden die Inholland diploma's zwaar onderschat.

Ik ken vooral het andere uiterste. Mijn eerste stage was bij een bedrijf waar 3 TU Delft studenten iets in elkaar hadden gehackt in PHP wat nergens op sloeg, niemand die ze de lering heeft gegund van reviews. Daarna heeft nog iemand er z'n stage aan verprutst, voor ik er kwam. Ik heb daar 1 les geleerd: als je in 1 maand ziet dat het bagger is, moet je vooral niet proberen bugs te gaan fixen, maar gewoon opnieuw schrijvenHydra schreef op dinsdag 14 februari 2012 @ 22:36:
[...]
Ik vind het wel een leuk idee. Ik heb zelf dus een tijd terug een groep gementord en vind dergelijk begeleidend werk wel leuk. Zit zelf ook weer een jaar of 10 in de business en heb dus redelijk wat ervaring opgedaan die ik met plezier deel. Zit zelf meer aan de klant kant dan aan de hardcore programmeer kant, dat laat ik graag aan anderen over.
Anyway, van een afstudeerder wordt niet verwacht dat 'ie foutloos werkt. Heck, ik werk na 10 jaar ook niet foutloos. Daar heb je peer-reviews voor.

[edit]
Oh wacht, is dit het slechte voorbeelden-topic, niet de koffiehoek? Dat stagebedrijf had een systeem dat gegevens monitort, en daar een mooie in C++-geschreven GUI voor heeft (MFC geloof ik). Die GUI applicatie deed ook de regeltechniek. In die applicatie hadden ze een VBScript mogelijkheid gebouwd. Daarin stond een script van 5000 regels (niet leesbaar verder) om de gegevens te exporteren. Dat werd dan via een aanroep naar example.com/whatever.php?data=xyz geexporteerd naar een website, die de gegevens in een database opsloeg. Database was min-of-meer volgens de regels genormaliseerd, maar de code was een onuitwarbare brei PHP, in 3 bestanden. Daarin stonden 3 klasses die als namespaces werden gebruikt, zonder verdere orderning. Een klasse voor elke student... "Het werkt bijna, alleen deze 10 bugs moeten gefixed worden" was mijn opdracht voor de eerste maand. Toen ik na 6 maanden wegging was het bijna af
[ Voor 13% gewijzigd door MBV op 14-02-2012 22:59 ]
Verwijderd
Als BI'er durf ik ook wel te stellen dat het gebrek aan technische kennis echt een manko is, zeker bij de mensen van mijn opleiding. Bij ons was de houding niet veel anders dan bij jou op de opleiding terwijl ik het de absolute basis vind, het is goed om een keer met de voeten in de modder te staan en iets verder te moeten denken dan hoe een recursieve functie werkt. Je krijgt gevoel met de complexiteit van systemen, wat wel werkt en wat niet werkt, waarom sommige zaken op het eerste gezicht simpel lijken maar toch niet zijn en andersom.BerendBoon schreef op dinsdag 14 februari 2012 @ 22:05:
Jaar 1: Basics (C#, C en Asp.net). Genoeg BI'ers die uitspraken deden als "Maar ik wil helemaal niet gaan programmeren", maar die hadden pech. Die anti-programmeerhouding heeft mij toen overigens best wel gestoord, waarom is programmeren zo evil voor die mensen?
In mijn huidige dagelijkse werk als product owner/release manager helpt het mij enorm dat ik die gekke programmeurs behoorlijk goed begrijp.
Ik zou graag zelfs meer programmeervakken willen hebben gehad. Het business deel van de opleiding valt aardig uit de boekjes te leren, het technische inzicht dat gepaard gaat met de voeten in de modder staan is wat dat betreft een stuk lastiger als je het mij vraagt. Ik probeer mezelf nu netjes programmeren aan te leren, maar ik vind het lastig om OO-programmeren volledig autodidactisch op te pakken
Oh, oeps.. altijd weer die getallen die negatief doen..oisyn schreef op dinsdag 14 februari 2012 @ 14:58:
[...]
modulo 2 op een signed int is niet hetzelfde als een bitwise AND met 1. Evenzo is een deling door 2 op een signed int ook niet hetzelfde als een arithmetic shift right met 1.
Voor unsigned klopte mijn opmerking wel

Mierenneukmodus: hamer.Sla(spijker.Kop);
Ik kom nu dit tegen hier op werk
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| public ClassName this[string Element, int Index] { get { try { List<ClassName> res = Items.FindAll(delegate(ClassName Item) { return Item.ID == Element; }); if (Index >= 0 && Index < res.Count) return res[Index] as ClassName; return new ClassName(); } catch { return new ClassName(); } } } |
De try catch is volgens mij overbodig omdat er niets fout kan gaan voor zover ik zie, maar dat vind ik nog niet eens zo heel erg.
De return new ClassName() vind ik zeer lelijk, ik heb liever een null zodat ik weet dat er geen items meer gevonden worden met dit id.
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
That's a bold statement. Je opmerking ging erover dat je compiler het wel omzette, wat natuurlijk maar net van de gebruikte compiler afhangtPiepPiep schreef op woensdag 15 februari 2012 @ 10:32:
[...]
Oh, oeps.. altijd weer die getallen die negatief doen.
Voor unsigned klopte mijn opmerking wel
VC++ 2008 doet wel iets interessants though:
C++:
1
2
3
4
5
6
| #include <cstdlib> int main() { return std::rand() % 2; } |
GAS:
1
2
3
4
5
6
7
8
9
10
11
| int main() { return std::rand() % 2; 00851000 call dword ptr [__imp__rand (8520A0h)] 00851006 and eax,80000001h 0085100B jns main+12h (851012h) 0085100D dec eax 0085100E or eax,0FFFFFFFEh 00851011 inc eax } 00851012 ret |
Ik weet niet of ik nou zo vrolijk word van die conditional branch...
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.
Is gewoon een static method hoorPiepPiep schreef op woensdag 15 februari 2012 @ 10:32:
[...]
Mierenneukmodus: hamer.Sla(spijker.Kop);
Wat als res null is? Dan doet de try/catch z'n werk. Dat zou je natuurlijk wel netter af kunnen vangen door in de if-statement res != null op te nemen ;pPiepPiep schreef op woensdag 15 februari 2012 @ 10:32:
Ik kom nu dit tegen hier op werk
C#:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public ClassName this[string Element, int Index] { get { try { List<ClassName> res = Items.FindAll(delegate(ClassName Item) { return Item.ID == Element; }); if (Index >= 0 && Index < res.Count) return res[Index] as ClassName; return new ClassName(); } catch { return new ClassName(); } } }
De try catch is volgens mij overbodig omdat er niets fout kan gaan voor zover ik zie, maar dat vind ik nog niet eens zo heel erg.
De return new ClassName() vind ik zeer lelijk, ik heb liever een null zodat ik weet dat er geen items meer gevonden worden met dit id.
Nou dat kan je idd netter doen...
Dit is gewoon logic-by-exception dat maakt de duidelijkheid niet echt beter.
Te veel gebruik maken van exceptions heeft trouwens ook een negatief effect op de performance van je code.
Dit is gewoon logic-by-exception dat maakt de duidelijkheid niet echt beter.
en probeer de rest gewoon af te vangen door checks in je code (if object == null, etc)Only use exceptions for things that are truly exceptional...
Te veel gebruik maken van exceptions heeft trouwens ook een negatief effect op de performance van je code.
[ Voor 18% gewijzigd door Laurens-R op 15-02-2012 12:10 . Reden: aanvullingen ]
Verwijderd
Wat ik eerder vreemd vind is dat de delegate volledig uitgeschreven is.. Kan je daar niet beter een Lambda expressie voor gebruiken? (leesbaarder)
Gezien de usage van FindAll() zijn er 2 mogelijkheden:Verwijderd schreef op woensdag 15 februari 2012 @ 12:13:
Wat ik eerder vreemd vind is dat de delegate volledig uitgeschreven is.. Kan je daar niet beter een Lambda expressie voor gebruiken? (leesbaarder)
De code is geschreven op code < 3.0 ofwel heeft de schrijver van die code geen kennis van lamda's / LINQ.
Going for adventure, lots of sun and a convertible! | GMT-8
In Java.
Die Kop met een hoofdletter kan ik niet verklaren.
edit: ik kijk scheef, naamgeving is feest. Ach, ik kijk nu Java-spul van eerstejaars na en dat is pas feest. Één keer had ik CamelCase, underscore-style en nog héél veel andere creatieve naamgevingen voor dezelfde typen, en dat binnen één klasse. Nouja, alle begin is moeilijk.
[ Voor 37% gewijzigd door bwerg op 15-02-2012 12:24 ]
Heeft geen speciale krachten en is daar erg boos over.
In C# hebben methodes en properties een hoofdletter. Zou inderdaad ook Java kunnen zijn, dan is het weer niet zobwerg schreef op woensdag 15 februari 2012 @ 12:20:
[...]
Die Kop met een hoofdletter kan ik niet verklaren.
Wat is hier redundant dan?Firesphere schreef op dinsdag 14 februari 2012 @ 20:45:
Anyway, wat moet ik hier van denken?
PHP:
1 2 3 4 5 if(is_numeric($val) && $val == (int)$val){ do_stuff; } else { return 'incorrect value!'; }
Redundant code is redundant?
is_numeric($val) doet wat anders dan $val == (int)$val
PHP:
1
2
3
| $val = "1e3"; echo is_numeric($val)?'true':'false'; echo ($val == (int)$val)?'true':'false'; |
geeft:
true false
Damn dat is wel erg triest. Waarom is 1e3 geen int? Ik zou louter iets als "1.5" als verschil verwachten.
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.
Omdat't gaat om een url-parameter die toch niets doet als't hele nummer (of voor mijn part tekst) niet bestaat.Erkens schreef op woensdag 15 februari 2012 @ 12:59:
[...]
Wat is hier redundant dan?
is_numeric($val) doet wat anders dan $val == (int)$val
PHP:
1 2 3 $val = "1e3"; echo is_numeric($val)?'true':'false'; echo ($val == (int)$val)?'true':'false';
geeft:
true false
Dan returned'ie dus domweg null.
(ja, beetje out-of-context gehaald)
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 klinkt ook meer als achteraf recht proberen te lullen waarom je het hebt gepost eigenlijkFiresphere schreef op woensdag 15 februari 2012 @ 13:02:
(ja, beetje out-of-context gehaald)
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 ja, het is alsnog redundant voor de situatie. Dus, jep, incomplete information.oisyn schreef op woensdag 15 februari 2012 @ 13:03:
[...]
Het klinkt ook meer als achteraf recht proberen te lullen waarom je het hebt gepost eigenlijk
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!
Ah, van properties wist ik niet, ik snapte er al niks van. Misschien toch maar eens C# leren dan.Avalaxy schreef op woensdag 15 februari 2012 @ 12:42:
[...]
In C# hebben methodes en properties een hoofdletter.
Heeft geen speciale krachten en is daar erg boos over.
Sowieso aparte code:PiepPiep schreef op woensdag 15 februari 2012 @ 10:32:
[...]
Oh, oeps.. altijd weer die getallen die negatief doen.
Voor unsigned klopte mijn opmerking wel![]()
[...]
Mierenneukmodus: hamer.Sla(spijker.Kop);
Ik kom nu dit tegen hier op werk
C#:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public ClassName this[string Element, int Index] { get { try { List<ClassName> res = Items.FindAll(delegate(ClassName Item) { return Item.ID == Element; }); if (Index >= 0 && Index < res.Count) return res[Index] as ClassName; return new ClassName(); } catch { return new ClassName(); } } }
De try catch is volgens mij overbodig omdat er niets fout kan gaan voor zover ik zie, maar dat vind ik nog niet eens zo heel erg.
De return new ClassName() vind ik zeer lelijk, ik heb liever een null zodat ik weet dat er geen items meer gevonden worden met dit id.
Gegeven je null-requirement zou ik er zoiets van maken:The List<T> is not guaranteed to be sorted.
C#:
1
2
3
4
5
6
7
8
9
10
11
| get { try { return Items.FindAll(i => i.ID == Element).OrderBy(i => i.SortField).ElementAt(Index); } catch { return null; } } |
Of, zonder exceptions te "misbruiken" en middels defensief programmeren:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| get { if (Items == null || Index < 0) // || String.IsNullOrEmpty(Element)) return null; var ordered = Items.FindAll(item => item.ID == Element).OrderBy(i => i.SortField); if (Index > (ordered.Count() - 1)) return null; return ordered.ElementAt(Index); } |
[ Voor 3% gewijzigd door CodeCaster op 15-02-2012 14:26 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Over php moeten eigenlijk geen woorden worden vuilgemaakt, maar ik was toch zeer benieuwd waarom dit zo was:.oisyn schreef op woensdag 15 februari 2012 @ 13:01:
Damn dat is wel erg triest. Waarom is 1e3 geen int? Ik zou louter iets als "1.5" als verschil verwachten.
(int)"1e3" == 1 (want php) en (float)"1e3" == 1000.If the string does not contain any of the characters '.', 'e', or 'E' and the numeric value fits into integer type limits (as defined by PHP_INT_MAX), the string will be evaluated as an integer. In all other cases it will be evaluated as a float.
Ik lees daar nog steeds niet waarom het zo is. Ik lees daar dát het zo is 
Het zal wel te maken hebben met het feit dat een literal in C waar een exponent in voorkomt wordt gezien als double. Heb ik ook altijd al raar gevonden, maar soit. atoi() of strtol() snappen ook geen exponenten, en die hebben ze in PHP gewoon gebruikt. Maar in C is het dan iig niet zo dat je een double niet kan assignen aan een int, dus in de praktijk merk je er weinig van.
Het zal wel te maken hebben met het feit dat een literal in C waar een exponent in voorkomt wordt gezien als double. Heb ik ook altijd al raar gevonden, maar soit. atoi() of strtol() snappen ook geen exponenten, en die hebben ze in PHP gewoon gebruikt. Maar in C is het dan iig niet zo dat je een double niet kan assignen aan een int, dus in de praktijk merk je er weinig van.
[ Voor 13% gewijzigd door .oisyn op 15-02-2012 18:24 ]
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.
't is wat mij betreft ook niet echt een programmeertaalTim schreef op woensdag 15 februari 2012 @ 18:06:
[...]
Over php moeten eigenlijk geen woorden worden vuilgemaakt, maar ik was toch zeer benieuwd waarom dit zo was:
[...]
(int)"1e3" == 1 (want php) en (float)"1e3" == 1000.
Dat van e/E wist ik trouwens niet, nooit last van gehad.
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!
Is het ook slecht programmeerwerk dat een user dit te zien krijgt?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| Full compiler error(s): /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:290: cannot resolve symbol symbol : variable SESSION_STATEVERSIONS_LASTDOCID location: class com.wolterskluwer.nl.soo.system.stock.dao.DaoConst ^ /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:292: cannot resolve symbol symbol : method setStateVersions (java.lang.String) location: class com.wolterskluwer.nl.soo.module.doctypes.contentArea.dataobject.DoContentAreaBusiness ^ /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:295: cannot resolve symbol symbol : variable SESSION_STATEVERSIONS_LASTDOCID location: class com.wolterskluwer.nl.soo.system.stock.dao.DaoConst ^ /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:297: cannot resolve symbol symbol : method setStateVersions (java.lang.String) location: class com.wolterskluwer.nl.soo.module.doctypes.contentArea.dataobject.DoContentAreaBusiness ^ /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:298: cannot resolve symbol symbol : variable SESSION_STATEVERSIONS_LASTDOCID location: class com.wolterskluwer.nl.soo.system.stock.dao.DaoConst ^ 5 errors |
Nee, da's normaal toch?Sefyu schreef op woensdag 15 februari 2012 @ 18:41:
Is het ook slecht programmeerwerk dat een user dit te zien krijgt?![]()
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Full compiler error(s): /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:290: cannot resolve symbol symbol : variable SESSION_STATEVERSIONS_LASTDOCID location: class com.wolterskluwer.nl.soo.system.stock.dao.DaoConst ^ /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:292: cannot resolve symbol symbol : method setStateVersions (java.lang.String) location: class com.wolterskluwer.nl.soo.module.doctypes.contentArea.dataobject.DoContentAreaBusiness ^ /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:295: cannot resolve symbol symbol : variable SESSION_STATEVERSIONS_LASTDOCID location: class com.wolterskluwer.nl.soo.system.stock.dao.DaoConst ^ /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:297: cannot resolve symbol symbol : method setStateVersions (java.lang.String) location: class com.wolterskluwer.nl.soo.module.doctypes.contentArea.dataobject.DoContentAreaBusiness ^ /pmumid/NL_PROD/bea/conf/compiledClasses/jsp_servlet/_cl3/_application_45_context/_soo/_modules/_content/__contentarea_45_business.java:298: cannot resolve symbol symbol : variable SESSION_STATEVERSIONS_LASTDOCID location: class com.wolterskluwer.nl.soo.system.stock.dao.DaoConst ^ 5 errors
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!
.oisyn schreef op woensdag 15 februari 2012 @ 18:22:
Ik lees daar nog steeds niet waarom het zo is. Ik lees daar dát het zo is
Juist wel. Zitten ze lekker te devven ... "clickety click ... Hey, da's een handige bug! Kom, ik documenteer het, dan wordt het een feature!". [/obligatory-php-bash]Tim schreef op woensdag 15 februari 2012 @ 18:45:
[...]
Wat is het verschil? Het is php, dus ik vermoed niet dat er iemand bewust over heeft nagedacht (in ieder geval niet bij de initiële implementatie).
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Nog een leuke:
Edit: Nog een bizar verhaal: http://thedailywtf.com/Articles/Ive-Got-Your-Number.aspx
"Je loopt tegen de limieten van je database weg? Dan gooi je toch gewoon de helft weg..."
https://bugs.php.net/bug.php?id=61095Description:
------------
These echoes 4:
echo (0x00+2);
echo (0x00+0x02);
but they should echo 2! This echoes 2 as expected:
echo (0x00 + 2);
Test script:
---------------
echo (0x00+2);
Expected result:
----------------
2
Actual result:
--------------
4
Edit: Nog een bizar verhaal: http://thedailywtf.com/Articles/Ive-Got-Your-Number.aspx
"Je loopt tegen de limieten van je database weg? Dan gooi je toch gewoon de helft weg..."
[ Voor 20% gewijzigd door Freeaqingme op 15-02-2012 20:58 ]
No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.
Die van the daily wtf is fantastisch, voornamelijk die doomsday clock die in de applicatie zit. De ontwikkelaar wist gewoon dat er iets fout zat.Freeaqingme schreef op woensdag 15 februari 2012 @ 20:36:
Nog een leuke:
[...]
https://bugs.php.net/bug.php?id=61095
Edit: Nog een bizar verhaal: http://thedailywtf.com/Articles/Ive-Got-Your-Number.aspx
"Je loopt tegen de limieten van je database weg? Dan gooi je toch gewoon de helft weg..."
Dit kwam ik tegen in een VB6 applicatie die wat data ophaalt uit SAP en het in lokale arrays opslaat. De arrays moeten natuurlijk wel helemaal leeg voordat je iets doet...
De MAXRECORDS variable staat op 5000
code:
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
| Public Function CLEAR_ARRAYS() For I = 1 To MAXRECORDS SAP_VIS_PLANNING(I).ID = 0 SAP_VIS_PLANNING(I).AUFNR = Empty SAP_VIS_PLANNING(I).PLNUM = Empty SAP_VIS_PLANNING(I).STRMP = Empty SAP_VIS_PLANNING(I).WEWRT = Empty SAP_VIS_PLANNING(I).MATNR = Empty SAP_VIS_PLANNING(I).OMSCHRIJVING = Empty SAP_VIS_PLANNING(I).VERPAKKING = Empty SAP_VIS_PLANNING(I).RECEPT_CODE = Empty SAP_VIS_PLANNING(I).RECEPT_OMSCHRIJVING = Empty SAP_VIS_PLANNING(I).CHARG = Empty SAP_VIS_PLANNING(I).CMBWBEST = Empty SAP_VIS_PLANNING(I).H5LINE = Empty SAP_VIS_PLANNING(I).START_DATUM = Empty SAP_VIS_PLANNING(I).START_TIJD = Empty SAP_VIS_PLANNING(I).EIND_DATUM = Empty SAP_VIS_PLANNING(I).EIND_TIJD = Empty SAP_VIS_PLANNING(I).DOWNTIME = Empty SAP_VIS_PLANNING(I).DISPLAY = Empty SAP_VIS_PLANNING(I).BATCH_WEIGHT = 0 SAP_VIS_PLANNING(I).ACTUAL_BATCH = 0 SAP_VIS_PLANNING(I).PLANNED_BATCH = 0 SAP_VIS_PLANNING(I).ACTIVE = Empty SAP_VIS_PLANNING(I).PRODUCED_P = 0 SAP_VIS_PLANNING(I).PRODUCED_E = 0 SAP_VIS_PLANNING(I).REMARKS_P = Empty SAP_VIS_PLANNING(I).REMARKS_E = Empty SAP_VIS_PLANNING(I).R_FIELD = Empty SAP_VIS_PLANNING(I).C_FIELD = Empty SAP_VIS_PLANNING(I).SILOLIST = Empty SAP_VIS_PLANNING(I).REMARKS_GEN_E = Empty SAP_VIS_PLANNING(I).SA_MISSER = Empty SAP_VIS_PLANNING(I).OVERDRAAIEN_E = Empty SAP_VIS_PLANNING(I).FLAG_FOR_DELETION = Empty SAP_VIS_PLANNING(I).REMARKS_Q = Empty SAP_VIS_PLANNING_HISTORY(I).ID = 0 SAP_VIS_PLANNING_HISTORY(I).AUFNR = Empty SAP_VIS_PLANNING_HISTORY(I).PLNUM = Empty SAP_VIS_PLANNING_HISTORY(I).STRMP = Empty SAP_VIS_PLANNING_HISTORY(I).WEWRT = Empty SAP_VIS_PLANNING_HISTORY(I).MATNR = Empty SAP_VIS_PLANNING_HISTORY(I).OMSCHRIJVING = Empty SAP_VIS_PLANNING_HISTORY(I).VERPAKKING = Empty SAP_VIS_PLANNING_HISTORY(I).RECEPT_CODE = Empty SAP_VIS_PLANNING_HISTORY(I).RECEPT_OMSCHRIJVING = Empty SAP_VIS_PLANNING_HISTORY(I).CHARG = Empty SAP_VIS_PLANNING_HISTORY(I).CMBWBEST = Empty SAP_VIS_PLANNING_HISTORY(I).H5LINE = Empty SAP_VIS_PLANNING_HISTORY(I).START_DATUM = Empty SAP_VIS_PLANNING_HISTORY(I).START_TIJD = Empty SAP_VIS_PLANNING_HISTORY(I).EIND_DATUM = Empty SAP_VIS_PLANNING_HISTORY(I).EIND_TIJD = Empty SAP_VIS_PLANNING_HISTORY(I).DOWNTIME = Empty SAP_VIS_PLANNING_HISTORY(I).DISPLAY = Empty SAP_VIS_PLANNING_HISTORY(I).BATCH_WEIGHT = 0 SAP_VIS_PLANNING_HISTORY(I).ACTUAL_BATCH = 0 SAP_VIS_PLANNING_HISTORY(I).PLANNED_BATCH = 0 SAP_VIS_PLANNING_HISTORY(I).ACTIVE = Empty SAP_VIS_PLANNING_HISTORY(I).PRODUCED_P = 0 SAP_VIS_PLANNING_HISTORY(I).PRODUCED_E = 0 SAP_VIS_PLANNING_HISTORY(I).REMARKS_P = Empty SAP_VIS_PLANNING_HISTORY(I).REMARKS_E = Empty SAP_VIS_PLANNING_HISTORY(I).R_FIELD = Empty SAP_VIS_PLANNING_HISTORY(I).C_FIELD = Empty SAP_VIS_PLANNING_HISTORY(I).SILOLIST = Empty SAP_VIS_PLANNING_HISTORY(I).REMARKS_GEN_E = Empty SAP_VIS_PLANNING_HISTORY(I).SA_MISSER = Empty SAP_VIS_PLANNING_HISTORY(I).OVERDRAAIEN_E = Empty SAP_VIS_PLANNING_HISTORY(I).FLAG_FOR_DELETION = Empty SAP_VIS_PLANNING_HISTORY(I).REMARKS_Q = Empty AFKO(I).AUFNR = Empty AFKO(I).GSTRS = Empty AFKO(I).GAMNG = Empty AFKO(I).PLNBEZ = Empty AFKO(I).PLNNR = Empty AFKO(I).RSNUM = Empty AFKO(I).GSUZS = Empty AFKO(I).GLUZS = Empty AFKO(I).GLTRS = Empty AFKO(I).START_DATE = Empty AFKO(I).START_TIME = Empty AFKO(I).END_DATE = Empty AFKO(I).END_TIME = Empty AFKO(I).DOWNTIME = Empty AFKO(I).RECEPT_CODE = Empty AFKO(I).RECEPT_OMSCHRIJVING = Empty AFKO(I).BATCH_WEIGHT = 0 AFKO(I).PLANNED_BATCH = 0 AFKO(I).VERPAKKING = Empty AFKO(I).OMSCHRIJVING = Empty AFKO(I).CHARG = Empty AFKO(I).CMBWBEST = Empty AFKO(I).REMARKS_Q = Empty AFPO(I).AUFNR = Empty AFPO(I).PLNUM = Empty AFPO(I).STRMP = Empty AFPO(I).MATNR = Empty AFPO(I).PSMNG = 0 AFPO(I).WEMNG = 0 CAUFV(I).AUFNR = Empty CAUFV(I).PLNNR = Empty ' KBKO(I).PLNUM = Empty ' KBKO(I).PLNNR = Empty ' KBKO(I).GSTRS = Empty ' KBKO(I).GLTRS = Empty ' KBKO(I).GSUZS = Empty ' KBKO(I).GLUZS = Empty KBED(I).PLNUM = Empty KBED(I).PLNNR = Empty KBED(I).FSTAD = Empty KBED(I).FSTAU = Empty KBED(I).SENDD = Empty KBED(I).SENDU = Empty PLAF(I).PLNUM = Empty PLAF(I).MATNR = Empty PLAF(I).PLWRK = Empty PLAF(I).GSMNG = Empty PLAF(I).PSTTR = Empty PLAF(I).PSTTI = Empty PLAF(I).PEDTI = Empty PLAF(I).START_DATE = Empty PLAF(I).START_TIME = Empty PLAF(I).END_DATE = Empty PLAF(I).END_TIME = Empty PLAF(I).DOWNTIME = Empty PLAF(I).RECEPT_CODE = Empty PLAF(I).RECEPT_OMSCHRIJVING = Empty PLAF(I).BATCH_WEIGHT = 0 PLAF(I).PLANNED_BATCH = 0 PLAF(I).VERPAKKING = Empty PLAF(I).OMSCHRIJVING = Empty PLAF(I).CHARG = Empty PLAF(I).CMBWBEST = Empty PLAF(I).PLNNR = Empty PLAF(I).REMARKS_Q = Empty S035(I).MATNR = Empty S035(I).WERKS = Empty S035(I).LGORT = Empty S035(I).CHARG = Empty S035(I).CMBWBEST = Empty SAP_PRODDATA(I).AUFNR = Empty SAP_PRODDATA(I).MATNR = Empty SAP_PRODDATA(I).MENGE = 0 SAP_PRODDATA(I).ORDERQTY = 0 SAP_PRODDATA(I).ARBPL = 0 SAP_PRODDATA(I).R_CODE = 0 SAP_PRODDATA(I).MAKTX = Empty SAP_PRODDATA(I).COMMISIONING = Empty Next I End Function |
De MAXRECORDS variable staat op 5000
Vallen startdatum en einddatum op dezelfde dag van het jaar?
Geprogrammeerd in 2011, werkt tot eind februari 2012 ...
C#:
1
2
3
4
5
| if (new DateTime(1, startdatum.Month, startdatum.Day) == new DateTime(1, einddatum.Month, einddatum.Day)) { /// doe dingen } |
Geprogrammeerd in 2011, werkt tot eind februari 2012 ...

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
Het werkt daarna toch ook nog wel? Het probleem is dat hij 29 feb waarschijnlijk niet snapt omdat het jaar 1 geen schrikkeljaar 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.
code:
1
2
3
4
5
| Test results for InstrumentationTestRunner=.....E.E.E.E.E.E.E.E.E.E.E.E.E..E. Time: 1303.549 FAILURES!!! Tests run: 20, Failures: 0, Errors: 14 |

Inderdaad. Ik heb het nog aan mijn baas gevraagd maar hij vond 1 volle dag uitval per vier jaar geen optie.oisyn schreef op donderdag 16 februari 2012 @ 18:30:
Het werkt daarna toch ook nog wel? Het probleem is dat hij 29 feb waarschijnlijk niet snapt omdat het jaar 1 geen schrikkeljaar is
Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
Vreemd. Als je de rest van de tijd je applicatie up is, heb je over een periode van 4 jaar toch een redelijke uptime: 1 - (1 / ((4 * 365) + 1)) = 0.999315537 = 99,93% uptime. Als je dat al 4 jaar van te voren weet is dat een perfecte datum om allerlei onderhoudswindows te implementerenkenneth schreef op donderdag 16 februari 2012 @ 21:13:
[...]
Inderdaad. Ik heb het nog aan mijn baas gevraagd maar hij vond 1 volle dag uitval per vier jaar geen optie
No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.
Oh, gewoon jaar 1 aanpassen naar jaar 2100 die wel door 4 deelbaar is

486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22

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.
Met .oysin, maar aangezien er voor 2100 gekozen is ipv 2000 ga ik voor de "Not serious"
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Een applicatie die voor elke parameters die bijgewerkt word een update query afvuurt, waar vervolgens alle parameters instaan.
24 parameters? 24 queries.
16 parameters.. 16 queries..
18 parameters.. 18 queries..
Maar vervolgens geen primary key gebruiken.
Jaa jaaa..
24 parameters? 24 queries.
16 parameters.. 16 queries..
18 parameters.. 18 queries..
Maar vervolgens geen primary key gebruiken.
Jaa jaaa..

Zero SR/S 17.3kWh / 2700WP PV / HRSolar zonneboiler
JavaScript:
1
2
3
4
5
| var endyeardate3 = new Date(baseyear + 3, 0, 1); var daysDiff3 = daysDiff(endyeardate3, endDate); if (daysDiff3 >= 365) { daysDiff3 = 0; } else if (daysDiff3 < 0) { daysDiff3 = 0; } else { addedDays3 = 365 - daysDiff3; } |
Lekker rekening gehouden met schrikkeljaren

We are shaping the future
Ok, ik geef op. Hoe krijgen ze dit nu weer voor elkaar bij PHP?
edit:: blijkbaar splitsen ze bij het tokenizen niets op, waardoor de eerste token feitelijk naar "0x00+2.." wijst, en wordt vervolgens de 0x00 overgeslagen (hex prefix en leading zeroes) waarna de "+2" (die eigenlijk dus geen onderdeel van het token is) als hexadecimaal getal geparset wordt. Blijkbaar worden bij dat tweede deel dus doodleuk weer signs en prefixes geaccepteerd.
Dat is duidelijker in dit voorbeeld:
PHP:
1
| echo 0x00+10; // echoes 26 |
Dit print 26, omdat de "10" bij de eerste token als hexadecimale 16 wordt geparset, en daarna decimaal als 10.
[ Voor 57% gewijzigd door Soultaker op 17-02-2012 14:48 ]
Maar goed, ze zullen het vast niet gaan fixen omdat het de backward comptability breekt. Of moet ik zeggen backwards compatibility van de developers....
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
How backwardJanoz schreef op vrijdag 17 februari 2012 @ 15:02:
Maar goed, ze zullen het vast niet gaan fixen omdat het de backward comptability breekt. Of moet ik zeggen backwards compatibility van de developers....
Dit soort bugs moeten toch bij een hoop devvers voor kopzorgen en nachtmerries zorgen?
Iedereen hier kent het wel, tot laat in de avond debuggen, 100x je code doorlopen, en bijna door het dak gaan als je de bug/oplossing vind..
Ach. Als php developer leer je al snel zo af en toe code te testen als iets niet werkt. Ik heb een miljoen test.php bestandjes van <5 regels om te kijken hoe php dingen cast, referencet, etc (en dan doe ik toch al een jaar of 8 a 9 php).
Leuke van de Zend examens is ook dat een (groot) deel is het leren van bizarre uitzonderingen omdat het ooit een bug was die men niet kon/wou fixen.
* Freeaqingme wijst nog even op het feit dat er geen PHP Language Specification is, en dat de php group die ook niet wilt omdat ze zich daar dan aan zouden moeten committeren...
Leuke van de Zend examens is ook dat een (groot) deel is het leren van bizarre uitzonderingen omdat het ooit een bug was die men niet kon/wou fixen.
* Freeaqingme wijst nog even op het feit dat er geen PHP Language Specification is, en dat de php group die ook niet wilt omdat ze zich daar dan aan zouden moeten committeren...
No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.
In de categorie 'overbodig' kwam ik dit tegen (C#):
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| public class ResultList { private List<Result> m_Results = new List<Result>(); public IList<Result> Results { get { return m_Results; } } public void Add(Result result) { if (result != null) m_Results.Add(result); } public void Add(ResultList resultList) { if (resultList != null) foreach (Result result in resultList.Results) Add(result); } } |
You can't drive your house, but you can sleep in your car!
behalve dat hij geen 'addRange' gebruikt vind ik het nog niet zo raar hoor. Het kan namelijk zo zijn dat hij niet wil dat iedereen bij alle elementen van de List<> mag komen, maar wel dat iedereen mag toevoegen aan die list.De_Delph schreef op maandag 20 februari 2012 @ 13:48:
In de categorie 'overbodig' kwam ik dit tegen (C#):
...
This message was sent on 100% recyclable electrons.
Alleen een beetje overbodig dat er een IList<> wordt teruggegeven in de public property waarop je items kan opvragen, Add, Remove, etc. ook aan te roepen zijn, etc.BasieP schreef op dinsdag 21 februari 2012 @ 08:13:
[...]
behalve dat hij geen 'addRange' gebruikt vind ik het nog niet zo raar hoor. Het kan namelijk zo zijn dat hij niet wil dat iedereen bij alle elementen van de List<> mag komen, maar wel dat iedereen mag toevoegen aan die list.
Aan de andere kant is de manier waarop hij nu werkt wel wel volgens de Law of Demeter.
[ Voor 3% gewijzigd door DEiE op 21-02-2012 08:33 ]
http://chat.onzin.com/popup.js.php?popups=4
Stuk code van mij uit 2007-2008
Stuk code van mij uit 2007-2008
[ Voor 16% gewijzigd door Gamebuster op 21-02-2012 13:35 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Half jaar geleden een offline html werkstijltest gedaan waarvan ik nog even wat bestanden zat door te kijken of het weg kon, zie ik een prachtige nagenoeg perfecte RFC implementatie van emailadres validatie:
JavaScript:
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
| function geldigEmailadres(email) { // deze functie controleert op de juistheid // van de syntax van een emailadres // en geeft true(juiste syntax) // of false(foute syntax) terug var err=false invalidchars = " /:;" // deze karakters mogen niet in het emailadres voorkomen for(i=0;i<invalidchars.length;i++) { //checks for invalid chars badchars = invalidchars.charAt(i) if(email.indexOf(badchars,0)!= -1){ err = true } } atPos = email.indexOf("@",1) //holds position of "@" if(atPos == -1){ //checks to see if "@" present err = true } if(email.indexOf("@",atPos+1) != -1){ //checks for second "@" err = true } periodPos = email.indexOf(".",atPos) //holds position of "." if(periodPos == -1){ //checks for presence of "." err = true } if(periodPos+3 > email.length){ //makes sure at least two chars after the period err = true } // Zijn er geen fouten opgetreden geef dan true terug if (err==false) { return true; } else { return false; } } |
IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB
OF je begruikt gewoon de Unique-key (oftewel ID-veld) uit de database?
PHP:
1
| $this->TempID = md5(rand(1000000000, 9999999999) . rand(1000000000, 9999999999) . rand(1000000000, 9999999999) . rand(1000000000, 9999999999) . rand(1000000000, 9999999999)); |
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!
Na genoeg ja, wantafraca schreef op dinsdag 21 februari 2012 @ 18:02:
Half jaar geleden een offline html werkstijltest gedaan waarvan ik nog even wat bestanden zat door te kijken of het weg kon, zie ik een prachtige nagenoeg perfecte RFC implementatie van emailadres validatie:
JavaScript:
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 function geldigEmailadres(email) { // deze functie controleert op de juistheid // van de syntax van een emailadres // en geeft true(juiste syntax) // of false(foute syntax) terug var err=false invalidchars = " /:;" // deze karakters mogen niet in het emailadres voorkomen for(i=0;i<invalidchars.length;i++) { //checks for invalid chars badchars = invalidchars.charAt(i) if(email.indexOf(badchars,0)!= -1){ err = true } } atPos = email.indexOf("@",1) //holds position of "@" if(atPos == -1){ //checks to see if "@" present err = true } if(email.indexOf("@",atPos+1) != -1){ //checks for second "@" err = true } periodPos = email.indexOf(".",atPos) //holds position of "." if(periodPos == -1){ //checks for presence of "." err = true } if(periodPos+3 > email.length){ //makes sure at least two chars after the period err = true } // Zijn er geen fouten opgetreden geef dan true terug if (err==false) { return true; } else { return false; } }
code:
1
| mijnmooiefautiveemail@fout.org.k |
komt er ook door heen.. zoek dus na de laatste index van de "."
Kun je dan niet veel beter het gedeelte voor de @ met een regExp checken, en het gedeelte er na ook, met eventueel een lijst van domeinextensies waarop je kunt cross-referencen?
Hier moest ik nou om lachen:
getting [object Object] in my jaqueries function
Description
hi , i am new in jquery . i use following code <script src=" http://code.jquery.com/jq...-latest.min.js"></script> <script>var kk = $("err_pos");alert(kk);</script> <div id="err_pos">this is a test form</div>
now ny problem is each time this alert show me as "[object Object]". what it means. m i doing something wrong...??please help
getting [object Object] in my jaqueries function
Description
hi , i am new in jquery . i use following code <script src=" http://code.jquery.com/jq...-latest.min.js"></script> <script>var kk = $("err_pos");alert(kk);</script> <div id="err_pos">this is a test form</div>
now ny problem is each time this alert show me as "[object Object]". what it means. m i doing something wrong...??please help
[ Voor 72% gewijzigd door hopsy op 21-02-2012 19:51 ]
Even verderop wordt er dan ook vrolijk 'Remove' aangeroepen om vervolgens die lijst weer te Adden aan de bestaande ResultList. Anders had ik het nog wel begrepenDEiE schreef op dinsdag 21 februari 2012 @ 08:32:
[...]
Alleen een beetje overbodig dat er een IList<> wordt teruggegeven in de public property waarop je items kan opvragen, Add, Remove, etc. ook aan te roepen zijn, etc.
Aan de andere kant is de manier waarop hij nu werkt wel wel volgens de Law of Demeter.
You can't drive your house, but you can sleep in your car!
Best wel een kansloos filmpje. Dat ziet er een "user uitlach sessie" en "kijk hoe goed we ons wel niet voelen" sessie. Sorry, maar dat is ook maar een beetje zielig. Oké, het kan zijn dat de bugreport an sich wel grappig is, maar de presentatie op dat filmpje (sessie, er zijn namelijk meerdere filmpjes van) is niet grappig. Ik lees dan ook liever de originele bugreport dan het zo gepresenteerd te krijgen.
[ Voor 24% gewijzigd door Styxxy op 22-02-2012 10:14 ]
Ach, als die mannen net een heel weekend een dev summit hebben gehad, en even een half uurtje wat lachwekkende tickets willen doornemen... Prima toch?
Wat moet je met bv dit soort tickets: http://bugs.jquery.com/ticket/7902
Wat moet je met bv dit soort tickets: http://bugs.jquery.com/ticket/7902
[ Voor 20% gewijzigd door Jeldert op 22-02-2012 10:34 ]
Juist
Moah. Het blijft weinig professioneel, zeker aangezien het vervolgens ook op internet verschijnt. Het slaat in dit geval ook nergens op, want het is helemaal geen bijzondere bugreport: het is gewoon een sjakie die niet doorheeft hoe javascript intern precies werkt.Jeldert schreef op woensdag 22 februari 2012 @ 10:31:
Ach, als die mannen net een heel weekend een dev summit hebben gehad, en even een half uurtje wat lachwekkende tickets willen doornemen... Prima toch?
Precies wat ze er mee hebben gedaan: dichtgooien met de opmerkingWat moet je met bv dit soort tickets: http://bugs.jquery.com/ticket/7902
Dát is professioneel met je gebruikers omgaan. Ze publiekelijk uitlachen niet.Thanks for submitting a ticket to the jQuery Bug Tracker. Because your ticket does not contain any information that can be used to discern what problem you're experiencing (no detailed summary, no reduced test case, no code samples) we are closing it as invalid. If you would like to re-submit your ticket as per our guidelines we will be more than happy to revisit it.
[ Voor 3% gewijzigd door ValHallASW op 22-02-2012 10:50 ]
Het gaat om de presentatie qua video. Ik kreeg daarbij gewoon het gevoel van "kijk hoe goed dat we zijn en laten we beginnertjes uitlachen die zogezegde bugs reporten". Nu dat jij zo zegt dat het na een dev summit is, kan ik het al veel beter begrijpen. Dit soort "misverstanden" en verkeerde interpretaties komen voort uit het niet hebben van enige context. Maar het blijft hoe dan ook niet netjes om het zo op Youtube te gooien (krijg je snel het gevoel van "ivory tower").Jeldert schreef op woensdag 22 februari 2012 @ 10:31:
Ach, als die mannen net een heel weekend een dev summit hebben gehad, en even een half uurtje wat lachwekkende tickets willen doornemen... Prima toch?
Daarbij ergerde ik me ook aan de persoon op het filmpje dat met het minste woord hard begon te lachen in die video. Dat maakt het gewoon irritant om naar te kijken.
[ Voor 6% gewijzigd door Styxxy op 22-02-2012 10:53 ]
Of met Project Lombok nog korter:Remus schreef op dinsdag 07 februari 2012 @ 14:55:
[...]
Of Project Lombok downloaden en installeren:
Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 public class Persoon { @Getter @Setter private String naam; @Getter @Setter private String adres; @Getter @Setter private String postcode; @Getter @Setter private Calendar geboortedatum; }
Java:
1
2
3
4
5
6
7
| @Data public class Persoon { private String naam; private String adres; private String postcode; private Calendar geboortedatum; } |
Disclosure: Ik ben één van de Project Lombok ontwikkelaars.
[ Voor 0% gewijzigd door rspilker op 22-02-2012 11:12 . Reden: tikko ]
Verwijderd
Ah, je werkt bij Oracle? (De maker van Java) Of hebben we extra libraries nodig om ^ te bereiken?
.NET 2.0 heeft het helemaal ingebouwd
.NET 2.0 heeft het helemaal ingebouwd
Vanmorgen geregistreerd bij Directleaseplan.nl, en kreeg in plain text mijn wachtwoord toegezonden.
Vanmiddag kon ik niet meer inloggen en kreeg ik via de Wachtwoord vergeten functie nogmaals mijn wachtwoord toegezonden, maar daar was ineens de punt vervangen voor een komma.
Zucht
Vanmiddag kon ik niet meer inloggen en kreeg ik via de Wachtwoord vergeten functie nogmaals mijn wachtwoord toegezonden, maar daar was ineens de punt vervangen voor een komma.
Zucht
Zeer uniek inderdaad:Jeldert schreef op woensdag 22 februari 2012 @ 10:31:
Ach, als die mannen net een heel weekend een dev summit hebben gehad, en even een half uurtje wat lachwekkende tickets willen doornemen... Prima toch?
Wat moet je met bv dit soort tickets: http://bugs.jquery.com/ticket/7902
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| Traceback (most recent call last): File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/api.py", line 436, in send_error data, 'text/html') File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/chrome.py", line 827, in render_template message = req.session.pop('chrome.%s.%d' % (type_, i)) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/api.py", line 212, in __getattr__ value = self.callbacks[name](self) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/main.py", line 300, in _get_session return Session(self.env, req) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/session.py", line 195, in __init__ self.get_session(sid) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/session.py", line 216, in get_session super(Session, self).get_session(sid, authenticated) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/session.py", line 69, in get_session """, (sid, int(authenticated))) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/db/util.py", line 65, in execute return self.cursor.execute(sql_escape_percent(sql), args) File "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", line 166, in execute self.errorhandler(self, exc, value) File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 35, in defaulterrorhandler raise errorclass, errorvalue OperationalError: (2006, 'MySQL server has gone away') |
Haat aan mensen die niet nadenken over regional settings, en maar klakkeloos aannemen dat je met een punt duizendtallen scheidt en met een komma de decimalen.
We are shaping the future
De Nederlandse locale moet sowieso sterven wat dat betreft. Met uitzondering van de datumnotatie dan.
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.
Die mag ook sterven. Allemaal aan de yyyy-mm-dd

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
Dit topic is gesloten.
Let op:
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.
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.