Nothing to see here!
Ik had die zin anders laten eindigenMartindo schreef op vrijdag 16 november 2012 @ 20:24:
Vanavond een avondje alleen thuis, laptop verhuizen naar de woonkamer en dan ook het hoorcollege van DWDD University bekijken
Zit ik er weken naar uit te kijken, mis ik de eerste 10 minutenMartindo schreef op vrijdag 16 november 2012 @ 20:24:
Vanavond een avondje alleen thuis, laptop verhuizen naar de woonkamer en dan ook het hoorcollege van DWDD University bekijken
Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
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!
Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
Echt al de tweede keer deze week, vorige week al met Lucene.NET (deze keer met Caliburn.Micro)
Alle developers die hun documentatie niet bijwerken bij een nieuwe versie op de brandstapel
[ Voor 51% gewijzigd door Avalaxy op 17-11-2012 00:05 ]
Mother north, how can they sleep while their beds are burning?
Verwijderd
1
2
3
4
| for(int i = 0; i < 10000; i++) { cout << blah << endl; } |
Dat vind Qt creator niet leuk Na een paar seconden loopt de app vast. Na het sluiten van de app duurt het nog een paar (~10) seconden voordat hij unfreezet...
Tof, weer een paar nieuwe functies die enorm goed te abusen gaan zijn
[ Voor 25% gewijzigd door armageddon_2k1 op 17-11-2012 17:42 ]
Engineering is like Tetris. Succes disappears and errors accumulate.
https://niels.nu
Engineering is like Tetris. Succes disappears and errors accumulate.
Noess.. Opera 12.10 op Ubuntu heeft bekende beveiligingslekken! Laat maar eens een bron zien dan. Ook vraag ik me af wat IE8 wel kan en Opera niet (op ActiveX na).Uw browser is oud. Het heeft bekende veiligheidslekken en beperkte mogelijkheden, waardoor Marktplaats minder goed werkt.
Hier komt het dus vandaan merk ik nu: http://browser-update.org/nl/update.html. Ik ga ze maar eens mailen hun Google Project page beschrijven denk ik.
En ik blijf maar aanklooien met paginas van Google. YouTube werkt nog wel redelijk, maar filmpjes bufferen duurt ERG lang. Google search (en de linkjes die naar google.com/url oid gaan op bijv. php.net) en Google Project en alles laden hier in zijn geheel niet
[ Voor 46% gewijzigd door marcop23 op 17-11-2012 18:20 ]
Mijn gruwel komt vooral van 1 voorbeeld dat ze zelf geven:armageddon_2k1 schreef op zaterdag 17 november 2012 @ 17:41:
Waarom is het slecht als ik vragen mag? Ze willen de yield keyword introduceren. Waarom zou dat te abusen zijn? Ruby maakt er gretig gebruik van en dat werkt best prima.
1
2
3
4
5
6
7
8
9
10
11
| function fileLogger($fileName) { $fileHandle = fopen($fileName, 'a'); while (true) { fwrite($fileHandle, yield . "\n"); } } $logger = fileLogger(__DIR__ . '/log'); $logger->send('Foo'); $logger->send('Bar'); |
Maar goed, misschien ben ik wat te pessimistisch
marcop23 schreef op zaterdag 17 november 2012 @ 18:08:
Van vernieuwd.marktplaats.nl:
[...]
Noess.. Opera 12.10 op Ubuntu heeft bekende beveiligingslekken! Laat maar eens een bron zien dan. Ook vraag ik me af wat IE8 wel kan en Opera niet (op ActiveX na).
Hier komt het dus vandaan merk ik nu: http://browser-update.org/nl/update.html. Ik ga ze maar eens mailen hun Google Project page beschrijven denk ik.
[...]
1
2
3
4
5
6
7
8
9
10
| isUnsupportedBrowser: function (bv) { if (!bv.browser || !bv.version) { return false; } if ((bv.browser === "mozilla" && bv.version < 11) || (bv.browser === "msie" && bv.version < 8) || (bv.browser === "chrome" && bv.version < 20) || (bv.browser === "safari" && bv.version < 5) || (bv.browser === "opera")) { return true; } else { return false; } } |
Het lijkt er op dat ze gewoon geen zin hadden in Opera
Maar geef eens aan waarom jij denkt dat die constructie gevoelig is voor exploits?StM schreef op zaterdag 17 november 2012 @ 18:39:
[...]
Mijn gruwel komt vooral van 1 voorbeeld dat ze zelf geven:
PHP:
1 2 3 4 5 6 7 8 9 10 11 function fileLogger($fileName) { $fileHandle = fopen($fileName, 'a'); while (true) { fwrite($fileHandle, yield . "\n"); } } $logger = fileLogger(__DIR__ . '/log'); $logger->send('Foo'); $logger->send('Bar');
Maar goed, misschien ben ik wat te pessimistisch
Driving a cadillac in a fool's parade.
Tuurlijk. Maar als je met een fatsoenlijk framework werkt met fatsoenlijke collections zitten daar normaal default al fatsoenlijke iterators bij ingebakkenarmageddon_2k1 schreef op zaterdag 17 november 2012 @ 17:48:
Het yield keyword kan je wel voor heel veel iterator achtige dingen toe passen. Er zijn genoeg dingen te verzinnen naast een file-iterator :-)
https://niels.nu
Martindo schreef op zaterdag 17 november 2012 @ 23:52:
Tja, dan denk je dat een lekker dev-avondje hebt, en dan ga je toch maar DWDD University kijken.
Toch best duizelingwekkende materie... Maar wel boeiend
Vond het wel leuk dat ik bepaalde zaken herkende, lag ook wel dubbel toen in de webverlenging de opmerkingn naar voren kwam dat Schrodinger niet echt vriendelijk was voor zijn kat
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Neem bijvoorbeeld die van vrijdag, hij heeft het een paar keer over "lichtdeeltjes", maar laat geen enkele keer de term "foton" vallen, terwijl ik zeker weet dat de meeste mensen daar weleens van hebben gehoord. Of die vraag op het eind dat atomen niet door elkaar heengaan terwijl ze voor het grootste gedeelte leeg zijn. Vervolgens komt ie met een vaag kort antwoord over dat sommige deeltjes niet beide op dezelfde plek kunnen zijn (oftewel het Pauli exclusion principle), terwijl dat er weinig mee te maken heeft, en de daadwerkelijke reden is ook veel intuitiver voor de meeste mensen: het simpele feit dat de negatief geladen electronenwolken om de atomen elkaar afstoten. Gewoon de electromagnetische kracht aan het werk dus.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Daar heb je wel een punt. Nu kijk ik meestal wel naar dat soort programma's om te kijken of er nieuwe dingen in zitten. Maar meestal draait het uit op een feest van herkenning en leer je niet zo heel veel extra..oisyn schreef op zondag 18 november 2012 @ 14:25:
Die over de oerknal heb ik bijgewoond, over het allerkleinst heb ik vrijdag op TV gekeken. Tja, wat zal ik er van zeggen. Ik snap dat het wellicht wel interessant is als je er nog totaal niets van weet, maar zodra je ook maar een beetje kennis hebt dan is er eigenlijk nog maar weinig aan.
Maar aan de andere kant is het wel weer gaaf om te zien hoe snel de ontwikkelingen gaan. Toen ik op de middelbare school nog natuurkunde en scheikunde kreeg waren een hoop dingen nog vaag, onbekend of onbewezen (het Higgs deeltje is ook pas recentelijk aangetoond).
Vind het jammer dat er vroeger nooit echt van dat soort "instap" programma's waren, ik weet zeker dat ik mijzelf als kind dan nog voller had gezogen met kennis
Het was inderdaad wel jammer dat er niet echt diep op dingen werd ingegaan. Hij gaf bijvoorbeeld aan dat er heel veel soorten deeltjes waren (ben het aantal vergeten
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
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.
True, het is niet aangetoond, maar aan de andere kant als ik dit soort filmpjes bekijk is het toch wel aan zekerheid grenzende waarschijnlijkheid. Maar bottemline is het inderdaad nog niet 'bewezen' dus je hebt gelijk. Zeker als wetenschapper moet je gewoon die nuance aan blijven brengen tot het echt bewezen is, anders is het voor de mensen die er niet in zitten helemaal niet meer bij te houden.oisyn schreef op zondag 18 november 2012 @ 15:53:
17, en hij ging z'n boekje te buiten door te zeggen dat de Higgs is aangetoond terwijl dat nog niet zeker is
Vaste worker role die om de 10 minuten een nieuwe index maakt van m'n database, deze in de BLOB storage opslaat en via geo replication repliceert naar andere servers. Vervolgens kan ik gewoon via een andere server zoekopdrachten uitvoeren.
Het is niet alleen razendsnel, het werkt ook briljant dat ik boosts aan kan geven per field. Een bepaalde zoekterm die in de titel voorkomt is bv. belangrijker dan wanneer die term in de naam van een auteur of uitgeverij voorkomt.
* Avalaxy trots is
ik wil met een website gehost door een externe partij controleren of een pc in mijn lan aan staat (en als dat niet het geval is een WoL-pakketje sturen)...
php is serverside dus dat lukt niet, javascript idem dito...
tot zo ver mijn zondagavond
Verwijderd
Wellicht kun je je afvragen welke PC dat WOL-pakketje moet sturen.
de pc waarop je de webpagina opvraagt moet 't pakketje versturen, dat is namelijk de enige die in hetzelfde netwerk als het target zit (de webserver niet zoals gezegd)...Verwijderd schreef op zondag 18 november 2012 @ 21:31:
Javascript serverside?
Wellicht kun je je afvragen welke PC dat WOL-pakketje moet sturen.
breinbrekertje voor de zondagavond (en dat voor de hobby
Verwijderd
[ Voor 25% gewijzigd door Verwijderd op 18-11-2012 22:24 ]
daar was ik inderdaad ook op uitgekomen! ga daar (volgend weekend pas helaas) maar eens induikenVerwijderd schreef op zondag 18 november 2012 @ 22:12:
activeX natuurlich.
Je zal naar iets als raw sockets moeten zoeken dat op een server in jouw netwerk kan draaien, waarschijnlijk bestaan er wel PHP-scripts voor.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Daar zou ik tegenwoordig niet meer induiken, maar simpelweg links laten liggen.Kips schreef op zondag 18 november 2012 @ 22:18:
[...]
daar was ik inderdaad ook op uitgekomen! ga daar (volgend weekend pas helaas) maar eens induiken
Richt gewoon een xamp oid server in op je thuiscomputer, dan kan je inet pagina daar een request doen die weer een WOL signaal binnen je interne netwerk verzend.
Hint : Hij zit niet ergens anders...CodeCaster schreef op zondag 18 november 2012 @ 22:26:
ActiveX is een browser-technologie, hoe wilde je dat iets binnen je netwerk laten uitvoeren als je ergens anders zit?
Verwijderd
een xampserver is geen optie helaas, anders zou ik de pc die ik wakker wil maken wel gewoon aan laten staan...Gomez12 schreef op maandag 19 november 2012 @ 00:22:
[...]
Daar zou ik tegenwoordig niet meer induiken, maar simpelweg links laten liggen.
Richt gewoon een xamp oid server in op je thuiscomputer, dan kan je inet pagina daar een request doen die weer een WOL signaal binnen je interne netwerk verzend.
[...]
Hint : Hij zit niet ergens anders...
waarom activeX links laten liggen?
die had ik ook gevonden, maar die werkt dus alleen als de webserver in hetzelfde netwerk zit als de pc die aangezet moet worden.
Verwijderd
Enne, je sarcasme meter is stuk. ActiveX was 5 jaar geleden al niet aan te raden vanwege de veiligheidslekken en wordt nu helemaal nergens meer gebruikt mag ik hopen.
In dat voorbeeld gebruiken ze zelfs een DynDNS voorbeeld om zijn externe IP op te vragen. Je moet dan alleen de juiste portmapping doen wat ook vermeld staat onder het codevoorbeeld.Kips schreef op maandag 19 november 2012 @ 07:56:
die had ik ook gevonden, maar die werkt dus alleen als de webserver in hetzelfde netwerk zit als de pc die aangezet moet worden.
Glass Eye Photography | Zelfbouw wireless fightstick | Mijn puzzel site
Blijkt dat geen _enkele_ gebruiker deze zogenaamde "beaten path" gebruikt...
Had t kunnen weten natuurlijk
Lol, nu nog? Beetje laat, niet?TheNephilim schreef op maandag 19 november 2012 @ 10:56:
Hmmmm, btw van 19 naar 21% aanpassen in een webshop. Niet door ons gemaakt, basis lijkt CodeIgniter... dat word zoekeeen!
.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Tjah, ik krijg een mailtje van een goede klant van ons (grafisch bureau), of ik even naar de webshop van een klant van hun wil kijken. Inderdaad, ik dacht ook al van, dat is best wel laat.
Application/config, daar verwachtte ik het een en ander te vinden
Edit: Ah, het staat allemaal in de database. Helaas niet te wijzigen vanuit het CMS, dus maar zoeken in phpmyadmin dan.
[ Voor 12% gewijzigd door TheNephilim op 19-11-2012 11:05 ]
Gomez12 schreef op maandag 19 november 2012 @ 00:22:
Hint : Hij zit niet ergens anders...
Dan kun je wel een leuke ActiveX- of Java-plugin op je webpagina zetten, maar zodra die website dan van buiten het netwerk wordt bezocht kun je alsnog niks. Ik begrijp dat dat niet hoeft te kunnen:Kips schreef op zondag 18 november 2012 @ 21:24:
website gehost door een externe partij
Maar dan nog is een dergelijke oplossing de minst flexibele en herbruikbare. Het is lastig om vanuit de browser sockets aan te spreken.Kips schreef op zondag 18 november 2012 @ 21:59:
de pc waarop je de webpagina opvraagt moet 't pakketje versturen, dat is namelijk de enige die in hetzelfde netwerk als het target zit (de webserver niet zoals gezegd)...
Als je binnen het netwerk een machine hebt die altijd aan staat, zoals een router, server, mediaspeler of NAS, kun je daarop een via HTTP bereikbaar script zetten (PHP, ASP, whatever) dat het magische pakketje op aanvraag kan versturen, en dit script spreek je dan aan via de browser of vanaf de webserver.
Als je echt geen apparaat hebt waarvan je kunt uitgaan dat het aan staat, en je bevindt je altijd op het lokale netwerk, dan zul je inderdaad toch naar een browser-plugin of applet moeten kijken, omdat de browser zelf deze techniek simpelweg niet ontsluit naar de gebruiker. Het zou echter mijn last resort zijn.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Verwijderd
En dan maar hopen dat het niet door malle eppie geprogrameerd is onder het mom van "BTW is toch altijd 19%, dat hoef ik vast niet globaal te definieren..."TheNephilim schreef op maandag 19 november 2012 @ 10:56:
Hmmmm, btw van 19 naar 21% aanpassen in een webshop. Niet door ons gemaakt, basis lijkt CodeIgniter... dat word zoekeeen!
Of nog erger: "Laten we het globaal definiëren, maar net niet op alle plaatsen gebruik maken van die setting"Verwijderd schreef op maandag 19 november 2012 @ 11:20:
[...]
En dan maar hopen dat het niet door malle eppie geprogrameerd is onder het mom van "BTW is toch altijd 19%, dat hoef ik vast niet globaal te definieren..."
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
We are shaping the future
Maw, hij moest eruit, en wel nu
* D-Raven denkt hmm, ik heb iets puntigs nodig om mee te pulken.. ah een vork..
3 seconden later: Rats! schiet uit met de vork, onder de nagel van mn duim, zo schuin in de huid langs de rand van mn vinger..
FUUUUUUUUUUUUU
Maar hij is eruit.. kut-knoop
Jah, tot zover is het resultaat:Verwijderd schreef op maandag 19 november 2012 @ 11:20:
[...]
En dan maar hopen dat het niet door malle eppie geprogrameerd is onder het mom van "BTW is toch altijd 19%, dat hoef ik vast niet globaal te definieren..."
1
2
3
4
5
6
| function inclTax($amount) { $btw = Ws_functions::getSetting('btw'); $amount = $amount * (($btw / 100) + 1); return $amount; } |
en een
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| public function getSetting($name) { $this->db->select('value'); $this->db->from('ws_settings'); $this->db->where('name', $name); $select_settings = $this->db->get(); foreach ($select_settings->result() as $row) { } if ($row->value == 'true') { return true; } else if ($row->value == 'false') { return false; } else { return $row->value; } } |
Dus het zou best simpel moeten zijn
Verwijderd
Wat dacht je dan van een boolean met de waarden 'YES' and 'NO' ...alienfruit schreef op maandag 19 november 2012 @ 11:33:
Brrr. Mensen die true en false in een tabel opslaan als tekst
Gelukkig wel consequent (want in het eerste ontwerp werden ook J/N, 1/0 en Y/N gebruikt).
http://php.net/manual/en/function.each.php
[ Voor 58% gewijzigd door lauwsa op 19-11-2012 11:43 ]
Dat niet alleen, als dit echt de productiecode is, dan wordt voor het opvragen van een setting iedere keer een querie afgeschoten richting de database. Vooral geen settings cachen, laat staan alle settings in 1x ophalen en die cachen.alienfruit schreef op maandag 19 november 2012 @ 11:33:
Brrr. Mensen die true en false in een tabel opslaan als tekst
Breek me de bek niet openVerwijderd schreef op maandag 19 november 2012 @ 11:40:
[...]
Wat dacht je dan van een boolean met de waarden 'YES' and 'NO' ...
Gelukkig wel consequent (want in het eerste ontwerp werden ook J/N, 1/0 en Y/N gebruikt).
Vorige week nog een bug lopen zoeken (tig jaar oude code..), waarbij uiteindelijk bleek dat de code alleen 'J' en 'N' zag als geldige boolean waarden uit de database... en 'j' en 'n' niet. Laat staan dat het echt als boolean was opgeslagen...
Tja, het is duidelijk een settings-tabel. Of dat handig is is een aparte discussie, maar hoe zou jij dan verschillende datatypen in 1 tabel opslaan? Een kolom voor ieder type?alienfruit schreef op maandag 19 november 2012 @ 11:33:
Brrr. Mensen die true en false in een tabel opslaan als tekst
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.
Who needs datatypes?
We are shaping the future
Het is vandaag weer echt kleine klusjes/dingetjes/afrond-spulletjes dag...
Ik had nog een kolom toegevoegd waarin het type staat. I.p.v. een beetje uitvogelen welk type het nu eigenlijk zou kunnen zijn..oisyn schreef op maandag 19 november 2012 @ 11:45:
[...]
Tja, het is duidelijk een settings-tabel. Of dat handig is is een aparte discussie, maar hoe zou jij dan verschillende datatypen in 1 tabel opslaan? Een kolom voor ieder type?
1
2
3
4
| Name | Value | Type --------+-------+--------- BTW | 19 | double Enabled | true | boolean |
Nu doe je de aanname dat de database niet al aan caching doet. Pas als je echt performance-hits gaat krijgen van dit soort zaken kun je ze beter wegwerken, anders heb je er bij het ontwikkelen en troubleshooten alleen maar een laag aan potentiële problemen bij. De verbinding naar de database is in 99%* van de gevallen toch al nodig om de request te kunnen uitvoeren (productdata ophalen bijvoorbeeld).GateKeaper schreef op maandag 19 november 2012 @ 11:43:
[...]
Dat niet alleen, als dit echt de productiecode is, dan wordt voor het opvragen van een setting iedere keer een querie afgeschoten richting de database. Vooral geen settings cachen, laat staan alle settings in 1x ophalen en die cachen.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
In een configfile staat je config ook als tekst. Boeiend.alienfruit schreef op maandag 19 november 2012 @ 11:33:
Brrr. Mensen die true en false in een tabel opslaan als tekst
Het is een config. Dan weet je als developer ook wel dat hostname een string is en port een integer.GateKeaper schreef op maandag 19 november 2012 @ 11:48:
Ik had nog een kolom toegevoegd waarin het type staat. I.p.v. een beetje uitvogelen welk type het nu eigenlijk zou kunnen zijn.
TheRealWTF is gewoon dat een PHP developer hiertoe min of meer gedwongen wordt omdat er standaard geen applicationscope is maar alleen maar een request scope. Dit kun je een beginner (/php developer) niet aanrekenen: het framework geeft je hier niet bepaald de beste tools voor.GateKeaper schreef op maandag 19 november 2012 @ 11:43:
Dat niet alleen, als dit echt de productiecode is, dan wordt voor het opvragen van een setting iedere keer een querie afgeschoten richting de database. Vooral geen settings cachen, laat staan alle settings in 1x ophalen en die cachen.
[ Voor 76% gewijzigd door Hydra op 19-11-2012 11:58 ]
https://niels.nu
%windir%\System32\Drivers\etc\services
Vind dit zo'n typische reactie. Je snapt best wat ik bedoel en dan toch over dit soort details gaan nitpicken.Davio schreef op maandag 19 november 2012 @ 12:55:
Port hoeft niet per se een integer te zijn.
%windir%\System32\Drivers\etc\services
https://niels.nu
Ik lees een artikel waar men probeert for-loopjes te voorkomen. Wat bedoel je precies want zover ik kan zien is dit een repost van een tweet van ene @carlokok. Tenzij jij dat natuurlijk bentalienfruit schreef op maandag 19 november 2012 @ 11:31:
Why java devs rarely finish something: http://t.co/RxetIPRW
Engineering is like Tetris. Succes disappears and errors accumulate.
"Java-devs krijgen nooit iets gedaan omdat ze aan over-archeticture doen" komt zijn stelling op neer geloof ik. In die link wordt een functie met 4 regels code herschreven naar 1 regel maar waarbij dan x-aantal classes en interfaces voor worden geimplementeerd. Het artikel is niet serieus bedoeld (dat hoop ik toch).armageddon_2k1 schreef op maandag 19 november 2012 @ 13:13:
[...]
Ik lees een artikel waar men probeert for-loopjes te voorkomen. Wat bedoel je precies want zover ik kan zien is dit een repost van een tweet van ene @carlokok. Tenzij jij dat natuurlijk bent
Engineering is like Tetris. Succes disappears and errors accumulate.
En ik vind jouw reactie weer zo een typische reactie: je geeft een specificatie, die blijkt fout/incompleet te zijn, je wordt er op gewezen en dan is het van 'je snapt best wat ik bedoel'...Hydra schreef op maandag 19 november 2012 @ 13:08:
[...]
Vind dit zo'n typische reactie. Je snapt best wat ik bedoel en dan toch over dit soort details gaan nitpicken.
Dat is net het type reacties waar ik het van kan krijgen, en meteen de reden dat er een hoop fouten gemaakt worden in software: we hebben niet allemaal een kristallen bol die de exacte specificaties toont wat een of andere 'klant' weer zit te bekokstoven.
[/einde "het is weer zo een maandag"-rant]
De makkelijkste manier om hyprocrieten boos te krijgen? Confronteer ze met hun eigen uitspraken...
Het is een uit de losse hand geschreven voorbeeld in een koffietopic. Jij maakt er een specificatie van.roeleboel schreef op maandag 19 november 2012 @ 13:53:
[...]
En ik vind jouw reactie weer zo een typische reactie: je geeft een specificatie, die blijkt fout/incompleet te zijn, je wordt er op gewezen en dan is het van 'je snapt best wat ik bedoel'...
Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
Er is zo veel mis met die code, maar het enige valide punt dat 'ie heeft is dat resource.LastContract().deadline().after(new Date()) daar niet hoort.Otherside1982 schreef op maandag 19 november 2012 @ 13:30:
Het artikel is niet serieus bedoeld (dat hoop ik toch).
De methode Department.printSlips() moet, zo haal ik uit de code, van alle resources binnen dat department de laatste contracten printen waarbij de deadline van dat contract na de huidige datum liggen. Afhankelijk van de herbruikbaarheid van dat predicaat ("laatste contracten waarbij de deadline van dat contract na de huidige datum liggen") zou je dát kunnen abstraheren naar een aparte methode of op z'n plek kunnen zetten in de bijbehorende klasse.
Hij claimt dat dit "something more readable and well designed" en "readable line with the same level of abstraction" is:
1
2
3
| public void printSlips() { new ResourceOrderedCollection(this.resources).select(new InForcePredicate()).forEachDo(new PrintSlip()); } |
Laat de "not sure if serious" maar weg, want dit moet wel een troll zijn. Toch?
Ik zou er dit van maken:
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 Department { public void printSlips() { Date today = new Date(); for (Resource resource : resources) { if(resource.HasLastContractWithDeadlineAfter(today)) { SlipPrinter.printSlip(resource); } } } } public static class SlipPrinter { public static void printSlip(Resource resource) { System.out.println(resource.name()); System.out.println(resource.salary()); } } public class Resource { public boolean HasLastContractWithDeadlineAfter(Date date) { return this.lastContract().deadline().after(date) } } |
Uiteindelijk wil je wel iets als lambda's, zodat je over een reeds gefilterde lijst kunt itereren (for (resource : resources.Where(r => r.HasLastContractWithDeadlineAfter(today)))). Maar of je nou moeilijk doet met iterators en je logica in een generiek genaamde klasse stopt, je moet uiteindelijk een keer over je collectie wandelen. Het probleem zit niet in de for.
Het is een discussie, geen specificatie. Als het om configuratie gaat, heeft Hydra gewoon gelijk: je wéét wat je op die plek kunt verwachten. Succes met "%windir%\System32\drivers\services" passen aan de constructor van een socket, als poortparameter.roeleboel schreef op maandag 19 november 2012 @ 13:53:
En ik vind jouw reactie weer zo een typische reactie: je geeft een specificatie, die blijkt fout/incompleet te zijn, je wordt er op gewezen en dan is het van 'je snapt best wat ik bedoel'...
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Dat. Als ik hier in detail specificaties moet gaan schrijven mag je me eerst ff het factuuradres mailen.kenneth schreef op maandag 19 november 2012 @ 13:56:
[...]
Het is een uit de losse hand geschreven voorbeeld in een koffietopic. Jij maakt er een specificatie van.
https://niels.nu
Ik heb eerder problemen met het 'maar je weet wel wat ik bedoel' deel, dat is namelijk het deel dat mijn leven (en dat van vele mede-ontwikkelaars) het leven WEL zuur maakt...
De makkelijkste manier om hyprocrieten boos te krijgen? Confronteer ze met hun eigen uitspraken...
Het is als developer je taak om goeie specificaties los te peuteren. Naderhand aan klagen dat het niet duidelijk is, is luiheid. Je had vooraf de specificaties strak moeten trekken. Een niet techneut kan namelijk onmogelijk inschatten welke specificaties jij nodig hebt.roeleboel schreef op maandag 19 november 2012 @ 14:15:
Ik heb eerder problemen met het 'maar je weet wel wat ik bedoel' deel, dat is namelijk het deel dat mijn leven (en dat van vele mede-ontwikkelaars) het leven WEL zuur maakt...
[ Voor 8% gewijzigd door Hydra op 19-11-2012 14:23 ]
https://niels.nu
Het probleem daarbij is dat je als developer lang niet altijd 100% kennis hebt van het vakgebied of de context die gebruiker heeft bij de gespecificeerde functionaliteit. In theorie heb je gelijk, en het is ook iets om na te streven. Maar 100% haalbaar is het volgens mij in veel gevallen niet.Hydra schreef op maandag 19 november 2012 @ 14:23:
[...]
Het is als developer je taak om goeie specificaties los te peuteren. Naderhand aan klagen dat het niet duidelijk is, is luiheid. Je had vooraf de specificaties strak moeten trekken. Een niet techneut kan namelijk onmogelijk inschatten welke specificaties jij nodig hebt.
Neemt niet weg dat er over het algemeen teveel aannames worden gedaan.
Oh please, je wordt aangevuld op je eigen voorbeeld, komt zelf af met 'je moet maar weten wat ik bedoel', en dan zelf gaan beweren dat je goeie specs zelf moet lospeuteren?Hydra schreef op maandag 19 november 2012 @ 14:23:
[...]
Het is als developer je taak om goeie specificaties los te peuteren. Naderhand aan klagen dat het niet duidelijk is, is luiheid. Je had vooraf de specificaties strak moeten trekken. Een niet techneut kan namelijk onmogelijk inschatten welke specificaties jij nodig hebt.
jou wel aanvullen => mag niet want 'je moet maar weten wat ik bedoel'
jou niet aanvullen met voorbeelden uit praktijk die aantonen dat het niet altijd zo werkt => lui
????
Hoe moet een developper ze dan lospeuteren als ie toch maar moet weten wat je bedoelt?
En ja, dat soort idiote onzin krijg ik véél te vaak mee te maken - en ja, 't is maandag dus dan mag ik grommelen vloeken & zeuren! ZEKER in een uitlaatkleptopic!
(nvdr: niet persoonlijk he, over het algemeen kan ik jouw input best wel waarderen, juist die ene zin schopte tegen het verkeerde been nadat ik er wéér eens gedoe over gehad heb hier)
nvdr2: voor de eventuele reageerders: reageer aub op HEEL de post, niet op een snippet
De makkelijkste manier om hyprocrieten boos te krijgen? Confronteer ze met hun eigen uitspraken...
Nogmaals, wat ik schreef was een voorbeeld uit de losse pols en geen specs. Jij vind het niet leuk dat men niet ingaat op je rant, en als ik daar op reageer is het weer niet goed?roeleboel schreef op maandag 19 november 2012 @ 14:30:
Oh please, je wordt aangevuld op je eigen voorbeeld, komt zelf af met 'je moet maar weten wat ik bedoel', en dan zelf gaan beweren dat je goeie specs zelf moet lospeuteren?
jou wel aanvullen => mag niet want 'je moet maar weten wat ik bedoel'
jou niet aanvullen met voorbeelden uit praktijk die aantonen dat het niet altijd zo werkt => lui
Je koppelt twee dingen aan elkaar die volledig los van elkaar staan. En sorry hoor, als dat stukje wat ik schreef dat je er vanuit moest gaan dat een port een int is bij jullie door moet gaan voor 'specificaties' dan heb je gewoon een slechte werkgever. Reken dat mij dan niet aan wil je?????
Hoe moet een developper ze dan lospeuteren als ie toch maar moet weten wat je bedoelt?
Ik vind prima dat je gaat zitten zeuren maar ga je dan niet af zitten reageren op iemand hier. Schop tegen een boksbal aan ofzo.En ja, dat soort idiote onzin krijg ik véél te vaak mee te maken - en ja, 't is maandag dus dan mag ik grommelen vloeken & zeuren! ZEKER in een uitlaatkleptopic!
(nvdr: niet persoonlijk he, over het algemeen kan ik jouw input best wel waarderen, juist die ene zin schopte tegen het verkeerde been nadat ik er wéér eens gedoe over gehad heb hier)
nvdr2: voor de eventuele reageerders: reageer aub op HEEL de post, niet op een snippet
Daarom werk je in een team. Een klant heeft 100% domeinkennis en 0% technische kennis, onze developers hebben 200% technische kennis en 10% domeinkennis, en ik zit daar dan tussenin. Iets over een schoenmaker en z'n leest enzoHoogie2004 schreef op maandag 19 november 2012 @ 14:25:
Het probleem daarbij is dat je als developer lang niet altijd 100% kennis hebt van het vakgebied of de context die gebruiker heeft bij de gespecificeerde functionaliteit. In theorie heb je gelijk, en het is ook iets om na te streven. Maar 100% haalbaar is het volgens mij in veel gevallen niet.
Ja, omdat veel mensen gewoon lui zijn. "Het zal wel goed zijn". Den Nederlander heeft het zesjes denken tot ware kunst verheven.Neemt niet weg dat er over het algemeen teveel aannames worden gedaan.
[ Voor 24% gewijzigd door Hydra op 19-11-2012 14:37 ]
https://niels.nu
Nofi.. maar we gaan niet luisteren naar advies van Clippit.
https://niels.nu
Tuurlijk welHydra schreef op maandag 19 november 2012 @ 15:02:
Jochies; dat mensen het met elkaar oneens zijn betekent niet dat we met elkaar op de vuist willen.
Nothing to see here!

Dan nog wat positiefs nieuws: zojuist een (junior) developer aangenomen, eerste keer dat ik min of meer zelf een bierfeut collega heb aangenomen (arbeidsvoorwaarden e.d. wel aan de baas overgelaten). Nu nog een senior er bij en we zitten weer helemaal goed bezet.
Kater? Eerst water, de rest komt later
Opoe modus:Hydra schreef op maandag 19 november 2012 @ 15:02:
Jochies; dat mensen het met elkaar oneens zijn betekent niet dat we met elkaar op de vuist willen.
Met de huidige maatschappij lijkt het er anders wel op. Kids van vandaag staan stijf van de redbull en tikken weg op hun bleckendeckerberry... Vroegah, toen gingen kids naar houseparties en slikten XTC. nooit gevechten om niets.
Als het dan toch uit de losse pols was, vanwaar het probleem met het 'nitpicken' als iemand je aanvult met praktijkvoorbeelden die een andere mogelijkheid aantonen?Hydra schreef op maandag 19 november 2012 @ 14:34:
[...]
Nogmaals, wat ik schreef was een voorbeeld uit de losse pols en geen specs. Jij vind het niet leuk dat men niet ingaat op je rant, en als ik daar op reageer is het weer niet goed?
Als je als developpers onder elkaar mekaar nog niet meer mag aanvullen 'want het was uit de losse pols' => ergo: niet 'nitpicken', waar zijn we dan in godsnaam mee bezig?
(en DAT is mijn hele rant, ik hoop dat de communicatie-via-tekst-only-filter die deze keer misschien wel wat duidelijk wil overbrengen)
Ik heb al gedoe genoeg met 'creatieve klanten' die zelf halve technische modellen in elkaar zetten omdat ze ooit eens in een ver verleden een formulier in acces gemaakt hebben, laat staan dat we als developpers onderling mekaar niet mogen aanvullen/verbeteren/...
@hierboven: vechten? ik? ik zou liever 2 zelfgemaakte robots tegen mekaar laten gaan
[ Voor 4% gewijzigd door roeleboel op 19-11-2012 15:12 ]
De makkelijkste manier om hyprocrieten boos te krijgen? Confronteer ze met hun eigen uitspraken...
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!
Maar het bloggen zelf dan, voor zover ik weet is het het beste om één onderwerp te pakken waar je blog over gaat. Beter voor vindbaarheid in Google en daarmee krijg je dus ook wat bezoekers.
Aan de ene kant wil ik graag over Wordpress bloggen, mijn oplossingen delen met anderen en dergelijke, maar de concurrent kan er ook mee weg lopen. Niet dat het nou zo moeilijk is allemaal en het is zeker geen topcode. Maarja, dan nog...
Bloggen over lokale beslommeringen is ook nog een optie, maar dat wijdt vaak zo uit en gaat niet zo heel veel mensen aan.
Dus bloggen (in Engelse taal) over Wordpress en website geneuzel lijkt me dan toch de beste optie.
Certificaten importeren, allerlei vinkjes aanzetten, Intel PROSet Wireless gebruiken, allerlei andere dingen... het mocht niet baten. Uiteindelijk bleek dat er in de credential manager een account stond dat geen toegang had tot wireless networks... en het usercertificaat dat ik importeerde wel.
We are shaping the future
Net zoals je al zegt. De concurrent komt er toch wel achterTheNephilim schreef op maandag 19 november 2012 @ 15:29:
Al een tijd geleden dat ik een domeinnaam geregistreerd heb voor een eigen blog, echter nog steeds geen tijd gehad om er een fatsoenlijk design voor te maken/regelen.
Maar het bloggen zelf dan, voor zover ik weet is het het beste om één onderwerp te pakken waar je blog over gaat. Beter voor vindbaarheid in Google en daarmee krijg je dus ook wat bezoekers.
Aan de ene kant wil ik graag over Wordpress bloggen, mijn oplossingen delen met anderen en dergelijke, maar de concurrent kan er ook mee weg lopen. Niet dat het nou zo moeilijk is allemaal en het is zeker geen topcode. Maarja, dan nog...
Bloggen over lokale beslommeringen is ook nog een optie, maar dat wijdt vaak zo uit en gaat niet zo heel veel mensen aan.
Dus bloggen (in Engelse taal) over Wordpress en website geneuzel lijkt me dan toch de beste optie.
Nothing to see here!
Misschien dat dat het is. Ik ben meer van de houseparty generatie, hoewel ik het vooral bij bier hieldErwin537 schreef op maandag 19 november 2012 @ 15:06:
Opoe modus:
Met de huidige maatschappij lijkt het er anders wel op. Kids van vandaag staan stijf van de redbull en tikken weg op hun bleckendeckerberry... Vroegah, toen gingen kids naar houseparties en slikten XTC. nooit gevechten om niets.
https://niels.nu
Daar zit een probleem.TheNephilim schreef op maandag 19 november 2012 @ 15:29:
...geen tijd gehad...
...wil ik graag over [iets] bloggen...
Voor een goede post heb je (ik tenminste) vaak al zo'n 6 tot 8 uur schrijven nodig. Dat betekend effectief dat ik 2 weken lang 's avonds iets moet schrijven voor 1 post.
Natuurlijk gaat er niet in iedere post zoveel tijd zitten, maar je moet je wel beseffen dat het schrijven van een blog veel tijd in beslag neemt. Heel veel mensen beginnen er mee en na 3-6 posts vinden ze het wel mooi geweest, omdat ze er achter komen dat het toch wel veel tijd in beslag neemt.
Code snippets delen op een blog is helemaal niet erg. De code had de 'concurrent' ook wel kunnen bedenken, mits die dat nodig zou hebben.
Zelf blog ik voornamelijk voor mijzelf. De posts dienen voornamelijk als geheugensteun voor mijzelf en als anderen daar ook mee geholpen zijn is alleen maar mooi.
SEO hoef je je niet echt druk over te maken denk ik. Wanneer je een standaard theme pakt voor je CMS is dit vaak al goed ingedeeld met HTML5 tags. Dan alleen nog goede content toevoegen en je hebt zomaar hits.
Battle.net - Jandev#2601 / XBOX: VriesDeJ
Nee dat is ook wel waar inderdaad, ze komen er wel achter en complete oplossingen plaatsen is niet de bedoeling, slechts probleem gebieden.Rutix schreef op maandag 19 november 2012 @ 15:41:
[...]
Net zoals je al zegt. De concurrent komt er toch wel achter. Ik vind dat bloggen vooral goed voor je zelf is
. Ik wil ook wel bloggen (niet echt tijd voor op dit moment) maar ik zou me niet zo druk maken over dat de concurrenten van me werkgever die ook kunnen lezen. Ik zou toch over problemen bloggen die voor ieder die het probleem heeft relevant is en dat staat los van je werkgever.
Ook de reacties erop zijn goede feedback voor mijzelf en misschien dragen mensen wel mooiere en betere oplossingen aan.
Dat is waar, bloggen kost veel tijd, een beetje post hoeft echter geen 6-8 uur te duren lijkt mij. Ik kom een situatie tegen in mijn dagelijkse werk en los een probleem op. Het schrijven over het probleem en hoe je die oplost lijkt me dan makkelijker als je nog in de materie zit.Jan_V schreef op maandag 19 november 2012 @ 15:41:
[...]
Daar zit een probleem.
Voor een goede post heb je (ik tenminste) vaak al zo'n 6 tot 8 uur schrijven nodig. Dat betekend effectief dat ik 2 weken lang 's avonds iets moet schrijven voor 1 post.
Natuurlijk gaat er niet in iedere post zoveel tijd zitten, maar je moet je wel beseffen dat het schrijven van een blog veel tijd in beslag neemt. Heel veel mensen beginnen er mee en na 3-6 posts vinden ze het wel mooi geweest, omdat ze er achter komen dat het toch wel veel tijd in beslag neemt.
Code snippets delen op een blog is helemaal niet erg. De code had de 'concurrent' ook wel kunnen bedenken, mits die dat nodig zou hebben.
Zelf blog ik voornamelijk voor mijzelf. De posts dienen voornamelijk als geheugensteun voor mijzelf en als anderen daar ook mee geholpen zijn is alleen maar mooi.
SEO hoef je je niet echt druk over te maken denk ik. Wanneer je een standaard theme pakt voor je CMS is dit vaak al goed ingedeeld met HTML5 tags. Dan alleen nog goede content toevoegen en je hebt zomaar hits.
Schrijven en typen vind ik leuk, dus het moet lukken om af en toe een blogpost te plaatsen met fatsoenlijke inhoud. Het schrijven in het Engels gaat wel lastig worden denk ik, maar is wel een goede oefening.
Het volhouden, tjah durf ik niks over te zeggen! Ik ga het gewoon doen en we zien wel. Ik denk genoeg leuke dingen te kunnen plaatsen om het gebeuren een beetje actief te houden. Even tikken op de zondagmiddag valt niet heel zwaar denk ik zo.
Een blog is nogal tijdrovend als tegen een rubber eendje aanpraten ook werktSh4wn schreef op maandag 19 november 2012 @ 15:50:
Bloggen helpt ook om je eigen code goed te snappen, want nu moet je het uitleggen aan andere mensen. Het kost inderdaad wel meer tijd dan je denkt om een goede post te maken.
https://niels.nu
[ Voor 19% gewijzigd door Alex) op 19-11-2012 15:52 ]
We are shaping the future
Alleen heeft de rest van de wereld dan niks aan jouw uitleg, als je het alleen tegen een rubber eendje verteld. Je code begrijpbaar maken moet natuurlijk ook niet de hoofdreden zijn om een blog aan te maken.Hydra schreef op maandag 19 november 2012 @ 15:51:
[...]
Een blog is nogal tijdrovend als tegen een rubber eendje aanpraten ook werkt
Dit topic is gesloten.
![]()
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep voor iedereen in de Devschuur® en niet als vraagbaak.