OpenLLM-France/wikimedia huggingface dataset:
# Basiskennis informatica/Codering/Bitmap

BMP (een afkorting van bitmap) is een bestandsindeling voor rasterafbeeldingen. BMP-bestanden zijn meestal niet gecomprimeerd, zodat ze vaak veel groter zijn dan gecomprimeerde grafische bestanden die een plaatje van dezelfde afmeting bevatten.
BMP-bestanden kunnen de volgende indelingen hebben:
* 1 bit (2 kleuren);
* 4 bits (16 kleuren);
* 8 bits (256 kleuren);
* true-color (RGB, 8 bits per kleur, dus 24 bits per pixel).
De bestandsgrootte van een typische afbeelding in true-color-BMP-indeling kan als volgt worden berekend:
    bestandsgrootte (in bytes) = breedte (in pixels) * hoogte (in pixels) * aantal bytes per pixel
Dit is exclusief de header en andere overhead. Dus een 800x600-afbeelding beslaat bijna anderhalve megabyte. Hierdoor zijn afbeeldingen in BMP-indeling meestal ongeschikt om te worden verstuurd via het internet of andere relatief trage netwerken. Voor dit onderdeel "codering" is deze bestandsindeling interessant om de wisselwerking te zien tussen die binaire codering en het eindresultaat, bv. door wijzigingen aan te brengen via een hex editor.
# Ubuntu: Linux voor mensen/Aan de slag/Grafische hulp

De Gnome helper toepassing heeft niet alleen de informatie van de man pages, maar geeft ook een overzicht van de grafische omgeving, mogelijke applets die je kan toevoegen aan allerlei balken, en nog veel meer.
* Start deze toepassing door op het vraagteken in de bovenste taakbalk van je openingsscherm te klikken (zie de paragraaf “Opgestart”). Je gebruikt deze toepassing net zoals een gewone web browser: links zijn blauw, klik erop met de linker muisknop.
* Specifieke configuratie
* Het vraagteken is specifiek voor deze Ubuntu. In sommige andere distributies zal je het hulpprogramma in een menu terugvinden in plaats van in de taakbalk.
# Ubuntu: Linux voor mensen/Aan de slag/Bestanden tonen met ls

Zonet zagen we dat het ls commando gebruikt wordt om de inhoud van mappen te tonen. De algemene syntax van dit commando is als volgt:
* ls [optie(s)] [bestand(en)_of_map(pen)]
Als je in handleidingen vierkante haken tegenkomt, betekenen die in deze context dat hetgeen ze omsluiten optioneel is. Inderdaad, ls werkt met of zonder bestandsnaam of mapnaam, en met of zonder opties. Zonder opties krijg je de inhoud van de huidige map te zien:
* ubuntu@ubuntu:~$ ls
* Desktop
Verborgen bestanden of specifieke eigenschappen van bestanden/mappen worden niet getoond. De bestanden/mappen die getoond worden, staan in je home directory, de map waarin je geplaatst wordt bij het opstarten van de terminal. In deze map mag je doen wat je wilt. In bovenstaand voorbeeld is de home directory nogal cryptisch aangeduid met het tilde symbool (~). Meer hierover in de volgende sectie, de paragraaf “Mappen”.
Het overgrote deel van de rest van het systeem is beveiligd zodat je er als gewone gebruiker niets aan kan veranderen.
De huidige map wordt aangeduid met een puntje (.); je kan de huidige map in beeld brengen door de -a optie te gebruiken.
* We gaan niet letterlijk alle computeroutput in de cursus opnemen, dan zou die immers veel te dik worden. Het is de bedoeling dat je de opdrachten zelf ingeeft!
Als je deze optie, -a, opgeeft, zie je gelijk ook nog een ander bestand, namelijk .. (twee punten naast elkaar). Dit staat voor de parent directory of de map die de huidige map bevat. De huidige map bevat ook een aantal verborgen bestanden, die beginnen met een punt. Verschillende bestandstypes worden standaard met verschillende kleuren gemarkeerd: zwart voor gewone bestanden, blauw voor mappen, groen voor uitvoerbare bestanden (programma's). Er is een optie, --color, die standaard geaktiveerd is en dit resultaat geeft.
* ls
* Voer alle commando’s uit die je tegenkomt. Neem de output op in je documentatie. Vergeet niet om het op een begrijpelijke manier te doen!
* Wat betekent het puntje?
* Verwerk in je hoofdstuk over commando’s wat het commando ls doet en welke opties je mee kunt geven aan het commando.
# Ubuntu: Linux voor mensen/Aan de slag/Inhoud van tekstbestanden
## Enkel tekst!

We hebben zo gehamerd op bestandstypes omdat we ons voornamelijk bezighouden met tekst terminals. Met de hulpmiddelen die we zodadelijk en in grote delen van de rest van de cursus zullen bespreken, kunnen we enkel de inhoud van tekstbestanden tonen. Als je geluk hebt, werkt zo'n commando of hulpprogramma ook op niet-tekstbestanden, zoals archieven of gecompileerde programma's. Als je minder geluk hebt, crasht je terminal. In geval van twijfel dus altijd eerst controleren of je wel met een tekstbestand te maken hebt, alvorens een hulpprogramma (commando) in textuele context uit te voeren!

## Het cat commando

Het cat commando, van concatenate, is een van de meest gebruikte hulpprogramma's om inhoud van tekstbestanden over het scherm te laten lopen. Neem bijvoorbeeld de lijst met gebruikers op de computer (passwd, in de /etc map):
[Belangrijk] Probeer dit eens
Wat bemerk je bij het uitvoeren van de opdracht cat /usr/share/doc/python/copyright?

## Het less commando

Het probleem met cat is dat grotere bestanden van begin tot eind over het scherm rollen. Je kan dan wel met het schuivertje rechts in je terminalvenster proberen om het begin te zien te krijgen, maar bij echt grote bestanden zal dat niet lukken. Gebruik in dat geval less:
Enkele basisvaardigheden voor het gebruik van less:
* Druk op de spatiebalk om de volgende pagina te zien te krijgen.
* Druk B om terug te gaan.
* Druk Q om het less programma te verlaten.
* Je kan ook de pijltjes omhoog en omlaag gebruiken om te navigeren. In de volgende sektie (de paragraaf “Man pagina's”) behandelen we een voorbeeld.
# Ubuntu: Linux voor mensen/Aan de slag

Het is nu hoog tijd om Linux eindelijk eens met eigen ogen van dichterbij te bekijken. In dit hoofdstuk leer je:
* Van de Live CD starten.
* Hoe het standaard Ubuntu bureaublad eruit ziet.
* Wat een terminal venster is en hoe het te openen.
* Een aantal basiscommando's.
* Welke vormen van hulp en documentatie er ter beschikking zijn.
# Ubuntu: Linux voor mensen/Aan de slag/Bash truuks

Jaja, zal je zeggen, allemaal goed en wel, maar ik heb al veel moeten typen en dat gaat niet zo vlot voor mij. Inderdaad, zonder de juiste toetsencombinaties te kennen, is een shell niet zo leuk om mee te werken. Daarom gaan we die nu overlopen.
| Toets of combinatie van toetsen | Functie |
| Ctrl+A | Plaatst de cursor aan het begin van de lijn, vlak achter de prompt. |
| Ctrl+C | Beëindigt een lopend programma en geeft je de prompt terug zodat je een nieuw commando kan starten. |
| Ctrl+D | Verlaat de huidige shell sessie, dit staat gelijk met exit of logout. |
| Ctrl+E | Plaatst de cursor aan het einde van de lijn. |
| Ctrl+H | Genereert een backspace, verwijdert het karakter links van de cursor. |
| Ctrl+L | Maakt de terminal leeg, zodat je prompt bovenaan komt te staan. |
| Ctrl+R | Zoek in de commandogeschiedenis |
| Ctrl+Z | Bevriest een programma. |
| Pijltjes naar links en rechts | Beweeg de cursor over en weer op de commandolijn. |
| Pijltjes omhoog en omlaag | Overloopt de commandogeschiedenis. Ga naar de lijn die je opnieuw wilt uitvoeren, editeer eventueel en druk Enter. |
| Shift+PageUp en Shift+PageDown | Overloop de terminalbuffer om tekst te zien die al van het scherm gerold is. |
| Tab | Commando- of bestandsnaam vervolledigen. Als er meerdere mogelijkheden zijn, zal de shell je met een geluidje of een flits waarschuwen. |
| Tab Tab | Toont de mogelijke bestandsnamen of commandonamen om te vervolledigen. |

## Trager van de Live CD

Afhankelijk van de snelheid van je CD speler, kan de reactietijd van de shell en van de toepassingen op het bureaublad nogal tegenvallen, zelfs al gebruik je alle features. Als we eenmaal de Ubuntu omgeving echt geïnstalleerd hebben, zal alles veel sneller gaan.

## Voorbeeld bestandsnamen vervolledigen

Vooral de laatste twee lijnen uit bovenstaande tabel verdienen misschien een beetje extra uitleg. Je wilt bijvoorbeeld in de map /usr/share/doc gaan. Dan typ je cd /uTabshTabdoTab. Bij de laatste Tab hoor je een biep of zie je een flits, omdat er meerdere mogelijkheden zijn. We zijn echter waar we wilden zijn, de shell heeft de bestandsnaam vervolledigd en je kan Enter drukken.

## Mogelijke bestandsnamen tonen

Willen we nu in openoffice.org2-help-en-us gaan, dan volstaat het om cd op te typen. Het systeem vervolledigd tot “open”, maar daarna zijn er meerdere mappen waarvan de naam met dezelfde karakters begint. Druk nu twee keer Tab om de mogelijkheden te laten zien. Druk dan o, de shell vervolledigd tot “openoffice.org”. Typ nu 2-h gevolgd door Tab en we zijn waar we wilden geraken. Niet vergeten nu nog Enter te drukken, natuurlijk. Het systeem werkt eveneens voor commandonamen.
De betekenis van de andere combinaties komt later nog uitgebreider aan bod.
En nu oefenen! Je moet uiteindelijk sneller met de shell kunnen werken dan je de commando's kan uitspreken. Probeer vanaf nu alles te volgen en de oefeningen te doen en daarbij zo weinig mogelijk karakters in te typen.
# Ubuntu: Linux voor mensen/Aan de slag/De Live CD sessie afsluiten

Om de sessie te verlaten selecteer je uit het menu System → Quit. Er komen dan vier keuzemogelijkheden:
* "Log out": afmelden. We zullen later zien wat de bedoeling van deze optie is.
* "Lock Screen": schermbeveiliging starten.
* "Switch User": aanmelden als een andere gebruiker. We komen hier later op terug.
* "Restart the computer": de computer herstarten.
* "Shut down": afmelden en de computer uitzetten.
* Kies "Shut down" indien je niets meer wilt doen, kies "Restart the computer" en neem de CD uit de lader indien je verder wilt werken op je eigen systeem.
Gebruikers die geen muis kunnen bedienen, kunnen via het toetsenbord werken: gebruik de letters die bij elke optie onderlijnd zijn om die bepaalde optie te kiezen.
# Ubuntu: Linux voor mensen/Aan de slag/Bestandstype

Soorten bestanden
Gedurende deze kleine rondleiding zijn we niet enkel zwarte, blauwe en groene bestandsnamen tegengekomen. Er zijn veel meer verschillende bestanden dan enkel mappen en gewone bestanden. Omdat men in UNIX geprobeerd heeft om alle verschillende soorten objecten van een besturingssysteem voor te stellen als bestanden, zodat ze op een eenvormige manier behandeld kunnen worden, zijn er meer types bestanden dan men op het eerste zicht zou denken. De belangrijkste zijn:
* mappen: bestanden die andere bestanden of mappen bevatten.
* Speciale bestanden: het mechanisme dat gebruikt wordt voor input en output. De meeste van deze bestanden bevinden zich in /dev.
* Links: een systeem gebruikt om een bestand op meerdere plaatsen in het systeem zichtbaar te maken.
* (Domein) sockets: een bestandstype voor netwerkcommunicatie tussen processen onderling.
* Named pipes: een bestandstype voor communicatie tussen processen zonder dat die gebruik maken van netwerksemantiek.

## Bestandstype achterhalen met het ls commando

Er zijn verschillende mogelijkheden om het type bestand te weten te komen:

### Suffixen

Door gebruik te maken van het commando ls -F: elke bestandsnaam wordt dan gevolgd door een symbool, behalve gewone bestanden, die hebben geen suffix (achtervoegsel). De betekenis van die symbolen is als volgt:
Suffix schema voor ls
Links en uitvoerbare bestanden zullen we later behandelen, sockets en pipes komen soms voor in de man pagina's (zie de paragraaf “Hulp”) maar zijn veelal een zaak van systeembeheerders en programmeurs.

### Kleurenschema

Door gebruik te maken van het ls commando zonder opties, al dan niet met een bestandsnaam als argument, waarmee je via kleurcodes meer informatie krijgt:
Standaard ls kleurenschema
Deze types van bestanden zullen later nog aan bod komen.

### Lange lijst

Door ls -l uit te voeren, al dan niet met een bestandsnaam als argument. Zo krijg je een lijn per bestand te zien. Het eerste karakter van de lijn stelt het bestandstype voor:
Bestandstypes in een lange lijst

## Het file commando

Om nog meer details te weten te komen, gebruik je het file commando. Het geeft informatie over de aard en het formaat van bestanden. Enkele voorbeelden:
[Waarschuwing] Hoofdlettergevoeligheid
Let er in bovenstaand voorbeeld op dat je rekening moet houden met de hoofdlettergevoeligheid van het systeem: “Desktop” is niet hetzelfde als “desktop”!
Je zal later wel merken dat file nog veel meer bestandstypes herkent, incluis bestanden die je normaliter typisch enkel op een MS Windows systeem terugvindt. In tegenstelling tot Windows gaat file kijken in de eerste paar bytes van een bestand om het bestandstype te achterhalen, en niet naar de suffix. Je mag dan ook de namen voor je bestanden vrij kiezen. Let er wel op dat UNIX, en dus ook Linux, hoofdlettergevoelig is. Bijgevolg kunnen file, File, FILE, fILE en filE vijf verschillende bestanden zijn. [Opmerking] Debian
In het vierde voorbeeld was er in de output van het file commando sprake van Debian. Dit is de Linuxdistributie waarvan Ubuntu afgeleid is. Hier en daar zal je nog referenties naar dit systeem tegenkomen.
# HTML/Over dit boek
## Doelstelling

De makers van dit boek hebben zichzelf tot doel gesteld een correcte cursus voor HTML te maken. Hierbij zal de nadruk worden gelegd op semantiek en de daarmee samenhangende scheiding van structuur en opmaak. In dit boek zijn geen opgaven opgenomen. De ervaring leert immers dat veel mensen HTML beginnen te leren om een eigen site te maken; aan een heleboel kleine opgave-sites hebt u dan niets.
Verder is het de bedoeling geweest dat mensen die op zoek zijn naar informatie over een bepaald aspect van HTML, dit meteen kunnen vinden. Er is daarom gestreefd naar het behandelen van verschillende onderwerpen op verschillende pagina's.

## Zelf wijzigen

Iedere pagina in dit boek kunt u ook zelf aanpassen. Wanneer u een fout (inhoudelijke fouten, maar ook spel-, typ- of grammaticafouten) aantreft, wordt u er toe aangemoedigd die fout te verbeteren. Wanneer u niet zeker bent of de inhoud wel klopt, kunt u in overleg treden op de overlegpagina (zie bovenkant) van die pagina.
Denk er aan dat de overlegpagina is bedoeld om te overleggen over een pagina, en niet om uw HTML-probleem op tafel te gooien in de verwachting van een oplossing. Er is veel over HTML te vinden op het Internet, maar ook in bibliotheken, en van u wordt verwacht dat u gebruik maakt van deze informatiebronnen. Als u vragen hebt, kunt u deze stellen op discussieforums op internet. Vaak zijn op de pagina's in dit boek links opgenomen naar plaatsen waar meer informatie te halen is; neem deze mee in uw zoektocht naar de oplossing van uw probleem.
# HTML/Overzicht attributen
## A

* abbr
* accept
* accept-charset
* accesskey
* action
* align
* alt
* archive
* axis

## B

* background
* bgcolor
* border

## C

* cellpadding
* cellspacing
* char
* charoff
* charset
* checked
* cite
* class
* classid
* clear
* code
* codebase
* codetype
* color
* cols
* colspan
* compact
* content
* coords

## D

* dir

## H

* href
* hreflang

## I

* id

## L

* lang
* language
* link
* longdesc

## S

* src
* start
* style
* summary

## T

* title

## W

* width
# HTML/Inleiding

Dit deel van het boek zal optreden als een inleiding. Er zal nog geen echte code worden aangemaakt, maar enkele fundamentele denkwijzen zullen wel worden uitgelegd.

## De inhoud van dit deel

* Geschiedenis van HTML
* Toekomst van HTML
* Over XHTML
* Semantiek
* Scheiding tussen structuur en opmaak
* Over dit boek

## Overige

* Printversie
# HTML/Inleiding/Over XHTML

XHTML staat voor Extensible Hypertext Markup Language en is een soort uitgebreide en striktere versie van HTML 4.01. Met strikter bedoelen we dat er bij XHTML regeltjes zijn bij het opmaken van een XHTML document die niet bestaan bij een gewoon HTML document.

## Waarom XHTML

Vele auteurs van webpagina's waren vroeger (en nu nog steeds eigenlijk) heel laks bij het schrijven van de HTML-code voor hun webpagina's. De browsers die worden gebruikt werken dit nog meer in de hand door foute HTML-code vrij te interpreteren en te raden wat de auteur wou bereiken. Zoals al eerder werd gezegd is XHTML een striktere versie van HTML met verschillende regeltjes voor het schrijven van goede HTML-code. Als er een fout in een XHTML-document is zal, in tegenstelling tot HTML, de browser stoppen met de code te verwerken en gewoonweg een foutmelding tonen.
Het nadeel van XHTML is wel dat er voor het kleinste foutje een foutmelding wordt gegeven en de pagina helemaal niet wordt getoond en moet het XHTML-document worden aangepast. Om aan te geven dat je webpagina een XHTML document is moet er een zogenaamde MIME-type worden vermeld in je document dat aangeeft dat het om een XHTML-document gaat(application/xhtml+xml). Internet Explorer interpreteert dit fout en behandelt de webpagina dan als een document om te downloaden en niet als een webpagina die moet worden geopend in de browser. Hierdoor is het het beste dat je de MIME-type gebruikt om aan te geven dat het om een gewoon HTML-document gaat(text/html), want gelukkig kan Internet Explorer dit wel naar behoren verwerken.
Dit is natuurlijk zeer moeilijk te begrijpen voor iemand die juist begint met HTML en dus moet je er nu nog niet veel van aantrekken. We zullen er in dit boek later nog wel dieper op ingaan.

## Toekomst van XHTML

Oorspronkelijk was bedoeld om XHTML de opvolger te maken van HTML en vervolgens verder de XHTML standaard uit te breiden en niet langer de gewone HTML. Er werd ook een lange tijd gewerkt aan een opvolger voor XHTML genaamd XHTML 2.0. Deze versie moest oorspronkelijk een echte breuk maken met het verleden. Nu wordt er echter gewerkt aan HTML 5 die uiteindelijk HTML 4.01 moet opvolgen en nieuwe functies gaat toevoegen aan HTML. HTML 5 is wel nog steeds geen standaard maar de meeste moderne browsers ondersteunen wel al veel van deze nieuwe functies. XHTML is echter niet ten dode opgeschreven, want er wordt ook een XHTML-versie ontwikkeld op basis van HTML 5 die simpelweg XHTML 5 heet.

## XHTML in dit boek

In dit boek zullen we zo veel mogelijk de regeltjes van XHTML gebruiken alsof het gewoonweg HTML is, omdat het simpelweg mooi geordende webpagina's oplevert.
# HTML/MIME-types

De MIME-specificatie (Multipurpose Internet Mail Extensions) is voorgesteld in 1992 om te zorgen dat niet-ASCII-bestanden via e-mail konden worden verstuurd, tegenwoordig wordt het ook gebruikt door het HTTP-protocol. Omdat de ASCII-standaard bestaat uit de standaard West-Europese en Amerikaanse karakters, is het logisch dat het niet kon worden gebruikt om afbeeldingen of ander materiaal beschikbaar te stellen.
Nu zijn er een aantal verschillende MIME-types, waarmee u een bestand of een deel van een bestand kunt aanleveren aan een bezoeker. De belangrijkste types die bij dit boek horen worden hieronder behandeld.

## text/plain

    Gewone tekstdocumenten verstuurt u door middel van dit MIME-type. Hiermee worden geen MS Word-documenten bedoeld, maar gewone, "platte" ASCII-teksten.

## text/html

    HTML-bestanden verstuurt u door middel van dit MIME-type. Vaak wordt dit automatisch gedaan door uw webserver.

## text/css

    CSS-bestanden verstuurt u door middel van dit MIME-type. Vaak wordt dit automatisch gedaan door uw webserver.

## image/png

    PNG-afbeeldingen verstuurt u door middel van dit MIME-type. Vaak wordt dit automatisch gedaan door uw webserver.

## image/x-icon

    ICO-afbeeldingen dienen voor het tonen van kleine plaatjes links van de URL. Indien deze in de root staat en favicon.ico heet doet de server dat automatisch.

## image/gif

    GIF-afbeeldingen verstuurt u door middel van dit MIME-type. Vaak wordt dit automatisch gedaan door uw webserver.

## image/jpeg

    JPEG-afbeeldingen verstuurt u door middel van dit MIME-type. Vaak wordt dit automatisch gedaan door uw webserver.

## application/xhtml+xml

    Met dit MIME-type verstuurt u een XHTML-bestand, een XML-bestand met ingebedde HTML; in de praktijk gebeurt dit echter nog vaak met text/html omdat Internet Explorer 8 en lager XHTML nog niet herkent en het dus als download aan zal bieden.

## Javascript, een verhaal apart
### application/x-javascript

    Met dit MIME-type wordt javascript vaak verstuurd door de webserver.

### text/javascript

    Dit wordt vaak als MIME-type aangegeven in het type-atribuut van het script-element maar is eigenlijk incorrect.

### text/ecmascript

    Ecmascript is een programmeertaal die weinig wordt gebruikt. JavaScript lijkt, aangezien het ervan is afgeleid, zeer sterk op ECMAscript.
Vaak wordt een javascript aangeboden als application/x-javascript, terwijl het als text/javascript wordt aangegeven in de script-tag. Dit heeft twee redenen: in de HTML-specificatie wordt het gebruik van text/javascript aangemoedigd en MSIE ondersteunt geen javascript wanneer het in de script-tag wordt aangegeven als application/x-javascript. Het maakt voor de browser niet uit wat het MIME-type is van het scriptbestand.

## Meer informatie

* Wikipedia EN over MIME (Engels)
* Het Wikipedia NL-artikel Inline image geeft een opmerkelijke mogelijkheid met de MIME-types weer (Nederlands)
* Een overzicht met alle MIME-types (Engels)
* tekst Request for Comments 1521 (Engels)
* Anne van Kesteren over een MIME-type voor javascript (Engels)
# HTML/Inhoudsopgave
## Inhoudsopgave

* Voorpagina
* Inhoudsopgave
* Deel I: Inleiding
* Geschiedenis van HTML
* Toekomst van HTML
* Over XHTML
* Semantiek
* Scheiding tussen structuur en opmaak
* Over dit boek
* Deel II: Basiscursus
* De basis
* Tekst structureren
* Links
* Opmaak
* Afbeeldingen en objecten
* Tabellen
* Scripts
* Citeren
* Frames
* Formulieren
* Commentaar
* Deel III: Geavanceerd
* MIME-types
* Specificaties
* Document Type Definitions
* Character sets en HTML Entities
* HTML5
* Deel IV: Appendices
* Appendix A: Verklarende woordenlijst
* Appendix B: Overzicht elementen
* Appendix C: Overzicht attributen
* Appendix D: Externe links naar andere HTML-cursussen

## Sjablonen verbonden met dit boek

* HTML inhoud

## Categorieën verbonden met dit boek

* HTML
* HTML - inhoud