Newsletter #2



Dit is issue #2 van een semi wekelijkse email die ik wat mensen stuurde om wat irritatie af te reageren. Gelijkenis met waargebeurde situaties en bestaande personen zijn opzettelijk en correct. (Als je de hitte niet aan kunt, verlaat dan de keuken).



Tijdsplanning



Rustig en redelijk ontspannen zit ik te werken. Dat kan natuurlijk nooit lang duren, dat snap je.
De onbenullige redacteur komt naar me toe.
Ik wilde het even met je hebben over de tijdsplanning.
De tijdsplanning?
Ja, ik vind het wel nuttig om een aantal kaders vast te stellen waarbinnen we kunnen zeggen dat onze tijd ligt.
Wat?
Ik wil graag weten hoe jij inschat dat we met onze tijd zitten.
Je wil weten hoe lang het nog duurt?
Ja.
Geen idee.
Hij lacht hartelijk. Je hebt geen idee zeg je?
Dat klopt.
Waarom precies niet? Het hoeft niet heel nauwkeurig, maar een globale inschatting lijkt me wel handig.
Hier wordt het gevaarlijk. Iedereen weet exact hoe dit gaat. Als ik zeg, 'een week of twee' dan is er opeens een keiharde deadline over 2 weken. Als ik zeg 'een week of vier' dan zegt hij dat dat vast niet zo lang duurt. Als ik dan zeg dat het een ruwe schatting is, wil hij een nauwkeurigere. Ik dek me dus flink in. Nou, ik kan daar absoluut geen inschatting van maken.
Maar waarom dan niet, je kan toch wel zeggen hoe lang een onderdeel duurt om te maken aan de hand van andere onderdelen?
Ik speel mijn troef.
Dat zou kunnen, als ik wist wat er nog gedaan moest worden. Het zit echter zo dat je normaal een FOTO maakt, en aan de hand daarvan maak je dan een tijdsplanning. Dat kost natuurlijk tijd om te doen, en bij dit project is er voor gekozen tijdwinst te halen door die stappen over te slaan [red: echt waar!] en daarom ben ik us zoals mij verteld is gewoon meteen begonnen.
Een foto?
Ja, een Functioneel Ontwerp en een Technisch Ontwerp. Het zou mooi zijn als we die nog hadden van de originele site, maar die schijnt niemand te kunnen vinden
Maar je kunt er dus helemaal niets over zeggen?
Nou ja, ik denk iets van de helft van de tijd van het origineel. Gelukkig weet ik dat dat drie man waren en 3.5 maanden.
Eh, ja, hoe lang dat was weet ook niemand meer precies. Zullen we er anders nu even doorheen lopen?
Ja prima, ik maak altijd het liefst even snel een planning met een onbenul naast mijn bureau.
Vervolgens noemt hij het onderdeel waar ik nu mee bezig ben, en een andere. Dan is er nog integratie met het nieuwe design. We komen op ongeveer 8 dagen. Ik krijg zelfs heel gul twee dagen extra in verband met onvoorziene omstandigheden.
Ik pak de website er bij en wijs hem op nog 8 andere onderdelen van 2 tot 4 dagen per stuk.
Ja okee, dat is dus 8 extra maal 2 dagen = 16 dagen, dus ongeveer 2 weken.
Plus de dingen die je eerder noemde, en het hangt ook af van de kwaliteit van het design. Ik moet namelijk zelf gaan knippen en plakken uit iemand die ik niet ken zn photoshop.
Ja inderdaad ja. Dan komen we dus op drie weken.
De woorden hebben zijn mond nog niet verlaten, of hij loopt al het kantoor van de directeur binnen. Door de goedkope triplex wandjes hoor ik hem luid en duidelijk zeggen "Nog een week of twee met uitloop naar drie, en an is het af.



Cookies in PHP



Op de website zit een OnLoad popup. Het is natuurlijk heel vervelend als iemand die elke keer weer krijgt te zien. Ik mag ervoor gaan zorgen dat iedere bezoeker elke popup maar één maal krijgt. Makkelijk genoeg dacht ik zo. Ik gooi het ID van de popup in een cookie, en dan is het een oefening voor de lezer geworden.
Cookies dus. Vol goede moed ga ik op zoek naar een library of zoiets met cookie functies. Zowaar, er is er een. Nergens commentaar een uitleg natuurlijk (wat zou het verschil zijn tussen add_cookie en set_cookie?) maar goed. Alles gefixt, alles komt goed, probleem opgelost, kat in 't bakkie.

SLAP SLAP
Affijn, in de realiteit werkt het anders. Er worden namelijk geen cookies gezet. De library maar eens opnieuw bekeken dus. Een stuk of drie functies die allemaal bijna helemaal hetzelfde doen, maar niet helemaal. Alles staat vol met cruft en troep ook trouwens. Ik besteed er een paar minuten aan om er wat commentaar bij te zetten en wat licht op te schonen. Het is me inmiddels duidelijk dat ik in ieder geval alles goed doe. Ik ga dus op zoek naar de plek waar de cookies daadwerkelijk gezet worden. Er worden uiteraard nergens cookies gezet, blijkt na een half uurtje. Tijd om het eens aan een collega te vragen.
Eh! Wat is de deal met de cookies?
Ja, die staan uit dus.
Kan ik die aanzetten?
Wat mij betreft wel, maar dat gaat niet goed, dus dat haddden we maar uitgezet.
Wat ging er niet goed dan?
Dat weet ik niet.
Onvervaard enable ik dus het senden van de cookies, en krijg meteen de vertrouwde errors dat er al headers gestuurd zijn, en dat die cookies dus niet alsnog kunnen en bla bla. Nouja, bekend terrein dus, included PHP gebeuren met spaties die ervoor zorgen dat de output begint. Ondertussen hebben mijn gewaardeerde collega's ook ontdekt dat er iets mis is. Sterker nog: vier websites hebben nu te kampen met flinke lijsten foutmeldingen. Sterker dan sterker nog: vier LIVE sites hebben nu te kampen met foutmeldingen. Ik heb natuurlijk alleen maar dingen veranderd op een development server, maar een van de eerder genoemde collega's kopieert altijd de hele website nadat hij iets heeft aangepast, en omdat die vier websites eigenlijk één website zijn kan het gebeuren dat, nou je snapt het zelf ook wel. Men verzamelt zich rond mijn bureau, en meester Chris geeft PHP les. Je begrijpt dat een persoon het teveel moeite vind om spaties aan het eind van zijn bestanden weg te halen, of zoals hij het zegt, "We kunnen onze tijd beter besteden aan nuttigere dingen dan het corrigeren van foute codering". Een ander wil ook graag van de cookies af, omdat hij namelijk altijd het volgende doet. [red: hier komt het] Hij debugged zijn code altijd door in PHP, buiten de templates om, het volgende te doen:

   print "<script language='javascript'>alert($someVarHere);</script>";

Serieus.

Natuurlijk vind hij ook dat hij een soort senioriteit heeft omdat hij hier langer werkt. Voor mijn acutere probleem hoe anders op een logische/normale manier users kan tracken heeft hij twee voorstellen:
1. Een signed window
2. Een popup

Ik vraag natuurlijk meteen om uitleg. Het blijkt dat een 'signed window' iets is waarme je meer controle kunt krijgen over de computer van een gebruiker, maar hij/zij moet dan wel eerst 'ja' aanvinken. Na een tijdje wordt het mij duidelijk dat een doelt op een ActiveX control. Het is me verder niet duidelijk hoe dit mij moet helpen in mijn queeste naar cookies.

Dan is er de popup. Meteen wordt toegegeven dat dit makkelijker is als een signed window, en dat hij deze truuk ook altijd toepast. Het werkt als volgt:

1. in een template zet je een stukje code die Foo doet als het cookie gezet is, en anders Bar.
2. zodra de pagina laad van dat template, geeft deze pagina een kleine popup.
3. deze popup zet een cookie.
4. de popup laat de originele pagina reloaden, en sluit zichzelf dan.

Het spreekt voor zich dat cookies nu gewoon werken zoals normaal, en mijn collega's druk bezig zijn met het verwijderen van spaties uit hun code.



Organisaties



Het is weer zover. De onbenullige redacteur heeft weer een aantal instructies verzonnen.
Gelukkig is hij inmiddels door de baas verplicht het projectsysteem te gebruiken. Eenvoudig kan hij daar een nieuwe taak invoeren waar ik dan meteen email van krijg. Als hij denkt dat er dingen nog onduidelijk zijn bestaat er zelfs de mogelijk om notities toe te voegen. Ik ben enorm blij dat hij het systeem ook gebruikt want dat scheelt heel veel onduidelijkheid en geeft eenvoudig inzicht in waar iedereen mee bezig is.
En daar heb ik al email! Gelukkig zijn we er nu samen uit gekomen, en paste hij geen enorme Word documenten in taakbeschrijvingen meer.
En dit is de email die ik ontving:

   A new task has been added to project 'Ziekenhuis.nl'
   Description:
   Organisaties

Pardon? Organisaties? Dus?
Hmm, denk ik bij mezelf. Ik kan het natuurlijk wel gaan vragen, maar dan gaat hij weer een uur staan zwammen. Bovendien, haddden we niet afgesproken dat hij taken zou invoeren? Met duidelijke omschrijvingen? Hebben we het daar niet een keer of tien over gehad? En dat hij dan alle Word documenten die hij had gemaakt niet opnieuw hoeft in te voeren, maar dat hij nieuwe toevoegingen er wel in zou zetten? Mijn bloeddruk stijgt alweer.

Nog een email.

   ORGANISATIES

   Kan op nieuwe site op indentieke wijze worden gepresenteerd, alleen bij
   pagina 'toon gegevens organisatie' kan nog het veld 'emailadres' worden
   gevoegd, direct onder het veld Website (E-mail:
   organisatie@ziekenhuis.nl). In de tabel site_beroepsorganisaties staan
   ook nog velden als activiteiten, doelgroep en publicaties. Als het niet
   teveel moeite is kun je deze meenemen op de website, al worden ze op het
   moment niet getoond omdat ze allemaal leeg zijn (en dat blijft ook nog
   wel even zo).

Wat De Fuck? Wat is dit nou weer? Dit snapt toch niemand? Is het nou absoluut onmogelijk voor die man om precies te zijn?
Om het even overzichtelijk te maken, dit is er allemaal fout:


En als allerbelangrijkste:

DIT IS NIET DE AFGESPROKEN MANIER OM TAKEN TOE TE WIJZEN, SLAPPE ZAK!!



Tabellen



De website www.achmeahealth.nl bestaat uit twee dingen. Het Script der Verdoemden en een template (min of meer) van 31 tabellen. Dat is helemaal niet erg, zolang je daar niets aan hoeft te veranderen. Helaas wil het lot anders. Mij is te kennen gegeven dat een rubriek wat naar beneden moet, een andere wat smaller en een nieuwe er ergens tussen. Dit allemaal omdat er een polletje in moet. Na een half uurtje zoeken heb ik de template van de hoofdpagina gevonden. Met eenendertig tabellen. De enige manier om die paar dingen op te schuiven is dus de hele pagina opnieuw te maken. Niets was eenvoudiger geweest dan een rowspan="3" te veranderen in een rowspan="2", maar het mocht niet zo zijn.

Als ik toch bezig ben, kan ik net zo goed even de boel opschonen. Dit trof ik aan:
- <link href="L:\USER\Joseph\Achmea_restyle\www2\docs\_style\style_achmea.css" rel="stylesheet">
- een DOCTYPE halverwege het document
- een <HTML> tag halverwege het document
Dit:
    <TD width="492" height="465" valign="top">
      <TABLE cellpadding="0" cellspacing="0" border="0">
        <TR>
          <TD width="328" height="240" valign="top">
            <TABLE cellpadding="0" cellspacing="0" border="0">
              <TR>
                <TD width="328" height="120" colspan="4" valign="top">
                  <TABLE cellpadding="0" cellspacing="0" border="0">
                    <TR>
                      <TD width="328" valign="top">
                        <TABLE cellpadding="0" cellspacing="0" border="0">
                           <td width="75" valign="top">
                              <table cellpadding="0" cellspacing="0" border="0">
(een keer of 6)

Affijn. Uren gaan voorbij. Uiteindelijk zijn er 17 tabellen over, en is de filesize van 22K naar 14K gegaan. Maar, mijn arbeid is nog niet gedaan. De mensen can Achmea zijn mierenneukers en willen ook nog een ander knopje voor de poll, een linkje moet 2 pixels naar rechts, een tekstje moet wat witruimte krijgen en noem alle onzin maar op. En weet je wat het allermooiste is? Dit allemaal voor 2000 dagelijkse bezoekers.