Hoi! Doe Niet Zo Moeilijk! is het persoonlijke weblog van Max Roeleveld, die graag mag neuzelen over het web — zowel 2.0 als andere versies — Apple, social media en... nou ja, hij hoort zichzelf gewoon graag praten. Desnoods in de derde persoon. Hieronder vind je de meest recente hersenspinsels; het archief bevat er nog veel meer. Ik doe ook nog wat dingen buiten deze site.

Hoe je jezelf ongemerkt en langzaam kunt DDoSen

Ik was een beetje aan het rommelen om DNZM toch eens daadwerkelijk te verhuizen naar mijn thuis-servert — nee, dat is nog steeds niet gebeurd — alleen… Het ding liep iedere keer schijfruimtetechnisch vol. Gisteravond nog wat spul eraf gegooid, 5 of 6 GB vrij, en vanmorgen was het weer vol. Raar. Eigenlijk was die 5 à 6 GB al aan de vrij lage kant; er zit “maar” een 40 GB schijf in, maar voor een simpel servertje zou je daar meer dan genoeg aan moeten hebben.

Na wat rondgepord te hebben met du kwam ik erachter dat de bulk van alle verbruik in /tmp zat. Eén ls later zat ik, hardop facepalmend, te wachten tot het probleem opgelost was. Zoals wel vaker vond ook dit probleem zijn oorsprong tussen de stoel en het toetsenbord…

Xdebug

Een paar maanden geleden ontdekte ik Xdebug, een extensie voor PHP die het debuggen makkelijker maakt. Eén van de mogelijkheden van Xdebug is het genereren van een profiel van een draaiend PHP-script, door een bestand op te slaan met wat informatie over welke functies werden uitgevoerd, en hoe vaak, en hoe lang dat duurde. Vrij handig als je een app aan het ontwikkelen bent en je wilt weten waar eventuele bottlenecks zitten.

Het nadeel ervan is dat het, op een server die de hele dag door allerlei PHP-script staat uit te voeren, de hele dag bestanden genereert, soms nog vrij grote bestanden ook. U ziet vast al waar dit heen gaat?

Ik heb blijkbaar die automatische traces een keer aangezet en er nooit meer bij stilgestaan.

Honderdmiljoenmiljard bestanden weggooien later was er volgens df weer zo’n 6 GB vrij. Mooi, zou je zeggen, ware het niet dat du vertelde dat er op de hele schijf (van 40 GB, dus) maar iets van 4.5 GB in gebruik was. 40 – 4.5 is, volgens mijn beperkte hoofdrekenkunsten, iets meer dan 6. Er was dus nog iets aan de hand.

Over du en df en in gebruik zijnde bestanden

Uit een klein stukje googlen werd duidelijk dat df en du verschillend kunnen denken over de hoeveelheid verbruikte ruimte, als er nog bestanden open staan. Dat bleek het geval; er draait op het systeem een PHP-script als daemon (in tegenstelling tot een vanaf de webserver opgeroepen script bleef het dus full-time doordraaien) en, uiteraard, dat script werd door Xdebug geprofileerd, en dat script had dus een — episch grote — file openstaan.

Script gestopt, en even later waren du en dh het eens over hoe het met de vrije ruimte was gesteld: 30GB vrij.

Lessen geleerd

  • Op een (semi-)productiemachine moet je voorzichtig zijn met profiling, en zeker met automatische profiling
  • Als je home directory niet de grootste verbruiker is, wordt het tijd om naar /var en /tmp te kijken
  • Als je na uitgebreide wis-acties een verschil tussen du en df ziet, wordt het tijd om met lsof | grep 'deleted' te kijken of er nog ergens (grote) bestanden open staan die al verwijderd zijn.

Geplande downtime ergens dit weekend

Ik ga de boel verhuizen naar een andere server, dus DNZM zal ergens dit weekend even offline of anderszins minder geweldig bereikbaar zijn.

Niet dat ik nou van die enorme hoeveelheden traffic trek, dus de overlast zal minimaal zijn, maar toch. Ik meld het maar even.

4 maanden geleden, geen reacties. Permalink

Bugfixes

Dat gedoe met Markdown en de stukkende feed? Fixed.

Markdown

Het probleem met Markdown was het gebruik van deprecated functies van PHP, de even simpele als geniale oplossing is WordPress vertellen dat foutmeldingen niet zo nodig naar de gebruiker hoeven te worden gestuurd, dankuwel. In de dichtstbijzijnde wp-config.php deze regel toevoegen:

define('WP_DEBUG', false');

Opslaan, reload, rejoice. Blijkbaar zit die switch er al tijden in, maar is die ergens van “standaard uit” naar “standaard aan” gegaan. Bij mij in ieder geval wel.

Te leren uit deze faal: Verander niet zomaar de standaard-instelling als die in in een verleden geïnstalleerde versies nog niet bestond, en als je dat al doet, controleer dan expliciet of de define waartegen je checkt, ook daadwerkelijk defined is. Zo niet, ga dan uit van false, of in ieder geval wat er in de oude situatie zou gebeuren.

Simpeler gezegd: breek niet de installs van je gebruikers.

Feed

De feed was een typisch geval van “let dan toch ook op, gij onnozele”. Ik heb ooit eens FeedWordPress geïnstalleerd gehad, en in een vlaag van verstandsverbijstering (die ik soms aanzie voor “geniale ingeving”) had ik het allemaal zo geregeld, dat in mijn feed de door FWP binnengelutste dingen een link kregen die direct naar het origineel ging. Of zoiets, ik weet het eigenlijk niet meer, en dat dondert verder ook niet.

Wat wel dondert, is dat ik die plugin er ooit heb uitgegooid, en dat sindsdien mijn feeds stuk waren.

Te leren uit deze faal: Als je in je code een functie aanroept die door een plugin o.i.d. wordt gedefiniëerd, zet dan altijd je code in een if (function_exists(... (documentatie). Als ik dat had gedaan, was er nooit een probleem geweest.

TL;DR

Assumptions are bad, mkay?

5 maanden geleden, geen reacties. Permalink

Dikke paniek over CarrierIQ

Ik was de afgelopen dagen hier en daar al wat tegengekomen over CarrierIQ (CIQ), een stukje software op smartphones waarmee carriers (de T-Mobiles, KPNs en Vodafones enzo) de toestellen kunnen laten bijhouden wat er zoal mee gebeurt. In theorie kan zo’n tool handig zijn om problemen te troubleshooten en als zodanig de hooggeëerde klant beter van dienst te zijn, maar waar de gezamelijke onderbroeken nogal van in de knoop raakten, was het feit dat het ding nogal veel bijhield. Te veel.

Bot gezegd, het is spyware die een carrier op je toestel kan hebben geïnstalleerd, en waarmee veel te veel info kan worden verzameld.

Na het nodige leeswerk hier en daar lijkt het erop dat dat hele CIQ vooral kado is gedaan in the good old US of A. Mijn Samsung is in ieder geval, volgens het hier genoemde tooltje, schoon. Dat scheelt dan alweer.

Verder denk ik dat er meer paniek heerst dan strikt noodzakelijk. Het verschijnsel CIQ is al maanden bekend, maar nu er dan wat aandacht aan gegeven wordt, wordt het ook meteen voor een paar maand goedgemaakt.

Niet dat ik het slecht vind dat er aandacht voor is, verre van. Wat ik in de diverse artikelen op diverse nieuwssites en blogs liever had gezien, naast elkaar klakkeloos napraten, is iets meer feitencheck, en vooral informatie over hoe je zelf controleert of je tot de slachtoffers behoort, en hoe je daar eventueel iets aan kunt doen. Op Tweakblogs gaat dat gelukkig iets genuanceerder, en daar zie ik in een korte scan van de reacties vooral “schoon” langskomen, en niet alleen bij de custom ROMs.

Los daarvan: schokkend is het eigenlijk allemaal niet. Het verzamelen van zoveel mogelijk informatie over (mogelijke) klanten lijkt steeds meer de core business van steeds meer grote bedrijven te worden. Dit is gewoon het zoveelste hoofdstuk in het boek over privacy, en over hoe dat al lang niet meer van toepassing is.

5 maanden geleden, geen reacties. Permalink

Dan laat ik na een half jaar eens wat van me horen, is het nóg faal…

Ik kwam er laatst achter dat zo’n beetje alle content hier weg leek te zijn. Iets met de Markdown-plugin die een foutmelding gaf en dus geen gMarkdownificeerde tekst.

Lastig.

Voor nu heb ik even Markdown uitgeknikkerd, zodat er in ieder geval weer tekst staat. Dat is dan wel meestal wat kale tekst, maar het is even niet anders. Markdown is er juist op gebouwd om ook zonder rendering leesbaar te zijn, dus tja.

Zodra ik de boel weer goed werkend heb merkt u dat vanzelf…

Observaties: diversen

De barbequeue moet toch even opwarmen; dan kan ik best even het volgende met u delen:

  1. Mijn 1-april-grap dit jaar kan geslaagd genoemd worden.

    Eigenlijk was-ie vooral bedoeld als teken van leven (EVE vreet nogal wat tijd, waarover straks misschien meer), maar die anderhalve regel heeft wel tot de grootste piek op de statistiekhoerenteller ever gezorgd. Vorige topmaand was januari vorig jaar ergens, ik vermoed vanwege die dertig-dagen-vegetarisch actie.

    Grootste klikveeleverancier was Hyves, of all places.

  2. Over statistieken en ander achtergrondgeneuzel gesproken… “tu tu tu tu tu tu tu tu du tu tu” als zoekterm om op gevonden te worden? Seriously?

  3. EVE vreet tijd, dus. Ik ga het wel weer een beetje terugschalen van “belachelijk veel uren per week” naar “lichtelijk overdreven veel uren per week”, maar de overstap van brave missie-grinder (PvE) naar piraat (PvP) bevalt enorm goed.

    Komt later vast nog meer over.

  4. Drie punten is wel genoeg. Ik ga eens kijken hoe ver die barbequeue is.

meer dan 1 jaar geleden, 4 reacties. Permalink

Zo

En toen waren we er weer, soort van.

De boel is een beetje verlaten geweest — werk en EVE-verslaving — en een boefje heeft kans gezien om wat rommel achter te laten — waarvoor excuses, en het is weer opgeruimd.

Over naar de orde van de dag. Volgend jaar ergens komt er wel weer eens een post van meer dan drie regels. =]

Oh, en Maarten heeft eindelijk een nieuwe lay online. Doet u even kijken?

meer dan 1 jaar geleden, 3 reacties. Permalink

Observatie: Equator

Dat Kinderen voor Kinderen, zongen die niet in hun titelsong altijd zoiets van “een kind onder de evenaar / wordt later vaak een bedelaar” of zo?

Is dat eigenlijk niet verschrikkelijk politiek incorrect, afgezien van ronduit misleidend?

meer dan 1 jaar geleden, 1 reactie. Permalink

Virb gooit het roer om

Social Network-site Virb gaat het helemaal anders doen. In plaats van alternatief voor de MySpaces en Facebooks van deze wereld — ik heb zelf altijd het idee gehad dat men vooral op MySpace mikte — wordt het nu… Nou ja, eigenlijk gewoon een turn-key kant-en-klaar hoster. Of zoiets. In ieder geval: je kunt er een site onderbrengen, gebruikmakend van het CMS van Virb, en daar betaal je voor.

Exit Virb, dus, en ik ben benieuwd hoe het nieuwe business model gaat bevallen. Hun CMS zit goed in elkaar, daar zal het in ieder geval niet aan liggen. En laten we eerlijk zijn, de markt is door Facebook verziekt.

Zo even terzijde — of eigenlijk gewoon in de “deze sites draaien op Virb” lijst — kom je dan trouwens ook juweeltjes als deze tegen.

meer dan 1 jaar geleden, geen reacties. Permalink

Reacties


Elders