Recently in Tech Category

Det har blitt mye tilbakemeldinger på mitt innlegg om filnavn. Noe tror jeg bygger på misforståelser eller en trang til personangrep, men noe er også god kritikk.

Premissene

Det jeg vil ha frem var at det er merkelig at vi (i dag) blander sammen filnavn og filtype og lagrer dette i samme enhet. Jeg er klar over at dagens teknologier er bygget på tanken om at slutten på filnavnet angir typen. Men er det sannsynlig at vi holder oss til disse begrensningene i fremtiden? Vil vi om 30 år fortsatt bruke tre bokstaver i filnavnet til å angi filens type? Om 50 år?

  • Jeg mener altså ikke at vi alle burde slutte øyeblikkelig med hvordan vi navngir filer.
  • Jeg vet altså at hvis vi våknet opp i morgen uten filendelser på filene våre så ville det blitt problemer.
  • Jeg er klar over hva dette innebærer med tanke på filtype må overføres ved filoverføring og endringer i lesing og skriving av filer i operativsystem.

Den meste av kritikken går på å ramse opp hva det er med dagens filbehandling og filoverføring som gjør at et bytte i neste uke ikke vil fungere. Det er ikke særlig vanskelig. Det jeg påstår er at om vi ser bort fra dagens begrensninger og ser hvor vi vil i fremtiden, så er det naturlig å skille mellom navn og type. Jeg påstår at grunnen til måten vi gjør det på i dag er historisk heller enn at det å blande navn og type er en god idé.

Det er også ingenting som hindrer oss i å beholde informasjon om typen både i filnavn og som metadata i en 20-30 år, eller så lenge vi måtte ønske.

Eksempel 1

Jeg kan prøve å illustrere det med et eksempel:

Se for deg at vi i dag skulle designe et nytt OS fra bunnen - uten av vi var klar over historikken og konvensjonene knyttet til hvordan filer navngis.

  • Vi kommer frem til at vi må ha en form for filer som representerer programmer og en rekke typer forskjellig informasjon.
  • Om disse filene er vi interessert i å lagre en del informasjon (hvem eier filen, når ble den sist åpnet, når ble den opprettet).
  • Vi vil også lagre noe som forteller oss hva denne filen inneholder.

Jeg har vanskelig med å se for meg hvordan disse hypotetiske designerne tenker at “informasjon om filene lagres som metadata - med unntak at informasjonen som sier hvilken type fil dette er. Den putter vi inn sammen med filnavnet.”

Hvis noen mener de vet noen god grunn til at dette er en god løsning, så må de gjerne opplyse meg.

Eldre OS skiller mellom navn og type.

Når tidlige OS ble designet blandet de ikke sammen navn og type (DOS skiller for eksempel mellom filnavn og filtype). Det var satt av 8 bytes til navn, og 3 bytes til type.

Dagens OS skiller ikke mellom navn og type, men stoler på konvensjoner. (De siste ca 3-5 bokstavene etter siste punktum i navnet angir hva jeg skal gjøre med denne filen).

Eksempel 2

Sett at du jobber som programutvikler. Hvis du bruker navnefeltet i en database til å angi personens type (kjønn), så får sannsynligvis kjeft.

  • “Fornavn Etternavn.mann” er en dårlig løsning fordi den blander informasjon om navn med informasjon om kjønn. Den baserer seg på at et punktum skiller navn og kjønn. Skillet kommer ikke frem i måten dataene er strukturert.
  • “Fornavn Etternavn” og et eget felt for kjønn er selvfølgelig bedre. Det skilles klart mellom navn og kjønn. (Det beste er selvfølgelig i tillegg å skille for- og etternavn)

Legg merke til at det er ingenting som hindrer deg fra å lese inn eller vise dataene på formen “Fornavn Etternavn.mann”.

Svar

For å referere til filer.

Det skrives at “filetternavn” er en god måte å referere til filer. Det nevnes et eksempel der readme.txt og readme.html ligger i samme katalog.

Det er selvfølgelig helt rett. Dette er nettopp det som er grunnen til at punktum opprinnelig ble innført som separator. Det jeg mener er at OS bør skille mellom navn og type basert på noe annet enn konvensjoner. Ditt OS bør skille mellom navn og type. Navn og type bør lagres som separate data. Jeg sier altså ikke at du ikke bør kunne referere til dine filer som readme.txt, (men det kan hende fremtidens OS presenterer filer anderledes)

Sortering

Du vil fortsatt kunne sortere filene dine om typen lagres separat. Dette klarte du i DOS. Du klarer å sortere basert på for eksempel dato i dag.

Ikke klag - det er bare å skru av i Windows.

Hvis du har lest helt hit så håper jeg du ikke tror mitt problem er at det er plagsomt å se på filendelser. Det er ikke poenget. Jeg er blitt anklaget for å skrive 90% microsoft-hat til å være en Windows-bruker basert på samme innlegg.

Hvert OS sin tilnærming.

Det som kommer klart frem av debatten er at forskjellige OS forholder seg til filtyper på forskjellige måter. Det er uklart hvordan filens type skal avgjøres.

Konvensjonen sier at de tre (enkelte ganger fire eller fem) bokstavene etter siste punktum angir hvilken type fil det er. Etter hver som vi får flere og flere filtyper, blir det trangt om plassen og mange typer brukes til forskjellige formål.

Si at du får tilsendt en fil som har navnet “navn.img”. Ditt operativsystem må finne ut av hva denne filen er og hvordan den eventuelt skal åpnes. I følge filext.com er det 24 alternativer.

Enkle OS slår bare opp program basert på filtypen, mens andre bruker andre metoder for å gjette seg frem. Det innebærer mye gjetting, og jeg mener vi i fremtiden bør kunne løse dette bedre. Ikke at løsningen er å kutte ut filtypen.

Norske myndigheter med sin forakt for våre privatliv utsteder i dag pass med RFID-chip. Make har en artikkel der det beskrives hvordan RFID kan settes ut av spill.

Jeg aner ikke hva som vil skje i det du prøver å komme gjennom tollen med et pass der RFID ikke fungerer, men det kunne jo vært gøy å funnet ut. (Eller?) Muligens litt hodebry for betjentene på flyplassen, men dine personopplysninger er iallefall noe tryggere. Når myndighetene ikke gjør noe for å beskytte våre privatliv bør man jo kunne ta grep selv.

Men det frister vel ikke å prøve, tatt i betraktning hva et nytt pass og en tapt utenlandstur koster.

Det er kjent at historie og vane veier tungt når det gjelder hvordan vi bruker PC’en. Jeg mener at dette er grunnen til at utviklingen går i sneglefart når det gjelder vårt grensesnitt til PC’er. Hender det du setter deg ned og tenker på filnavn? Hvorfor de er som de er og hvilke begrensninger som er knyttet til de? Neppe, med mindre din interesse til datamaskiner grenser til det syke. Undertegnede har altså tenkt mye på filnavn i dag.

For eksempel: README.TXT

En fil heter “README.TXT”. Dette er jo litt forvirrende - navnet på filen burde jo vært “README”. Slutten på filnavnet angir hvilken type fil dette er. “.TXT” forteller oss at dette er en tekstfil. Men vi kaller altså hele navnet (“README.TXT) for filnavnet. Er ikke det rart?

Problemet mitt er altså at når vi sier “filnavn”, så blander vi sammen filnavnet og filtypen.

Warum?

Grunnen til dette er historisk. I gamledager så ble filtype angitt på denne måten. Filnavnet var maks 5-9 bokstaver langt, og filtypen ble angitt av 2-3 bokstaver. Filtypen anga hvilken type fil dette var. Når brukeren skulle taste inn kombinasjonen filnavn + filtype, var det vanlig å skille de med et punktum. Tidlige versjoner av FAT-filsystemet (for de som husker DOS) bygget på denne tanken. Kjørbare filer måtte for eksempel slutte på “.EXE” eller “.COM”. Det kalles “8.3 filename” på godt norsk.

Dette er godt innarbeidet hos de fleste av oss, og (nesten) ingen tenker på det i dag. Jeg har erfart at hos enkelte er det så innarbeidet at de går i forsvarsposisjon hvis jeg påstår at det er en dustete måte å navngi filer på.

Dårlig design.

De historiske grunnene til dette er altså klare. Men hva er grunnen til at vi fortsatt har det i dag? Moderne filsystem støtter metadata som angir en rekke egenskaper ved filene. De forteller oss hvem som eier filen, om den er eksekverbar, når den var opprettet, sist lest, og så videre.

Det er også blitt såpass mange filer at det blir konflikter. Får du en DOC-fil, kan det være ren tekst, eller Microsoft Word-dokument. Får du en IMG-fil, kan det være et CD-image, en fotografi, bitmap bilde, eller et disk-image.

Det er tyvetydelighet rundt hvordan programmer viser filtyper. Du kan motta en epost med en “readme.txt” som du dobbeltklikker på. Det viser seg at filen egentlig het “readme.txt.exe”, og at din PC nå reklamerer stort for viagra eller billige armbåndsur.

Jeg har ikke lyst til å bruke mye tid i dag på å rakke ned på Windows (men det er vanskelig å stanse når jeg først begynner) - jeg har brukt GNU/Linux og BSD for lenge til å være helt oppdatert på Windows.

Altså, jeg mener at der i gården må filtypen være en del av filnavnet. Et program må altså ha et navn som: “program.exe” for å kunne kjøres. NTFS er designet for å kunne lagre en rekke metadata om filene, men Windows baserer seg på at filnavnet må slutte på “.XYZ” for å vite om den skal kjøres eller ikke. Hvorfor da ikke også lagre filtypen som metadata og bruke filnavnet til - tja - filnavnet? Helt idiotisk spør du meg.

Til Windows sitt forsvar, så er det vanlig at GUI på for eksempel GNU/Linux også baserer seg i stor grad på filendelser. Men GNU/Linux i seg selv bryr seg ikke et døyt om hva filen heter.

Andre begrensninger

Et annet tegn på det jeg mener er svakt design på Windows er reserverte filnavn. Du trodde kanskje et filnavn bestod av tekst og kunne være hva som helst (med unntak av noen spesialtegn)?

Windows har også en rekke reserverte ord som hindrer deg fra å lage filer med enkelte navn (du får det til hvis du prøver hardt nok, men det er ikke anbefalt). Du får ikke lage filer av navn som: CON, PRN, AUX, NUL, COM1 til COM9 og LPT1 til LPT9. Også her er grunnen for det meste historisk fra DOS sine dager, selv om “copy con filnavn.txt” eller “copy filnavn.txt prn” også (vistnok) skal virke i dag. Ønsker du å lagre medlemslisten til Namsos Ungdomslag i filen “nul.txt”, eller passord til dine porn voksen-nettsider i filen prn.txt, bør du altså bruke et ordentlig operativsystem. Dette har også ført til en rekke morsomme feil der du kunne provosere frem kræsj ved å referere til filer som “c:\con\con” på forskjellige måter (i HTML-dokumenter eller fra en FTP-klient).

Noe annet merkelig er at NTFS tillater filnavn som slutter på mellomrom eller punktum, men Windows vil ikke tillate dette.

. . Og jeg skal ikke engang begynne å skrive om at Windows ikke ser forskjell på STORE og små bokstaver.

Mitt poeng er at dette er dårlig design, men at det er vanskelig å endre det som brukerne har vendt seg til.

Bedre løsning?

Jeg forstår at folk har sine vaner, og at endring i brukergrensesnitt er noe mange brukere ikke nødvendigvis vil like. Det er kjekt å se ut fra endelsen hvilken type fil det er snakk om, men jeg mener heller at operativsystemer skal designes for å vise filtypen som en egen kolonne i utforskeren, ved ikoner, eller på andre måter. Det er ikke lett å erstatte vanlige teknologier (se på DAB-radioer eller IPv6), og det kan være en leng og smertefull prosess for brukere som har sine faste vaner.

Men er vi ikke snart klare for å legge bak oss begrensninger som stammer fra 60- og 70-tallets operativsystemer? På 70-tallet hadde filendelser en funksjon - i dag er bakoverkompatibilitet hovedårsaken. På Internet bruker vi allerede MIME-typer, og filsystemer lagrer en rekke metadata om filer. Jeg mener informasjonen om filtype er metadata og bør flyttes sammen med resten av metadataene. Filnavn bør brukes til - nettopp - filnavn.

Mobiltelefonen er for lengst mye mer enn kun en telefon. Den er en kalender, vekkeklokke, kamera, GPS; vi bruker den til å surfe med, til å høre på musikk, sende meldinger, osv osv. Vi kobler den opp mot andre telefoner, mot PC’en, mot GPS’en eller bilen. Vi følger med på forskjellige nettsteder mens vi er borte fra hjemme-PC’en, eller leser aviser på den. Ja, også ringer vi med den.

Alle håndholde dingser blir før eller siden nok en funksjon på din telefon. Så da blir jo spørsmålet; hva kommer vi til å kalle denne dingsen om noen år?

Jeg lurer altså naturligvis på:

Vil vi fortsatt kalle den en “mobiltelefon”, selv om telefonen bare er en del av det vi bruker den til? Eller vil vi komme opp med et annet navn på den? Bruker vi den mest til å ringe med, eller kommuniserer vi heller på andre måter?

Og når kommer vi eventuelt til å se dette nye navnet? (Og slipper vi at det blir “iPhone”?) 1 år? 5 år? 10 år?

Jeg tror at innen få (5) år, så vil vi kalle den ved et annet navn. Men, hva den kommer til å kalles er jeg usikker på. Bidra gjerne med dine egne spekulasjoner.

About this Archive

This page is a archive of recent entries in the Tech category.

Politikk is the previous category.

Find recent content on the main index or look in the archives to find all content.