powerbook

Het is zover. Reeds een week hebben we hier een 12 inch powerbook in huis. En sinds vandaag ook een Airport Extreme Base Station. En nu zit ik hier al drie uur vanuit mijn bed eBay te volgen.

Die powerbook is gewoon schitterend. Perfect om te surfen, te e-mailen, en zelfs te coderen. En met airport begeef ik mij draadloos om het even waar in huis, voorzien van internet en file server connectie. Never again komt hier nog een desktop binnen.

(Het is wel absoluut waar wat ze zeggen: het ding wordt warm, vooral aan de kant linksonder. Ik vermoed dat daar ofwel de CPU zit, ofwel de HD. Maar draaglijk warm.)

De powerbook is bovendien ook standaard met bluetooth uitgerust, zodat we nu via iSync alweer draadloos de GSM (Ericsson T39) en de Palm (Tungsten) kunnen syncen.

Klein detail: de powerbook en de tungsten zijn van Tessa, zodat ik hier meestal (on)geduldig mijn beurt zit af te wachten.

somtijds

Slechts zelden zal ik iets over het werk posten. Maar soms is het toch echt wel wat te veel van het goede. Een e-mail van een consultant gekregen, die een van onze *gratis* nieuwsbrieven had ontvangen in PDF.

– dat er in de e-mail stond dat de nieuwsbrief ook vanop de website kon gedownload worden, maar dat hij gezocht heeft, maar die niet kon vinden
– of we soms onze lay-out niet konden wijzigen van 3 kolommen naar 1, want hij kan de texttekst niet copy-and-past-en. En als dat niet ging of we de hele handel niet als word document of als html konden doorsturen

Zie, ik probeer mij in dergelijke dingen niet op te winden.

Ook niet als de link naar de nieuwsbrief op de fucking homepage van onze website staat, als het fucking derde woord op de fucking eerste lijn.

Ook niet als ik weet dat je tekst uit een PDF gewoon kan knippen en plakken. Zelfs al staat die in kolommen, dan nog wordt de gekopieerde tekst gewoon in de “logical flow” in het nieuwe document geplaatst.

*zucht*

phoenix links

phoenix is not dead. simply behind schedule.

blogzilla, rising phoenix, phoenixwiki, phoenix homepage, extensions, help

voor mij is phoenix de beste browser voor windows. al moet ik zeggen dat ik zeer onder de indruk ben van opera: sneller, eenvoudiger om style sheets te switchen (en dus je site te checken voor andere browsers / text-only), en zeer standards compliant. het enige wat er me van weerhoudt om naar opera over te schakelen is niet (alleen) het feit dat je ervoor moet betalen –als je tenminste van de advertising af wilt– maar vooral de manier van tabbed browsing. af of aan. geen middenweg zoals bij de mozilla’s.

de tijd van het jaar

(een + twee + drie)

het moet de tijd van het jaar zijn. niet het vallen van de bladeren, niet de geneugten en evenzozeer hinder van de eerste sneeuw. nee, vermoedelijk zijn het eerder de resten van een milde post-nieuwjaars depressie waarin de buiken te dik, het weer te somber en het (vijretijds-)leven te druk is.

maar waarschijnlijk is het gewoon een prozaïscher toeval.

nog beter

opera houdt ook rekening met de structured navigation tags, zoals bvb:

<link rel=”start” href=”http://www.xii.be/12/” title=”Home” />
<link rel=”prev” href=”http://www.xii.be/12/000202.htm” title=”beslist” />
<link rel=”next” href=”http://www.xii.be/12/000204.htm” title=”beter” />

als je naar een pagina gaat die deze informatie meedraagt, verschijnt er in opera een extra navigatiebar (discreet), die je de mogelijkheid biedt verder door de site te navigeren door middel van home, previous, en next (er zijn ook nog index, contents, search, glossary, help, first, last, up, copyright en author).

(ook de mozilla-based browsers gebruiken dit –je moet het wel specifiek aanzetten)

voor meer informatie, cfr providing additional navigation aids op mark pilgrim’s dive into accessibility website.

minder goed is dan dat je (blijkbaar) verplicht bent te kiezen ts tabbed or non-tabbed browsing. beide opties tegelijk –zoals bij de mozilla-based– lijkt niet mogelijk (ik heb het toch nog niet gevonden); het is ofwel open pages in new window, ofwel niet. als de optie afgevinkt staat, kan je geen pagina in een new window openen, zelfs niet wanneer je target=”blank” specifieert. de pagina opent dan steeds in een new tab.

beter

opera 7 is uit (al twee dagen). snel, maar buggy (al vijf keer gecrashed in de 15 minuten dat ik ermee gewerkt heb). groot voordeel van opera vind ik dat je die goed kan gebruiken voor het checken van accessibility, via de user mode: emulate text browser, accessibility layout, etc.

Opera comes equipped with 12 new style sheets, varying from helpful features for users and developers, to the more zany like a Commodore 64 browser emulator. By choosing style sheets such as “Accessibility layout” or “High contrast B/W” users can in a snap modify pages for an easy read. Developers immediately benefit from features such as viewing structural elements without constantly reverting to its source code.

ondertussen is er ook checky voor de mozilla-based browsers

Checky adds a submenu to Mozilla’s context menu that allows you to run whatever page you’re on through one of (currently) 18 different online validaton and analysis services. Checky-Agent can be activated from the Checky menu or by simply pressing the F10 key. So, for example, you could run your page against the W3C’s markup and CSS validators, the Web Design Group’s HTML Validator, and Watchfire’s Bobby with a single keystroke and diesplay the results in a new browser window or tab.

en zelfs als je geen mozilla-based browser gebruikt, neem toch eens een kijkje op de supported services page voor een nuttige linklijst van free and commercial online Validator and Checker services

hehehe

da’s echt wel leuk. krijgen ze eens een koekje van eigen deeg.

That’s because on a January morning three months after the suit was filed, Amsterdam-based Kazaa.com went dark and Zennstrˆm vanished. Days later, the company was reborn with a structure as decentralized as Kazaa’s peer-to-peer service itself. Zennstrˆm, a Swedish citizen, transferred control of the software’s code to Blastoise, a strangely crafted company with operations off the coast of Britain – on a remote island renowned as a tax haven – and in Estonia, a notorious safe harbor for intellectual property pirates. And that was just the start.
Ownership of the Kazaa interface went to Sharman Networks, a business formed days earlier in the South Pacific island nation of Vanuatu, another tax haven. Sharman, which runs its servers in Denmark, obtained a license for Zennstrˆm’s technology, FastTrack. The Kazaa.com domain, on the other hand, was registered to an Australian firm called LEF Interactive – for the French revolutionary slogan, libertÈ, ÈgalitÈ, fraternitÈ.

wired: the race to kill kazaa

nog verder

het probleem van variabelen in links. ik had eventjes een probleem met de link voor de css validatie. het probleem is dat de link als variable een link meedraagt. zo je wilt, de link is:

http://jigsaw.w3.org/css-validator/validator

en de variablen die ze meedraagt zijn

uri = http://www.xii.be/12/styles-site.css
warning = 1
profile = css2

of, in een groep:

uri=http://www.xii.be/12/styles-site.css&warning=1&profile=css2

geen probleem, zei ik in mijn vorig stukje, je vervangt volgens de specs de & gewoon door &amp; of nog beter, door %26 want dat vond ik eleganter. maar die vlieger gaat hier niet op. er worden immers drie variabelen meegestuurd, en een van die variabelen is een link.

volgens verdere specs moeten in URI’s alle gereserveerde tekens escaped worden. niet gereserveerde tekens zijn het basisalfabet (hoofd- en kleine letters) en een beperkte set van punctuatietekens en anders symbolen (“-” | “_” | “.” | “!” | “~” | “*” | “‘” | “(” | “)”)

voor het http protocol gebeurt dat (meestal) automatisch: je geeft een link in je browser in, en (ik vermoed) de browser vertaalt alle probleemtekens. op een of andere manier wordt er toch nog een onderscheid gemaakt tussen de tekens die door de browser worden vertaald, en de tekens die in de link zelf reeds aanwezig waren.

want wanneer je probeert om in onze variabelen, de & te vervangen door %26 krijgen we een foutmelding. immers, de variabele ziet er dan als volgt uit:

uri=http%3A%2F%2Fwww.xii.be%2F12%2Fstyles-site.css%26warning=1%26profile=css2

waardoor de validator slechts 1 variabele (uri) ontvangt ipv 3 (uri, warning, profile). die variabele ziet er dan overigens, een beetje leesbaarder, als volgt uit:

http://www.xii.be/12/styles-site.css&warning=1&profile=css2

het komt er dus blijkbaar op neer om zoveel mogelijk van die voor URI vertaalde tekens af te blijven, en steeds de html character entities te gebruiken. zo gebruik je dus nergens in je document &, maar steeds &amp; (of zelfs &). de (voorlopig) enige plaats waar je URI escaped characters gebruikt in HTML of –meer specifiek– in links (%26 ipv &amp;), is in de waarde van de variabelen die in je link voorkomen.

onze reeks variabelen zien er dan als volgt uit:

uri=http%3A%2F%2Fwww.xii.be%2F12%2Fstyles-site.css&amp;warning=1&amp;profile=css2

zeer handige links:
HTML Codes – Characters and symbols: Standard ASCII set, HTML Entity names, ISO 10646, ISO 8879, ISO 8859-1 Latin alphabet No. 1; Browser support: All browsers

A tutorial on character code issues

RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax

en verder

nee, deze site valideert niet (de css wel). dat is ook niet absoluut noodzakelijk. de inhoud is wel overal beschikbaar, en overleeft zelfs de meeste van bobby’s vereisten.

de vier grote fouten van deze site zijn (in volgorde waarin ze voorkomen):

1. ID “entry” already defined

uitleg:

An anchor name is the value of either the name or id attribute when used in the context of anchors. Anchor names must observe the following rules:
* Uniqueness: Anchor names must be unique within a document. Anchor names that differ only in case may not appear in the same document.

correct, maar in mijn geval wordt de id niet gebruikt in the context of anchors, maar als css referentie. maar goed, het blijft een anchor voor een layer. hoe pak ik dit aan? door die id entry uit mijn template te halen, en te vervangen door een hr, of door de div te vervangen door een span? nope. een hr. probleem opgelost.

2. document type does not allow element “blockquote” here

en ik weet waarom. mijn fout? of een bug in mt? in de editor van deze website staat namelijk convert line breaks aangevinkt. vroeger deed mt ook letterlijk dat, namelijk de linebreaks vervangen door <br />. nu is mt veel intelligenter, en vervangt het twee opeenvolgende linkebreaks door een <p> (inclusief de closing tag </p> aan het eind). helaas houdt mt nog geen rekening met eventuele blockquotes. en een blockquote mag niet binnen paragraph tags staan.
de oplossing is convert line breaks afvinken, en volledig naar manuele html over te schakelen. but that kind of defeats the purpose?

3. non SGML character

yep. de citaten zijn immers knip-en-plakwerk, en alle tekens blijven staan zoals ze in de originele tekst staan.
twee oplossingen: (1) alles manueel wijzigen –zal ik vanaf nu doen– en/of (2) de smartypants plugin installeren.
eigenaardig wel dat de validator niet valt over non-html characters zoals é ipv &eacute; maar wel over & ipv &amp;

4. general entity “subsectionid” not defined and no default entity

vergelijkbaar met 3. uitleg is als volgt:

The validator has found an entity (something like &this;) that it doesn’t recognize. There are a few possibilities:
* A reference to a URI that uses & as a separator between parameters, such as “http://example.org/prog?x=1&y=2”.
To solve this problem, simply replace all the &’s in attribute values with & (user agents will convert them back before following the links.)

yeah right. je kan ze ook vervangen door %26, wat mij eleganter lijkt. maar dit lijkt mij echt wel een bug in de specs of in de validator (ook straight links valideren niet op die manier).

resultaat: drie zaken opgelost (1, 3 en 4), maar van (2) blijf ik voorlopig af.

compliance

informatie is het belangrijkste aspect van het internet. die informatie (voor iedereen) toegankelijk maken is de belangrijkste taak van de webdesigner information architect webmaster persoon of organisatie die op het internet publiceert.

hoor mij bezig. vroeger zou ik bij hoog en bij laag beweerd hebben dat niet de informatie, maar de presentatie het belangrijkste was. maakt niet uit of je kan lezen wat er staat, het moet goed ogen. beide gaan natuurlijk hand in hand (tot op een zeker hoogte), al was het maar omdat goed gepresenteerde informatie gemakkelijker ingang vindt.

maar goed. twee ‘dingen die op mijn zenuwen werken’:

ding 1: standards compliance is de holy grail van het internet.
nope. maar toegankelijkheid is dat wel. regel 1 voor een succesvolle website is overigens niet de inhoud, maar wel de beschikbaarheid van die inhoud. standards compliance is daar een middel toe, maar niet het doel op zich.

ding 2: client side toestanden. behalve html rendering zie ik de noodzaak van client side niet in.
de dooddoener javascript? waarom? om de css aan te sturen? (vergelijk eric meyer’s oplossing met de preference page van brad choate)
leuke gizmo’s, en leuk voor spelletjes, maar niet noodzakelijk. alles wat ‘noodzakerlijkerwijs’ client side gebeurt kan ook (en beter en veiliger en zonder 27 hacks voor de verschillende browsers) server side gebeuren. (groot gelijk michel)
client side css hacks? doe het maar liever zoals mark pilgrim voorstelt

In lieu of CSS hackery […] I have decided to handle browser differences with mod_rewrite. Each page links to two stylesheets: mu.css and om.css. Everybody gets mu.css, and the bulk of my styles are defined there. But for browser-specific workarounds, om.css gets redirected based on rules I set up in my .htaccess file

BTW het is al evenmin noodzakelijk dat sites er exact hetzelfde uitzien in elke browser. zorg er enkel voor de inhoud beschikbaar is in elke browser. want de zaken aanpakken zoals b&o, kan gewoon niet. bezoek hun site maar eens met bvb phoenix, dan krijg je dit te zien. ugh.