Tag-arkiv: unix

Cygwin for the win!

Danielle fangede mig på vores P2P snak, og spurgte: Findes der er hurtig måde at erstatte et tegn med et andet i en tekstfil? Efter lidt snak frem og tilbage, fandt jeg ud af at problemet var en megabyte resultater fra et mikroskop, der brugt punktum som decimalseparator, og en excel der insisterer på at bruge kommaer til det samme. Notepad, wordpad og emacs var langsomme. Danielle havde desværre ikke Cygwin installeret, så rådet om at bruge

sed  -b 's/\./,/g' <fil.txt >medkomma.txt

var desværre heller ikke helt anvendeligt. Det endte med at hun sendte filerne til mig, og efter 400ms var de formastelige punktummer erstattet med kommaer 🙂 I mellemtiden var notepad gÃ¥et helt ned. Tag den Bill!

Der er helt klart en pointe her. Jeg ved bare ikke helt hvordan den skal formuleres. Nok noget i retning af: “NÃ¥r man skal slÃ¥ søm i er hammeren det ultimative værktøj.”

Usynlig bagdør

Det er sjovt som verden tilsyneladende bevæger sig i ring. Version2 bringer en opsigtsvækkende nyhed om den usynlige bagdør. I korte træk gÃ¥r det ud pÃ¥ at ændre opbygningen af CPU’en, sÃ¥ den kode der kører pÃ¥ den, bliver Ã¥ben for angreb. Det kræver selvsagt at man har en FPGA-lignende processor, sÃ¥ lige nu og her er risikoen ikke voldsomt stor. Men den minder mig om en af de virkelig gode historier fra computernes ungdom.

Ken Thompson, en af ophavsmændene til UNIX, byggede en bagdør ind i loginkoden. Nu var det jo naturligvis ikke så smart at have den synlig i kildeteksten, fordi så ville alle og enhver kunne finde og bruge den. I stedet ændrede han C-compileren, så den satte noget ekstra kode ind, hver gang den oversatte lige netop loginprogrammet. Der var jo naturligvis det samme problem med at have den slags stående frit fremme i kildeteksten til C-compileren, så rettelsen blev gemt væk på samme måde. Og det medførte den perfekte bagdør, der ikke kunne findes nogen steder. Kildeteksten til både login og C-compileren indeholdt ikke andet end det der burde være der, og ingen var nysgerrige nok til at underøge den eksekverbare udgave af C-compileren.

Så den egentlige nyhed fra Version2 er egentlig ikke at man kan gemme bagdøre på steder hvor ingen regner med at de er. Det skete allerede for 30-35 år siden. Nyheden er egentlig kun at man er begyndt at tænke på hvad der kan gemmes væk i hardwaren. Og især hvis fremtiden bringer FPGA-teknologi ud i brede kredse, er det bestemt en ting at være på vagt overfor.