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.
Maar daar hebben we niet getanktRannasha schreef op woensdag 21 januari 2015 @ 21:28:
[...]
Wel goedkoop tanken in LuxemburgEn de route over het Jura gebergte is erg mooi (alleen niet in de winter en niet in een bus
)
Maar veel plezier op CERN F.West98! Ik zal morgen even zwaaien als ik langs rij
En de tunnels door het gebergte waren erg mooi zo in de nacht!
Maar het was erg leuk! CMS vanbinnen bekeken, en meerdere projecten bekeken. Bijvoorbeeld datacenter en de drie (!) serverkasten die het hele CERN Internet Exchange vornen, waar de hele omgeving gebruik van maakt. Ze genereren er dus 1TB data per minuut waarvan een klein deel behouden blijft, wat ze opslaan op tapes.
Verder viel het me op dat het terrein van buiten net een verlaten industrieterrein is, terwijl daar dan echt baanbrekend onderzoek wordt gedaan...
2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
Mja en verder word heel het onderzoek natuurlijk gedaan in een dik datacentrum(s) en via het 'grid'. Dus het is dan niet nodig dat iedereen daar zit. Overigens wel enorm veel data wat daar gegenereerd wordt.. ik dacht laatst nog te lezen dat ze nu iets van 80petabyte nu fysiek hebben opgeslagen, terwijl ze ook veel nog 'negeren'...
Af en toe lees ik mij wel eens in, in dit soort projecten. Net als google waarbij men denkt dat ze al ver over de exabyte zitten qua opslag
En wauw, we rijden atm als één van de eersten door de vers vannacht gevallen sneeuw in de omgeving Nijmegen/Arnhem.
2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
Maar het was net wel even heel hard aan het sneeuwen.
2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
Wow, voor m'n werk dev ik sinds een tijdje ook op een Mac, maar qua keyboard commands wou dat nog niet helemaal ideaal werken. (Meerdere virtual desktops en de magic mouse werkt wel fijn overigens!) Deze emacs bindings zijn wel interessant, zal ze maandag eens testendev10 schreef op vrijdag 23 januari 2015 @ 11:23:
[...]
Dat Command + links of rechts is inderdaad ronduit ruk. Gelukkig worden in eigenlijk alle invoerveldem op een Mac de Emacs keybindings ondersteund. Daarmee kun je met Ctrl + a naar het begin van een regel en met Ctrl + e naar het einde van een regel. Met Ctrl + f ga je een karakter vooruit en met Ctrl + b ga je een karakter achteruit. Als je dan Ctrl mapt op de Caps Lock toets werkt het al een stuk beter en hoef je je handen niet van de home-row af te halen. (Voordeel is dat de Emacs keybindings ook werken in de terminal)
IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB
Waarschijnlijk zijn ze weer aan het strooien, zout is helaas niet het wondermiddel wat men er van verwacht. Het gaat pas werken als het ook word ingereden als dat niet gebeurd blijft de sneeuw er gewoon bovenop liggenCaelorum schreef op zaterdag 24 januari 2015 @ 08:24:
En ze zijn nu pas aan het strooien op de A12 ^^ Duidelijk dat ze niet naar de weermannen hebben geluisterd gisteren.
Ach ja.. De data is niet van levensbelang, dus heb nog wel een jaar ofzo om te beslissen of ik de gok ga wagen en de platters ga overzetten in een vergelijkbare HDD. Alleen jammer van die ~120E. Online backup was goedkoper geweest ^^
[ Voor 5% gewijzigd door Caelorum op 24-01-2015 20:22 ]
De ingredienten koop ik in bulk bij groothandel en dump ik in de vriezer/koelkast. Mijn vriendin kan geen spaghetti meer zien
Ik moet op zoek naar meerdere simpele maar lekkere recepten
[ Voor 13% gewijzigd door Gamebuster op 25-01-2015 11:24 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Verder alle wok gerechten uiteraard. Even alles in een pan met koken water gooien en dan in een wok. Saus er bij en is denk ik al met al nog sneller dan spaghetti. Meeste zooi die er in gaat kan je ook best lang bewaren in de vriezer.
Bovenstaande aangevuld met pizza is zo ongeveer wat ik normaal eet. Af en toe afgewisseld met een stoofpot of iets dergelijks als ik zin en tijd heb, maar dat duurt altijd zo ongelooflijk lang.
[ Voor 18% gewijzigd door Caelorum op 25-01-2015 11:38 ]
Ik heb wel zo'n "wokbrander" op mijn gasplaat, gebruik ik die ook eens een keer
Er is toch gewoon een API documentatie?Douweegbertje schreef op zondag 25 januari 2015 @ 02:38:
[...]
Gewoon de floors itereren en daar de specifieke on button click events aan hangen.
Hoewel ik dit wel een leuk spel vind, is het gewoon een beetje ruk dat je elke keer maar een beetje data extra krijgt. Ik heb geen zin om pas later rekening te gaan moeten houden met opeens 4 extra variabelen.
[ Voor 95% gewijzigd door Gamebuster op 25-01-2015 11:45 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
[ Voor 98% gewijzigd door Gamebuster op 25-01-2015 11:44 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Lekker? Ik vind alles lekker, dus meestal pleur ik gewoon wat bij elkaar. Persoonlijk vind ik het belangrijkste dat er veel goed vlees in gaat. Dus goed kip of rundvlees. Mijn wokgerechten bestaan dan meestal ook uit zo'n 40% vlees, 20% groenten en 40% noodles ^^.Gamebuster schreef op zondag 25 januari 2015 @ 11:42:
Suggestie voor lekker wokgerecht met houdbare en/of goedkope ingrediënten?[...]
De saus moet je gewoon een beetje proberen. Je hebt kant en klare sausen van Amoy die best ok zijn, maar als je tijd hebt kan je natuurlijk ook je eigen woksaus maken. Het zal dan alleen wel experimenteren worden
Zelf heb ik hier een hele fijne olie staan. Is een fles olie waar ik een paar super hete pepers aan heb toegevoegd. Het is er niet heet van smaak van geworden, maar gegarandeerd dat je lippen achteraf aan het branden zijn
Jup, en die API is nog best wel karig, maar dat maakt het alleen maar leuker natuurlijkGamebuster schreef op zondag 25 januari 2015 @ 11:42:
[...]Er is toch gewoon een API documentatie?
[ Voor 11% gewijzigd door Caelorum op 25-01-2015 12:02 ]
Grappig, bij mij is de verhouding altijd andersom. Minstens de helft groente en de rest vlees/mihoenCaelorum schreef op zondag 25 januari 2015 @ 12:01:
[...]
Lekker? Ik vind alles lekker, dus meestal pleur ik gewoon wat bij elkaar. Persoonlijk vind ik het belangrijkste dat er veel goed vlees in gaat. Dus goed kip of rundvlees. Mijn wokgerechten bestaan dan meestal ook uit zo'n 40% vlees, 20% groenten en 40% noodles ^^.
De saus moet je gewoon een beetje proberen. Je hebt kant en klare sausen van Amoy die best ok zijn, maar als je tijd hebt kan je natuurlijk ook je eigen woksaus maken. Het zal dan alleen wel experimenteren wordenDe basis is meestal toch wel olie, rijstazijn en sojasaus en dan daar naar smaak kruiden en andere zooi toevoegen.
Zelf heb ik hier een hele fijne olie staan. Is een fles olie waar ik een paar super hete pepers aan heb toegevoegd. Het is er niet heet van smaak van geworden, maar gegarandeerd dat je lippen achteraf aan het branden zijn
Moet ik nu iets doen?
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!
Let op: Mijn post bevat meningen, aannames of onwaarheden
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!
Jezelf opsluiten in je kamer, en morgen zeggen dat je je verslapen hebt?Firesphere schreef op zondag 25 januari 2015 @ 14:47:
Mijn huisgenoot is jarig naar het schijnt.
Moet ik nu iets doen?
Dat word heel lastig voor hem nuGateKeaper schreef op zondag 25 januari 2015 @ 15:04:
[...]
Jezelf opsluiten in je kamer, en morgen zeggen dat je je verslapen hebt?
GateKeaper schreef op zondag 25 januari 2015 @ 15:04:
[...]
Jezelf opsluiten in je kamer, en morgen zeggen dat je je verslapen hebt?
Ik ontken het bestaan van WhatsApp. I reject your reality and substitute my own.
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!
Verder gebruik ik ook een goede olie en redelijk wat knoflook, om het af te werken een sausje zonder te veel suikers.
Dit is wel meer een gerecht voor een goede lijn en tijdens het sporten, maar je kan het lekker goed opslaan in de diepvries!
En zojuist heb je het weer onmogelijk gemaakt om te beweren dat je je hebt verslaaptFiresphere schreef op zondag 25 januari 2015 @ 15:34:
[...]
[...]
Ik ontken het bestaan van WhatsApp. I reject your reality and substitute my own.
Dat was Tesla.Ealanrian schreef op zondag 25 januari 2015 @ 15:44:
[...]
En zojuist heb je het weer onmogelijk gemaakt om te beweren dat je je hebt verslaapt
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!
Happy b'day Ealanrian
Mercatres schreef op zondag 25 januari 2015 @ 15:56:
Wat heeft Elon Musk hier nu weer mee te maken?
Happy b'day Ealanrian
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!
https://onedrive.live.com...kE&v=3&ithint=photo%2cjpg
Dodge:
https://onedrive.live.com...tA&v=3&ithint=photo%2cjpg
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!
Aangezien dat de enige kant is die ik op de foto krijg.... Zodra ze de koelkast in springt...
Misschien is deze iets charmanter
https://onedrive.live.com...Fs&v=3&ithint=photo%2cJPG
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!
Dat is een goeie weergave van haar gedrag....
Nou, zo'n ramp is Tesla ook weer niet.Ealanrian schreef op zondag 25 januari 2015 @ 16:12:
[...]
Dat is een goeie weergave van haar gedrag....
Als ze niet mauwt
Of niet vervelend overal bij moet zijn
Of niet overal in moet klimmen
Of slaapt
Of slaapt vooral.
Tesla is heel lief!
Als ze aandacht krijgt van ellendeling. Of slaapt.
[ Voor 10% gewijzigd door Firesphere op 25-01-2015 16:19 ]
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!
// Edit: een linux-distro installeren op een oude Dell Vostro, heuy. Al twee distro's die de wireless driver niet aan de praat krijgen (Debian en openSuse), nu dan maar Mint...
[ Voor 84% gewijzigd door Mercatres op 25-01-2015 16:44 ]
Ow crap.... dat is de live-database.
BRB
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!
But first, let me post it on GoT!Firesphere schreef op zondag 25 januari 2015 @ 17:27:
DELETE FROM table WHERE `Data` = X
Ow crap.... dat is de live-database.
BRB
Ik heb't al (grotendeels) hersteld
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!
Verwijderd
Bwahahahaha. En dat op een zondagavond.Firesphere schreef op zondag 25 januari 2015 @ 17:27:
DELETE FROM table WHERE `Data` = X
Ow crap.... dat is de live-database.
BRB
[ Voor 3% gewijzigd door TripleQ op 25-01-2015 19:55 ]
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Nog steeds slecht. Je schrijft eerste een SELECT om te zien wat je überhaupt gaat verwijderen en hoeveel records dit zijn.TripleQ schreef op zondag 25 januari 2015 @ 19:54:
Tegenwoordig schrijf ik altijd eerst het Where gedeelte van een delete/update querie. Te vaak te enthousiast op f5 geramd op productie :-p
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Ik HEB zelfs geen schrijfrechten op productie!TripleQ schreef op zondag 25 januari 2015 @ 19:54:
Tegenwoordig schrijf ik altijd eerst het Where gedeelte van een delete/update querie. Te vaak te enthousiast op f5 geramd op productie :-p
Ook nooit nodig gehad dan.
Gebruik wel vaak om te kijken welke waarden er staan, maar hoef bijna nooit te schrijven.
Ja ok.... Doe ik ook welDouweegbertje schreef op zondag 25 januari 2015 @ 21:12:
[...]
Nog steeds slecht. Je schrijft eerste een SELECT om te zien wat je überhaupt gaat verwijderen en hoeveel records dit zijn.
Zo te zien wel. Nog een extra library bovenop een berg libraries om iets simpels te doen wat met vanilla echt niet ingewikkeld is
Beste mensen, leer het nu eens, gebruik libraries als je ze nodig hebt, niet omdat het kan?
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!
Of dat ik (een gestripte) jquery gebruik omdat DOM manipulatie en AJAX requests een stuk makkelijker zijn?
Of dat ik Reactive Extensions gebruik om het geheel dynamisch te updaten met async dingen zonder allemaal gezeik te hebben met volgordes e.d.?
Zo ja dan moet ik eens mijn keuzes gaan heroverwegen.
2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
Nothing to see here!
- Font Awesome
- jQuery
- Lodash
- Riot
- Codemirror
- Analytics
2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
Laat jij ook Java of C# links liggen als iets in C of assembly kan?Firesphere schreef op maandag 26 januari 2015 @ 00:25:
[...]
Beste mensen, leer het nu eens, gebruik libraries als je ze nodig hebt, niet omdat het kan?
Dat is, wat mij betreft, in het geval van javascript, een heel andere discussie.Megamind schreef op maandag 26 januari 2015 @ 01:11:
[...]
Laat jij ook Java of C# links liggen als iets in C of assembly kan?
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!
Je gebruikt een DB wrapper om iets te versimpelen, maar ook gewoon om het feit dat je het meerdere malen gaat gebruiken. Je wilt dan domweg niet iets 1000x gaan doen. Nja IMO idem voor het geval met JS. Ik gebruik redelijk veel frontend dingen, maar ik ga pas jQuery gebruiken als ik er zeker van weet dat het inladen van een extra "lib" het waard is.Megamind schreef op maandag 26 januari 2015 @ 01:11:
[...]
Laat jij ook Java of C# links liggen als iets in C of assembly kan?
Het verschil, en het geen wat firesphere wilt aantonen is (denk ik dan
Zet mening PHP'er eens voor de vraag: maak een DB wrapper. Tja, kunnen ze niet
Idem met; gebruik eens wat anders dan $('element').show(); , waarom include je een gehele lib om één element in de gehele website te hide/show?
Nja, perse lodash gebruiken omdat je dan "makkelijker kan itereren" is voor mij geen reden.
[ Voor 4% gewijzigd door Douweegbertje op 26-01-2015 02:07 ]
Yup, doe ik ook dat scheelt een hoop 😃TripleQ schreef op zondag 25 januari 2015 @ 19:54:
Tegenwoordig schrijf ik altijd eerst het Where gedeelte van een delete/update querie. Te vaak te enthousiast op f5 geramd op productie :-p
Er zit een verschil tussen een library ontwerpen en er een gebruiken.Douweegbertje schreef op maandag 26 januari 2015 @ 02:06:
Zet mening PHP'er eens voor de vraag: maak een DB wrapper. Tja, kunnen ze niet
(Ik zie trouwens liever dat DB vendors SQL laten vallen en in plaats daarvan een fatsoenlijke API gaan leveren.)
Omdat show()/hide() declaratiever zijn en daarnaast wat handmatig state management uit handen neemt?Idem met; gebruik eens wat anders dan $('element').show(); , waarom include je een gehele lib om één element in de gehele website te hide/show?
Een for each constructie is declaratiever en geeft goed de intentie weer wat de programmeur bedoelde. Net zoals dat for en while iets declaratiever zijn dan compares en gotos.Nja, perse lodash gebruiken omdat je dan "makkelijker kan itereren" is voor mij geen reden.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
In dit geval is het al aanwezig of je het gebruikt of niet dus slaat de hele discussie en jouw startende opmerking nergens op.Douweegbertje schreef op maandag 26 januari 2015 @ 02:06:
[...]
Nja, perse lodash gebruiken omdat je dan "makkelijker kan itereren" is voor mij geen reden.
Mja, ik geef ze wel gelijk dat als dat het enige is dat je gaat gebruiken, het wel een beetje jammer is om zoveel data binnen te hengelen terwijl je het zelf ook vrij snel kan schrijven.RayNbow schreef op maandag 26 januari 2015 @ 06:22:
[...]Omdat show()/hide() declaratiever zijn en daarnaast wat handmatig state management uit handen neemt?
[...]
Als je libraries uit een openbare bron of CDN haalt (zoals https://developers.google.com/speed/libraries/ ), dan heb je grote kans dat 't toch al in de browser-cache zit.Caelorum schreef op maandag 26 januari 2015 @ 08:12:
[...]
Mja, ik geef ze wel gelijk dat als dat het enige is dat je gaat gebruiken, het wel een beetje jammer is om zoveel data binnen te hengelen terwijl je het zelf ook vrij snel kan schrijven.
edit: bijvoorbeeld zo:
1
2
3
| <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="/js/vendor/jquery-1.11.0.min.js"><\/script>')</script> |
[ Voor 25% gewijzigd door HuHu op 26-01-2015 08:45 ]
De implementatie in jQuery voor showHide() is anders toch al snel een 40-tal regels code.Caelorum schreef op maandag 26 januari 2015 @ 08:12:
[...]
Mja, ik geef ze wel gelijk dat als dat het enige is dat je gaat gebruiken, het wel een beetje jammer is om zoveel data binnen te hengelen terwijl je het zelf ook vrij snel kan schrijven.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Maar zeker kan je er niet van zijn en de kans vermindert ook behoorlijk als je een specifieke library versie gaat lopen gebruiken die verder bijna niemand gebruikt (bijv. omdat het veroudert is of juist erg nieuw) of omdat je doelgroep gewoon niet wil meewerken. Er zijn nog wel andere voordelen uiteraard, maar het gebruik van een CDN is geen heilige graal ofzo.HuHu schreef op maandag 26 januari 2015 @ 08:42:
[...]
Als je libraries uit een openbare bron of CDN haalt (zoals https://developers.google.com/speed/libraries/ ), dan heb je grote kans dat 't toch al in de browser-cache zit.[...]
RayNbow schreef op maandag 26 januari 2015 @ 09:01:
[...]
De implementatie in jQuery voor showHide() is anders toch al snel een 40-tal regels code.
1
2
3
4
5
6
7
| En dat is nogal
{
ruim
uitgeschreven
} |
^^
Daarnaast ging het in dit geval om een enkel element te hiden of showen en niet om sets van elementen.
Komt nog bij dat het nog steeds jammer is om 82KB (compressed!) als je maar een handvol functies gaat gebruiken. Nog afgezien van of je een CDN gebruikt of niet, want ook dat garandeert niet dat de gebruiker het niet alsnog moet downloaden.
Heb overigens geen idee wat verder de performance impact is van het moeten laden en parsen van 82KB tekst bestand door de browser. Het zal wel niet veel zijn, maar toch weer extra werk.
Ik heb onlangs helaas toegang gekregen tot de productie-omgeving.Ryur schreef op zondag 25 januari 2015 @ 21:37:
[...]
Ik HEB zelfs geen schrijfrechten op productie!(op mijn normale account dan, heb een tweede account waar ik wel schrijfrechten zou hebben).
Ook nooit nodig gehad dan.
Gebruik wel vaak om te kijken welke waarden er staan, maar hoef bijna nooit te schrijven.
De titel van dit topic ziet er een beetje funky uit i.v.m. andere pagina's:
[ Voor 12% gewijzigd door Alex) op 26-01-2015 09:33 ]
We are shaping the future
[ Voor 12% gewijzigd door Woy op 26-01-2015 09:38 ]
“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.”
Misschien maakt het voor velen niet echt uit, maar denk er ook aan dat Google vanuit China bijvoorbeeld zonder VPN niet te bereiken is, dus als je site verder wel bereikbaar is in China zal je alsnog problemen hebben als deze libraries niet geladen kunnen worden.HuHu schreef op maandag 26 januari 2015 @ 08:42:
[...]
Als je libraries uit een openbare bron of CDN haalt (zoals https://developers.google.com/speed/libraries/ ), dan heb je grote kans dat 't toch al in de browser-cache zit.
En als Google over een paar jaar zegt "Die hosting van allerlei JS-libraries op ons CDN mag ook wel eens aan banden worden gelegd" zit je ook met een groot probleem.Adion schreef op maandag 26 januari 2015 @ 09:37:
[...]
Misschien maakt het voor velen niet echt uit, maar denk er ook aan dat Google vanuit China bijvoorbeeld zonder VPN niet te bereiken is, dus als je site verder wel bereikbaar is in China zal je alsnog problemen hebben als deze libraries niet geladen kunnen worden.
Het zou niet voor het eerst zijn dat Google een wijdgebruikte functie de nek omdraait.
We are shaping the future
Dat komt door die dat "8-ball" teken aan het eind, dat snappen sommige Chrome versies niet helemaal volgens mij.Alex) schreef op maandag 26 januari 2015 @ 09:30:
[...]
Ik heb onlangs helaas toegang gekregen tot de productie-omgeving.
De titel van dit topic ziet er een beetje funky uit i.v.m. andere pagina's:
[afbeelding]
Hier geen last van overigens.
Daarom ga ik mezelf maar een beetje opvrolijken met een 28" 4k monitor (Die komt vanmiddag binnen)
Dit geldt voor heel veel ontwikkelaars in heel veel talen, die vooral gebruik maken van "bestaande libraries" en zich niet (meer) altijd afvragen waarom bepaalde keuzes daarin zijn gemaakt.Douweegbertje schreef op maandag 26 januari 2015 @ 02:06:
[...]
Zet mening PHP'er eens voor de vraag: maak een DB wrapper. Tja, kunnen ze niet
35 regels als ik declaraties op 1 regel prop, alle functieaanroepen op 1 regel prop, de accolades van ifs weggooi als die niet nodig zijn en tenslotte alle lege witregels verwijder. Tel daarbij op dat ik niet de implementatie van hulpfuncties meereken.Caelorum schreef op maandag 26 januari 2015 @ 09:14:
[...]
code:
1 2 3 4 5 6 7En dat is nogal { ruim uitgeschreven }
Ergo, een 40-tal regels aan code.
Dat kun je cachen en dat valt in het niets met de tijd die het kost om het over het internet te pompen.Heb overigens geen idee wat verder de performance impact is van het moeten laden en parsen van 82KB tekst bestand door de browser. Het zal wel niet veel zijn, maar toch weer extra werk.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Adion schreef op maandag 26 januari 2015 @ 09:37:
[...]
Misschien maakt het voor velen niet echt uit, maar denk er ook aan dat Google vanuit China bijvoorbeeld zonder VPN niet te bereiken is, dus als je site verder wel bereikbaar is in China zal je alsnog problemen hebben als deze libraries niet geladen kunnen worden.
In het stukje voorbeeldcode dat ik geef zit nota bene nog een fallback voor het geval dat de library niet (meer) bij Google verkrijgbaar is. Dat is dus geen enkel probleem.Alex) schreef op maandag 26 januari 2015 @ 09:38:
[...]
En als Google over een paar jaar zegt "Die hosting van allerlei JS-libraries op ons CDN mag ook wel eens aan banden worden gelegd" zit je ook met een groot probleem.
Het zou niet voor het eerst zijn dat Google een wijdgebruikte functie de nek omdraait.
Nothing to see here!
Thuis heb ik er met de nieuwste Chrome versie ook geen last van.Afvalzak schreef op maandag 26 januari 2015 @ 09:38:
[...]
Dat komt door die dat "8-ball" teken aan het eind, dat snappen sommige Chrome versies niet helemaal volgens mij.
Hier geen last van overigens.
Op het werk heb ik er met dezelfde Chrome versie wel "last" van.
Kan het zijn dat het probleem wel bij Win7 voorkomt en niet bij Win8.1?
Ah ik zie het nu, jammer dat Google dat in hun eigen voorbeeldcode ook niet aangeeft.HuHu schreef op maandag 26 januari 2015 @ 09:48:
[...]
[...]
In het stukje voorbeeldcode dat ik geef zit nota bene nog een fallback voor het geval dat de library niet (meer) bij Google verkrijgbaar is. Dat is dus geen enkel probleem.
Could be, ik heb de laatste Chrome en Win 8 hier.Jegorex schreef op maandag 26 januari 2015 @ 09:50:
[...]
Thuis heb ik er met de nieuwste Chrome versie ook geen last van.
Op het werk heb ik er met dezelfde Chrome versie wel "last" van.
Kan het zijn dat het probleem wel bij Win7 voorkomt en niet bij Win8.1?
Functies geimplementeerd in libraries als Lodash, jQuery, Bluebird etc. zijn vaak erg snel, goed getest, en open source zodat je ze als je wilt gewoon kunt pakken en in je source steken (mits je die zelf ook open source uitbrengt). Zo heb je de keuze: als je veel lodash functies gaat gebruiken pak je de lib, als je er maar eentje nodig heb haal je die gewoon uit de lodash source.
Mijns inziens kan dit alleen maar voor minder bugs in JS apps zorgen. Zie ik dat fout?
Precies veel sites die maar half werken omdat jQuery vanaf de Google cdn wordt geladen, hetzelfde geldt voor sites die fonts van Google laden of sites die Facebook of Twitter buttons niet asynchroon laden...Adion schreef op maandag 26 januari 2015 @ 09:37:
[...]
Misschien maakt het voor velen niet echt uit, maar denk er ook aan dat Google vanuit China bijvoorbeeld zonder VPN niet te bereiken is, dus als je site verder wel bereikbaar is in China zal je alsnog problemen hebben als deze libraries niet geladen kunnen worden.
Ik snap je punt.Struikrover schreef op maandag 26 januari 2015 @ 10:36:
Zo heb je de keuze: als je veel lodash functies gaat gebruiken pak je de lib, als je er maar eentje nodig heb haal je die gewoon uit de lodash source.
Krijg alleen zelf kriebels om een functie "gewoon" uit de source te halen.
Wat als daar net een bug inzit, en hij wordt met een hotfix later gefixt; dan zou je weer moeten kopieren?!
Met het gebruik van libraries opzich is niets mis, maar het includen van een lib om er vervolgens maar 1 a 2 functies van te gebruiken wel. Een collega hier heeft er ook een handje van om jQuery te gebruiken op het moment dat hij 1 functionaliteit mist. Een functionaliteit die je bijvoorbeeld met 1 regeltje vanilla JS zo voor elkaar hebt. Dat is gewoon niet efficient, en komt de performance en leesbaarheid ook niet ten goede.Struikrover schreef op maandag 26 januari 2015 @ 10:36:
Ik snap op zich dat er op het gebruik van libraries geageerd wordt, maar het is de realiteit. Als je een devver voor de keuze stelt om zich op zijn project te focussen in plaats van de core functionaliteit nogmaals uitvinden terwijl dit allang door derde partijen mooi is opgeschreven en getest, lijkt het me een makkelijke keuze.
Functies geimplementeerd in libraries als Lodash, jQuery, Bluebird etc. zijn vaak erg snel, goed getest, en open source zodat je ze als je wilt gewoon kunt pakken en in je source steken (mits je die zelf ook open source uitbrengt). Zo heb je de keuze: als je veel lodash functies gaat gebruiken pak je de lib, als je er maar eentje nodig heb haal je die gewoon uit de lodash source.
Mijns inziens kan dit alleen maar voor minder bugs in JS apps zorgen. Zie ik dat fout?
Hmm. Ik haat git maar ik haat ook svn. Ongelofelijk hoe makkelijk ik het voor elkaar krijg om die dingen steeds in unresolvable states te krijgen.
Never explain with stupidity where malice is a better explanation
Ik zou gewoon vanaf het begin direct een goede library pakken. Ook al is het maar voor 1 functie.
Klopt. Wat nu als je zelf de implementatie schrijft, en er zit een bug in? Dan moet je zelf ook een hotfix doen. Ik zie het verschil niet, behalve dat je de lib in de gaten moet houden. Daarom zou het mooi zijn als meer libs modulair worden. Geef aan welke functies je wilt, en je krijgt een kleinere versie die je zelf in je task runner kunt gebruiken om uiteindelijk 1 minified js file te behouden.Ryur schreef op maandag 26 januari 2015 @ 10:56:
[...]
Ik snap je punt.
Krijg alleen zelf kriebels om een functie "gewoon" uit de source te halen.
Wat als daar net een bug inzit, en hij wordt met een hotfix later gefixt; dan zou je weer moeten kopieren?!
Maar zoals ik al zei, vaak zijn die third party lib functies juist erg performant. Vaak kun je ze ook in hun geheel includen in je build, dan heb je (zoals hierboven beschreven) nog maar 1 minified JS file. Dan is het enige verschil nog, dat je bij page load iets meer kB binnenhaalt, maar dat daarna je app wel beter en meer bugvrij presteert. Is die eigen implementatie het verschil in page load waard? Dat moet je voor jezelf bepalen, maar ik doe de moeite al niet meer tegenwoordig.EddoH schreef op maandag 26 januari 2015 @ 10:57:
[...]
Met het gebruik van libraries opzich is niets mis, maar het includen van een lib om er vervolgens maar 1 a 2 functies van te gebruiken wel. Een collega hier heeft er ook een handje van om jQuery te gebruiken op het moment dat hij 1 functionaliteit mist. Een functionaliteit die je bijvoorbeeld met 1 regeltje vanilla JS zo voor elkaar hebt. Dat is gewoon niet efficient, en komt de performance en leesbaarheid ook niet ten goede.
Meer code is meer bugs, meer compatibliteitsissues, meer kennis nodig etc.. etc.Struikrover schreef op maandag 26 januari 2015 @ 10:36:
Ik snap op zich dat er op het gebruik van libraries geageerd wordt, maar het is de realiteit. Als je een devver voor de keuze stelt om zich op zijn project te focussen in plaats van de core functionaliteit nogmaals uitvinden terwijl dit allang door derde partijen mooi is opgeschreven en getest, lijkt het me een makkelijke keuze.
Functies geimplementeerd in libraries als Lodash, jQuery, Bluebird etc. zijn vaak erg snel, goed getest, en open source zodat je ze als je wilt gewoon kunt pakken en in je source steken (mits je die zelf ook open source uitbrengt). Zo heb je de keuze: als je veel lodash functies gaat gebruiken pak je de lib, als je er maar eentje nodig heb haal je die gewoon uit de lodash source.
Mijns inziens kan dit alleen maar voor minder bugs in JS apps zorgen. Zie ik dat fout?
Soms is het juist simpel houden en iets native 'opschrijven' 'simpeler' dan een lib includen en zo'n functie gebruiken.
Nja, er zal vast wel een breakpoint zijn waarin het weer waard is om een lib te gebruiken oid, maar voor een single function? Meh.
Oke, je zegt "meer code is meer bugs". Stel, je schrijft zelf een random Lodash functie. Dan heb je ook meer code toegevoegd. Misschien wel meer dan de Lodash implementatie.Douweegbertje schreef op maandag 26 januari 2015 @ 11:02:
[...]
Meer code is meer bugs, meer compatibliteitsissues, meer kennis nodig etc.. etc.
Soms is het juist simpel houden en iets native 'opschrijven' 'simpeler' dan een lib includen en zo'n functie gebruiken.
Nja, er zal vast wel een breakpoint zijn waarin het weer waard is om een lib te gebruiken oid, maar voor een single function? Meh.
Als dat dan de enige functie is die je gebruikt, welke implementatie heeft dan meer kans om bugs te bevatten: jouw eigen snel in elkaar geschreven functie zonder unit tests, of die van lodash? En welke is denk je sneller? Eentje die je zelf hebt geschreven omdat je iets anders voor elkaar wilt krijgen, of eentje die is geschreven puur om die functie te bieden, met het oog op compatibility en andere quirks waar je niet snel aan zou denken (JS heeft er ten slotte genoeg).
Wij hebben ook altijd jQuery standaard in onze eigen 'boiler template' voor WordPress thema's zitten. Als het thema klaar is kijken we gewoon even wat er niet gebruikt word en mikken we dergelijke libs etc. er uit.HuHu schreef op maandag 26 januari 2015 @ 11:00:
Alles begint met 1 of 2 functies. Die schrijf je dan zelf, in "vanilla js". En dan komt er een derde functie bij. En een vierde. En voor je het weet zit je hele project vol met halfbakken zelfgeschreven functies, die ook allemaal net anders werken dan het equivalent in jQuery dat iedereen kent.
Ik zou gewoon vanaf het begin direct een goede library pakken. Ook al is het maar voor 1 functie.
Ik betwijfel of alle code parsen + binnenhalen + de aanroep zoveel sneller is dan een eigen brouwsel, maar dit is natuurlijk compleet afhankelijk van de context. Weinig over te zeggen dus.Struikrover schreef op maandag 26 januari 2015 @ 11:01:
Maar zoals ik al zei, vaak zijn die third party lib functies juist erg performant. Vaak kun je ze ook in hun geheel includen in je build, dan heb je (zoals hierboven beschreven) nog maar 1 minified JS file. Dan is het enige verschil nog, dat je bij page load iets meer kB binnenhaalt, maar dat daarna je app wel beter en meer bugvrij presteert. Is die eigen implementatie het verschil in page load waard? Dat moet je voor jezelf bepalen, maar ik doe de moeite al niet meer tegenwoordig.
Ik prefereer zo min mogelijk ballast, onderhoud en leesbaarheid(al die libs hebben weer hun eigen stijl) boven externe libs ja.
Daarnaast werk ik nog wel eens met platforms waar een HTTP GET 100x langzamer is dan op een gemiddelde pc, en dan ga je die extra lib echt wel merken.
Plus extra parse overhead + grotere files(sommige van onze webapps worden over 2G geladen) + andere syntax, voor 1 functie die je misschien in 1 native regeltje zelf had kunnen maken. Nah.Struikrover schreef op maandag 26 januari 2015 @ 11:08:
Maar hoezo zou je iets extra's moeten binnenhalen? Je kunt libs als lodash, jquery, etc toch gewoon op een specifieke versie downloaden en streamlinen in je build proces? Dan houd je, voor de zoveelste keer, gewoon 1 minified JS file over met je eigen JS plus je dependencies.
Maar wederom: ik heb het hier niet over krampachtig libs vermijden. Ik heb het over klakkeloos voor elk wissewasje een lib gebruiken.
Het blijft een menselijke beslissing in een afweging natuurlijk. Zie het als een ROC curve tussen ontwikkelsnelheid en performance. Ergens ligt de optimale waarde voor het project
Nja je noemt heel wat dingen op maar even bijv. jquery vs native js aangezien ik amper/niet lodash gebruik; vele functies zijn native sneller en simpelerStruikrover schreef op maandag 26 januari 2015 @ 11:05:
[...]
Oke, je zegt "meer code is meer bugs". Stel, je schrijft zelf een random Lodash functie. Dan heb je ook meer code toegevoegd. Misschien wel meer dan de Lodash implementatie.
Als dat dan de enige functie is die je gebruikt, welke implementatie heeft dan meer kans om bugs te bevatten: jouw eigen snel in elkaar geschreven functie zonder unit tests, of die van lodash? En welke is denk je sneller? Eentje die je zelf hebt geschreven omdat je iets anders voor elkaar wilt krijgen, of eentje die is geschreven puur om die functie te bieden, met het oog op compatibility en andere quirks waar je niet snel aan zou denken (JS heeft er ten slotte genoeg).
Ja, jquery is dan soms uitgebreider en makkelijker maar het biedt geen garantie dat je code "beter" is. Alleen met bepaalde variabelen kun je voordeel ervaren.
Overigens; http://jsperf.com/native-vs-array-js-vs-underscore/8
Tja, je moet inderdaad wel weten welke lib je gebruikt, anders ben je al gauw de l*l als je denkt dat je performance wint. Dat is ook het lastige van libs, er wordt lang niet altijd getest of ze beter zijn dan native.
Libraries standaard maar includen omdat ze één handige functie bevatten, lijkt me niet erg slim nee. Over iedere lib die je include moet gewoon goed worden nagedacht.
Lodash is er echter één, die wat mij betreft standaard geinclude mag worden. Hij is maar 11kb groot (gzipped), maar bevat echt veel handige utils.
[].forEach werkt niet in elke browser, _.each (of _.forEach) wel. [].map().reduce() werkt niet in elke browser, _.map() en _.reduce() wel.
Ook het filteren, met _.filter, _.where, en _.find werkt nogal verdomd handig. De hoogste floor vinden? Native js leest al een stuk lastiger dan _.max(floors, 'level').level; Alleen de levels in een array krijgen? _.pluck(floors, 'level') -> [1,2,3,4,5]. Floor 3 vinden? _.where(floors, { level: 3 }); Daar ga ik echt geen for of while lus meer voor gebruiken.
Mijn tip om op de lodash aanwezigheid te attenderen, was dus geen tip om makkelijker te ittereren, maar meer een tip voor het bredere denkwerk.
Nou haal je wel een klein beetje je eigen argumenten van net onderuit heStruikrover schreef op maandag 26 januari 2015 @ 11:25:
Tja, je moet inderdaad wel weten welke lib je gebruikt, anders ben je al gauw de l*l als je denkt dat je performance wint. Dat is ook het lastige van libs, er wordt lang niet altijd getest of ze beter zijn dan native.
Een simpele functie als "pluk iets uit een lijst" kun je bijvoorbeeld ook zo schrijven:
1
2
3
4
5
6
7
8
9
10
| Array.prototype.Where = function (predicate) { var result = []; for (var i = 0; i < this.length; i++) { if (predicate(this[i])) { result.push(this[i]); } } return result; }; |
Nou kan dit stukje code ongetwijfeld nog veel beter, maar voor enkel intern gebruik voldoet het in mijn ogen prima. Zo zou je moeten checken of predicate wel een function is en zou er nog iets van foutafhandeling in kunnen.
We are shaping the future
Glass Eye Photography | Zelfbouw wireless fightstick | Mijn puzzel site
Hahaha kloptEddoH schreef op maandag 26 januari 2015 @ 11:30:
[...]
Nou haal je wel een klein beetje je eigen argumenten van net onderuit he![]()
Bestaande types prototypen is sowieso al een slecht idee. Aangezien jij geen controle hebt over het Array object, weet je niet wanneer jouw code ophoudt te werken.Alex) schreef op maandag 26 januari 2015 @ 11:30:
Een simpele functie als "pluk iets uit een lijst" kun je bijvoorbeeld ook zo schrijven:
JavaScript:
1 2 3 4 5 6 7 8 9 10 Array.prototype.Where = function (predicate) { var result = []; for (var i = 0; i < this.length; i++) { if (predicate(this[i])) { result.push(this[i]); } } return result; };
Nou kan dit stukje code ongetwijfeld nog veel beter, maar voor enkel intern gebruik voldoet het in mijn ogen prima. Zo zou je moeten checken of predicate wel een function is en zou er nog iets van foutafhandeling in kunnen.
En natuurlijk kan je alles ook zelf schrijven, maar jouw huidige versie (hierboven), is al niet gelijk aan de lodash _.where:
1
2
3
4
5
6
7
8
9
10
11
| //https://lodash.com/docs#where var characters = [ { 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }, { 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] } ]; _.where(characters, { 'age': 36 }); // → [{ 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }] _.where(characters, { 'pets': ['dino'] }); // → [{ 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] }] |
Ook de aanroep _.where(characters, { 'age': 36 }); vs characters.Where(function(c) { return c.age === 36 });
Kwestie van persoonlijke voorkeur, maar die van lodash vind ik mooier. Daarnaast, waarom zou je voor dit soort basic dingen telkens het wiel opnieuw uitvinden? Het .net framework omarmen wanneer je in C# programmeert is bijna vanzelfsprekend, maar een paar standaard libs voor websites niet?
Met de huidige build tools, zal er geen extra request nodig zijn. Het gaat dus om het embedden van een paar kb, in het tijdperk van mb en bijna gb internetsnelheden. De telefoon als zwakke schakel kenmerken werkt ook niet meer. Mobiel internet is bijna sneller als de gemiddelde huisaansluiting.
Ik denk dat we degene moeten vervloeken die nog steeds niet minifyen en bundlen, maar kleine libs... ach. Kijk, mocht je nou zowel BaconJS als RxJS gaan includen omdat ze beide net die ene handige method hebben, dan wordt het een heel ander verhaal.
Het is meer een gedachtegang. Prima die éne lib, maar meestal werkt het niet zo. Kijk naar Wordpress, bij menig WP website moet ik iets van 120 requests doen om een relatief simpele homepage te laden. Ja, het zijn niet allemaal libs maar er komt elke keer zoveel meuk bij dat het nergens meer over gaat.GateKeaper schreef op maandag 26 januari 2015 @ 11:40:
[...]
Ik denk dat we degene moeten vervloeken die nog steeds niet minifyen en bundlen, maar kleine libs... ach. Kijk, mocht je nou zowel BaconJS als RxJS gaan includen omdat ze beide net die ene handige method hebben, dan wordt het een heel ander verhaal.
Ik snap waarom mensen lodash gebruiken of jquery, maar soms slaan mensen door EN wordt er te simpel iets gebruikt terwijl het niet nodig is omdat men de pure basis kennis niet meer heeft en domweg afhankelijk is van een lib.
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.

