Kapitel 11. Program Skript Att köra program Interpreterande och kompilerande programspråk

Storlek: px
Starta visningen från sidan:

Download "Kapitel 11. Program. 11.1 Skript. 11.3 Att köra program. 11.2 Interpreterande och kompilerande programspråk"

Transkript

1 Kapitel 11 Program Ett datorprogram är en samling instruktioner som beskriver något som en dator ska utföra Skript Om man lägger flera skalkommandon efter varann i en fil blir det ju en samling instruktioner som beskriver något som en dator ska utföra. Detta kallar man ett skalskript (shell script). Man kan köra det genom att skriva bash filnamn eller sh filnamn. Genom att ge ett filnamn som argument till skalet (bash) talar man om att det ska hämta kommandon därifrån. (Standardnamnet för skalet i Unix är sh, men i GNU är det liktydigt med bash.) 11.2 Interpreterande och kompilerande programspråk De flesta program man kör är dock inte textfiler utan binärfiler. De innehåller då instruktioner i en maskinnära form (maskinkod) som kan utföras (exekveras, köras) direkt av datorn. Med datorprogram kan man avse både en sådan binärfil, och även källkoden, så som programmet skrivits i något programspråk i en eller flera textfiler. I de flesta programspråk skriver man instruktioner som ligger långt ifrån den typen av instruktioner som datorn kan utföra direkt. Det finns olika sätt att då få datorn att utföra instruktionerna i källkoden: kompilering och interpretering. Kompilering är att översätta källkoden till maskinkod. Översättningen sker med en kompilator ett särskilt program. Sen kör man den resulterande koden. (Källkoden behövs inte längre för att kunna köra programmet. Men om man behöver göra ändringar i programmet behöver man källkoden igen och får lov att kompilera om den efteråt.) Interpretering är att tolka källkoden bit för bit istället, så som skalet tolkar kommandon i ett skalskript. Ett särskilt program, en interpretator, läser och utför dessa instruktioner. (Det finns även mellanlägen mellan kompilering och interpretering.) 11.3 Att köra program Programmen är filer de också. Om man t. ex. kör bildbearbetningsprogrammet Gimp så är det filen /usr/bin/gimp man kör. Det skulle gå att skriva den fullständiga sökvägen /usr/bin/gimp för att köra det programmet, men det räcker med bara gimp. Om man skriver bara ett namn utan katalog så letar nämligen skalet efter en sådan fil i vissa kataloger (däribland bland annat /bin och /usr/bin). Om programfilen inte ligger i en av dessa kataloger måste man skriva ett längre filnamn där man tar med katalogen. Om programmet foo ligger i ens aktuella katalog är det kortaste sättet att skriva./foo med beteckningen. för aktuell katalog. För att man ska kunna köra en sådan programfil måste man ha rättigheter att köra filen (se avsnitt 1.10). Kompilatorer sätter den rättigheten automatiskt på de filer de skapar. Ett interpreterande program är en textfil och kan inte köras utan information om vilket språk den är skriven i, det vill säga vilken interpretator som ska tolka kommandona i den. 107

2 11. PROGRAM I Unix låter man sådana textfiler börja med en rad med #! och en sökväg för att tala om vilket program det är som ska tolka instruktionerna i filen. Ett skalskript kan börja med #! /bin/sh där /bin/sh är en sökväg till skalet. Då sätts det programmet igång för att tolka instruktionerna i filen om den körs Att kompilera program För att kompilera ett program så kör man i de enklaste fallen en kompilator med källkodsfilen som argument. Kompilatorn skapar en ny fil som går att köra. Ett större program består normalt en mängd filer som använder sig av varandra på komplicerade sätt, och för att kompilera detta kan det krävas flera steg. I Unix-världen används oftast ett program make för att göra detta. Den kör alla dessa steg i rätt ordning för att tillverka vissa filer. I en fil Makefile finns regler som talar om för den vad den ska göra Att installera program På en GNU-dator som man själv administrerar är det i allmänhet enklast att inte kompilera program man ska använda själv, utan istället installera färdigkompilerade program med en särskild pakethanterare. Programmet med sin dokumentation och alla andra filer hamnar på rätt ställen på disken direkt. Detta förutsätter att någon har gjort ett sådant paket som passar till ens system, men är det ett välanvänt program så är det antagligen så. Ett system som många system, bl. a. vårt, använder är paketsystemet RPM. Men som vanlig användare utan administratörsrättigheter så kan du oftast inte använda dig av sådant eftersom du inte har rätt att lägga filerna på de centrala ställen där de då är tänkta att hamna. Då får du oftast lov att installera program genom att kompilera dem själv. (Så kan det också vara för att ingen har gjort nåt behändigt paket av just det programmet.) Programmen distribueras då i allmänhet i form av ett (komprimerat) filarkiv som källkoden finns i. Du börjar med att packa upp detta filarkiv och sen se efter om det bland filerna finns någon fil README med allmänna instruktioner eller kanske en fil INSTALL med instruktioner om hur du ska installera programmet Att installera med make I GNU har det utarbetats en standard för hur installationen går till. Med distributionen av programmet följer det med ett skalskript configure som man börjar med att köra. Då skapas en fil Makefile som är särskilt anpassad för det system man kör på. Efter det kan man kompilera programmet med make och sedan installera det med make install. Bland uppgifterna för configure hör att anpassa installationen för den variant av operativsystemet som det kör på just nu. Det gör en mängd tester av vad som finns installerat och inte och hur saker fungerar som fungerar lite olika på olika system. I anropet till configure kan man dessutom tala om olika saker om hur detta program ska kompileras och installeras just denna gång i form av långa väljare. En standardiserad sådan som man har användning för om man inte installerar program centralt på systemet är --prefix katalognamn för att tala om var programmet och alla dess filer ska installeras. Normalt läggs program i /usr/local/bin/, man-sidor i /usr/local/man/ och diverse andra filer i några andra underkataloger till /usr/local. Men där har vanliga användare inte rätt att lägga filer! Med --prefix ersätter man detta med något annat, så med t. ex. --prefix ~/pgm installeras själva programmen i ~/pgm/bin/ osv. Man kan förstås använda en annan katalog under ens hemkatalog, eller hemkatalogen själv. Med --prefix ~ hamnar själva programmen i ~/bin osv. 1 Ett sådant skript configure har inte använts traditionellt i Unix-världen, så många program har inte något sådant. Kanske funkar make all direkt ändå. Kanske behöver man göra vissa anpassningar för hand innan. Förhoppningsvis finns det en fil README eller INSTALL eller liknande som ger anvisningar. 1 Tidigare har jag skrivit att det normala sättet att ge argument till långa väljare är med ett likamedtecken, som --prefix=~/pgm, men just i detta fall ställer det till problem eftersom skalet bara ersätter ~ med ens hemkatalog när det står först i ett argument. 108

3 11.6. Upphovsrätt och licenser Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software ), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUD- ING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Figur 11.1: Exempel på en licens som följer med ett fritt program 11.6 Upphovsrätt och licenser Upphovsrätt gäller för program, både för källkod och maskinkod, precis som för litterära och konstnärliga verk. Inga som har skrivit program för moderna datorer har dock varit döda i sjuttio år så att upphovsrätten har gått ut för deras verk, så som t. ex. skett för t. ex. Strindbergs och Lenngren. 2 Trots det finns det en mängd program som det står en fritt att använda, kopiera och sprida, eftersom programmens författare uttryckligen givit en tillstånd till detta. Sådant sker i form av en licens där upphovsrättsinnehavarna talar om vad de tillåter. Ett exempel på en enkel sådan licens finns i figur I synnerhet är hela operativsystemet GNU sådan»fri programvara«, men för att komma till GNU tar vi först en kort Unixhistoria: Unix Operativsystemet Unix skapades i slutet av 60-talet på Bell Labs i USA. I mitten av 70-talet började det spridas utanför Bell Labs. Det såldes rätt billigt (speciellt till universitet) och gick att köra på relativt billiga datorer (vid en tid när datorer var stora och dyra), vilket bidrog till dess popularitet. Dessutom följde källkoden med så att man kunde se precis hur det fun- 2 Detta är förstås är skälet till att texter av dessa figurerat i tidigare övningar, men inte senare författare. gerade och även införa egna ändringar i systemet. Det ökade populariteten ännu mer i den akademiska världen, där en mängd universitet använde Unix i undervisningen i datorvetenskap. Möjligheten att göra ändringar i koden ledde till att det uppstod en stor mängd varianter av Unix. En viktig variant var BSD (Berkeley Software Distribution) från University of California, Berkeley. Berkeley spred sina tillägg och förändringar fritt, och många använde dessa. På 80-talet tillverkade flera företag olika enanvändardatorer med Unix arbetsstationer. De var mycket kraftfullare och dyrare än den tidens vanliga persondatorer, och innehöll alla lite olika versioner av Unix. De olika tillverkarna skickade med olika tillägg från BSD och andra håll, och skrev också mycket egna tillägg (som inte spreds fritt), så de olika Unix-systemen skilde sig åt så pass mycket så att det inte alltid gick rakt av att flytta ett program från ett system till ett annat, trots att alla var Unix i grunden. En viktig del var fönstersystemet X som spreds fritt från MIT där det var skrivet. Även till detta lade de olika tillverkarna till olika nya finesser GNU och fri programvara När Unix var nytt hade de flesta av dess användare möjlighet att läsa koden för att lära sig hur den fungerade och även möjlighet att införa egna ändringar för att få delar av systemet att bete sig annorlun- 109

4 11. PROGRAM da. Med tiden hade det blivit allt ovanligare. De flesta Unix-användare kom att sitta vid arbetsstationer som till stora delar var som svarta lådor som man inte hade insyn i. Det uppfattades av många som frustrerande vid en tid när en stor del av datoranvändarna var programmerare själva utannonserade Richard M. Stallman på MIT planer på att skriva ett fritt operativsystem och det skulle få namnet GNU. Eftersom Unix redan då hade en så stark ställning så valde han att det skulle vara Unix-kompatibelt, dvs. bete sig som Unix trots att det inte var Unix. GNU stod för GNU s Not Unix. Snart startades en särskild stiftelse, Free Software Foundation (FSF), för att hålla i projektet och även i övrigt verka för fria program. En del program som redan fanns och som var fria kunde användas. T. ex. bestämde Stallman tidigt att man inte behövde skriva ett nytt fönstersystem eftersom fönstersystemet X var fritt. En del tillägg till Unix som skrivits på Berkeley och andra ställen var också möjliga att återanvända. Men den största delen av koden fick man skriva själva Linux Många delar av GNU kom snabbt på plats, och användes som separata delar på andra Unix-system, men en viktig del som kom på efterkälken var den mest centrala delen av operativsystemet, kärnan. Utan den var det inte möjligt att sätta ihop ett helt GNU-system offentliggjordes Linux av den finlandssvenske studenten Linus Torvalds. Det var ett litet Unixliknande system, framförallt inspirerat av Minix, ett tidigare minimalt Unixliknande system, gjort särskilt för undervisning i operativsystem av Andrew S. Tanenbaum i Holland. Inom kort sattes hela GNU/Linux-system samman som använde Linux som operativsystemskärna istället för HURD som var den fortfarande bara halvfärdiga kärna som skrevs specifikt för GNU. Oftast kallas sådana system bara för Linux-system, efter den kärna som används. Detta gick att köra på vanliga persondatorer, som annars oftast körde MS-DOS från Microsoft. Persondatorerna hade med tiden blivit så pass kraftfulla att de kunde klara ett mer krävande system Unix och Unix-liknande system idag En stor del av Unix-liknande system idag är fri programvara. Det finns nu en mängd olika distributioner av GNU/Linux som publiceras av olika företag och organisationer. Dessa skiljer sig åt mer eller mindre mycket beroende på vilka val distributörerna har gjort angående vilka program som ska vara med och inte vara med. Några av de populäraste distributionerna är Debian GNU/Linux, Ubuntu, Red Hat Enterprise Linux, Fedora, SUSE Linux och Gentoo. Dessutom finns det fria Unix-liknande system som baserar sig på BSD. På Berkeley fortsatte man nämligen att utveckla koden, och så småningom hade man bit för bit ersatt så många delar med nyskriven kod så att det inte fanns mycket kvar av ursprunglig kod från Bell Labs. Då gjorde man en ansträngning att ersätta även de kvarvarande delarna, så i början av 90-talet kunde man släppa ett nästan komplett operativsystem som var fritt. Fria system som bygger på den koden är FreeBSD, OpenBSD och NetBSD. De vanligaste kommersiella Unix-versionerna är idag AIX, HP-UX, MacOS X och Solaris. Apple har sedan MacOS X (version 10) byggt på ett Unixliknande system från BSD-familjen. Alla dessa system liknar varandra i stora drag i grunden. Ibland skriver man Un*x för att visa att man menar nåt Unix-liknande system i allmänhet och inte något specifikt, eller ens nödvändigt något som verkligen är Unix, 3 utan kanske bara beter sig som Unix, dvs. är Unix-kompatibelt. De olika Unix-liknande systemen skiljer sig åt på en mängd små sätt. Det har gjorts flera försök att få dem att närma sig varandra för att underlätta flyttandet av program från ett system till ett annat, och bland annat genom standarderna POSIX och Single Unix Specification (och genom att en del kommersiella system slagits ut på marknaden) är dagens Unix-system mycket mer lika varandra än hur det var för ett par decennier sedan Gratis och fri De som talar om free software menar inte free i betydelsen gratis, utan fri, och mer specifikt talar man 3 Dvs. som är licensierat att använda varumärket Unix, som ägs av The Open Group. 110

5 11.6. Upphovsrätt och licenser om fyra friheter för programmens användare: Friheten att köra programmet, oavsett syfte Friheten att studera hur programmet fungerar, och anpassa det till ens egna behov Friheten att sprida programmet till andra Friheten att förbättra programmet och sprida även förbättringarna till andra Det finns många program som är gratis, men som inte är fria enligt detta. 4 Det kan vara till exempel program som man får använda gratis men bara i vissa ändamål (t. ex. bara för undervisning och/eller forskning), eller program som bara sprids i kompilerad form så att andra inte har möjlighet att göra ändringar i det. Ofta är det bara indirekt som man har nytta av dessa friheter. Även om man själv inte har kunskaper nog för att själv ändra i programmet så kan man ha indirekt nytta av att andra har rätt att sprida sprida dessa ändringar, istället för att en part har monopol på det. Och även om man själv inte ska använda ett program för kommersiella ändamål så är det t. ex. en fördel om man använder ett distrubition från ett företag som Red Hat ifall de hade rätt att skicka med programmet från början istället för att man ska behöva installera det själv, osv GNU GPL och»copyleft«skrivandet av operativsystemet GNU påbörjades av Richard Stallman av ideologiska skäl. Han och de Figur 11.2: Copyleft-tecknet har bildats genom att spegelvända copyright-tecknet. 4»Freeware«används ibland som namn på gratisprogram, så det är skillnad på det och»free Software«. som förenade sig med honom ville att alla program skulle vara fria och såg ett fritt operativsystem som det naturliga första steget till detta. Man ville inte använda en lika tillåtande licens som t. ex. BSD gjorde. Skälet var att det ofta gjordes modifierade versioner av sådan kod som spreds som icke-fria program eller stoppades in i icke-fria program. Så var det i de olika kommersiella Unixversioner som uppstått vid denna tid som ofta hade delvis utgått från BSD-kod men lagt till sina egna förbättringar till den. Likadant var det med fönstersystemet X från MIT som spreds som fri programvara med en liknande licens. Många av de olika Unix-versionerna hade lagt till sina egna förbättringar av X, men dessa förbättringar kom bara just det företagets kunder till godo och kunde inte tas över av de andra företagen också. Den som använde en arbetsstation med Unix på 80-talet hade oftast inte möjlighet att läsa källkoden till program som de körde, även när den koden ursprungligen skrivits som fri programvara. För att de program som skrevs för GNU skulle fortsätta att vara fria för alla som använde dessa program skrev man en ny licens, GNU GPL (General Public License), där en av de viktigaste nyheterna var något som man kallade för copyleft. Det innebär att man inte tillåter att någon sprider modifierade versioner av programmet om inte dessa ändringar också sprids med samma villkor. Den som delar med sig av program enligt GPL till en grupp människor försäkrar sig alltså inte bara att programmet är fritt för den gruppen, utan även för dem som den gruppen i sin tur sprider vidare programmet till. Med tiden har det skapats fler licenser för fri programvara med lite olika egenskaper, men GPL är den klart vanligaste inte bara för sådant som skrivits direkt för GNU, utan även för t. ex. kärnan Linux och webbläsaren Firefox. Det går förstås att formulera vilka villkor man själv vill, men i allmänhet använder man någon av de licenser som redan har formulerats. Ett skäl är att det underlättar mycket för den som vill använda programmet om en välkänd licens som man redan känner till har använts. Ett annat är att det underlättar återanvändning av delar av programmet tillsammans med delar av andra program som använder samma licens. Licenser för icke-fria program är i allmänhet avtal eller överenskommelser mellan två parter. För att få komma åt programmet så förbinder man sig till att uppfylla vissa villkor. En licens som GNU 111

6 11. PROGRAM GPL fungerar inte så, utan är helt enkelriktad. Det finns ingenting som man behöver gå med på för att använda ett GPL:at program. Allt licensen gör är att ge andra rätt att göra vissa saker som annars inte hade varit tillåtet på grund av upphovsrätten Öppen källkod = Open source Medan rörelsen för fri programvara har ett ideologiskt ursprung och gärna talar om»frihet«betonas i andra sammanhang istället tekniska frågor, som att en ökad tillgänglighet av källkoden till program kan leda till förbättrade program genom att fler har möjlighet att hitta fel eller bidra med fixar. I sådana sammanhang talar man oftast om öppen källkod (open source) istället, och ser det som ett medel till att nå bättre resultat snarare än som ett mål i sig, även om vilka program som är fri programvara och vilka som är öppen källkod i praktiken oftast räknas nästan likadant Annat än program Programförfattares fria spridande av sina program har varit en inspiration även för fritt spridande av andra upphovsrättsligt skyddade verk, som texter, bilder och musik. Ett exempel är ett stort samarbetsprojekt som encyklopedin Wikipedia. Organisationen Creative Commons har gjort en mängd olika licenser som är till för att upphovsrättsinnehavare ska kunna ge en del av sina rättigheter till allmänheten utan att släppa all kontroll. Dessa används rätt ofta vid spridande av texter, musik, bilder osv. och en del av dessa licenser är»fria«i den betydelse som används inom fri programvara. En del har även en copyleft-klausul, som där kallas för Sharealike Att rapportera buggar och problem När man rapporterar buggar eller andra problem i program så är det några saker att tänka på för att ens rapport ska vara användbar för den som tar emot rapporten. Detta gäller både när du rapporterar saker till Per här och när du stöter på buggar i diverse program. 1. Tala om vad du gjort! Skriv t. ex. inte bara»utskrifter funkar inte«om du har problem med en utskrift, utan tala mer specifikt om vad du gjort som inte fungerar på ett sätt som går att härma. Skriv t. ex. Jag öppnade filen ~ellen/foo.pdf från filhanteraren, tryckte Ctrl-P för utskrift, och tryckte sedan Print när punkt stod som vald skrivare. om det var det du gjorde. Kanske är det något med just den filen som ställer till problem. Kanske är det nåt med just det pdf-visarprogrammet som ställer till problem. Kanske är det just skrivaren punkt det är problem med. Det vet du förmodligen inte, så tala om alla detaljer. Annars är det stor risk att den du rapporterat till provar nåt annat och inte upptäcker något problem. Målet är att den som man hoppas ska kunna lösa problemet ska kunna återskapa problemet! Om det inte är lokal felrapportering så tala om vilken version av programmet du använder också! Kanske uppstår problemet bara i vissa versioner. 2. Tala om vad som händer! Skriv t. ex. inte bara»utskrifter funkar inte«, utan tala om på vilket sätt. Du kanske får ett felmeddelande när du ger kommandot för att skriva ut? Det kanske inte kommer någon utskrift alls och det dyker upp ett meddelande på skrivarens display? Det kanske kommer en utskrift som är fel på något sätt? Detta hjälper till för att bekräfta för dem som läser rapporten att de får fram samma beteende. Om du får ett felmeddelande, så återge det! 3. Tala om vad du väntade dig skulle hända istället Det finns fall där detta är helt självklart, men om det inte är det, så ta med det också. Kanske har du missuppfattat vad som skulle hända. Då är det bra om det framgår direkt. Kanske är den du rapporterar till inte så insatt i just detta program. Då hjälper det att få veta vad som skulle ske för att bekräfta att en lösning man kommit på tycks fungera. En del av ovanstående är kanske självklart, men ändå skrivs det ganska många dåliga buggrapporter som tycks vänta sig att det som läser dem är tankeläsare, så det kan vara värt att sägas ändå. 112

7 11.7. Att rapportera buggar och problem Exempel på buggrapport I uppgift 1.14 med stavningskontroll i Emacs upptäckte Nicole att när man ska skriva en siffra för att tala om vilket alternativ som var det rätta så går det inte att använda tangenterna på det numeriska tangentbordet. En buggrapport om detta skulle kunna se ut så här: In GNU Emacs * What I did: Started emacs. Wrote: teh Tools->Spell Checking->Spell-Check Buffer Pressed 0 on the numerical keypad * Result: I got "Spell-checking suspended; use C-u M-$ to resume". * Expected result: Exchange "teh" with "the", like if I had pressed normal "0". (Per skickade in en liknande rapport, fast med en fix också, så i nästa version kommer detta att vara fixat.) 113

8 Laboration 11: Program Redovisning Checka in svar på frågorna i en fil ids11.txt i den versionskontrollerade katalog som heter som ditt användarnamn och som du har sedan tidigare. Gör en incheckning redan efter första labbpasset tisdagen den 24/11 och en ny efter passet torsdagen den 26/11 (och gärna andra vid andra tillfällen också). Ha allt klart före passet tisdag eftermiddag den 1 december, då du också ska ha utfört övriga instruktioner. Versionskontroll igen Gå tillbaks till katalogen alla som du skapat tidigare som kontrolleras av Subversion. Tidigare har du sett hur du kan ändra i existerande filer och lägga till nya filer. Du använde även svn update för att uppdatera din arbetskatalog. Det finns en mängd olika Subversionkommandon som man ger på det sättet som argument till kommandot svn. Prova kommandot svn status. Det ger en översikt över hur din arbetskatalog skiljer sig från vad som finns i repositoriet. Kommandot listar de filer som skiljer sig med ett först på raden som visar vad som gäller för just den filen. Du borde bland annat ha med rader som? sagobok.aux? sagobok.pdf och några till eftersom LaTeX skapade de filerna när du TeXade sagobok.tex, men Subversion inte vet något om dessa filer. Det är helt i sin ordning. Dessa filer bör inte checkas in, eftersom de skapas automatiskt från andra. Ett M står för modified, så om du har en rad som M 114 sagobok.tex betyder det att du har gjort ändringar i den filen som du inte har checkat in! Ett A står för added, så om du haft en rad som A groda.png skulle det betytt att du har registrerat den filen i Subversion, men sen inte checkat in den ännu. Uppgift 11.1 Ta bort filen sagobok.tex och ge svn status igen. Att en fil som borde finnas saknas i din arbetskatalog vill Subversion verkligen uppmärksamma dig på. Vad använder den för tecken för att markera sådana filer? Eftersom filen var versionskontrollerad kan du hämta tillbaka den från repositoriet igen. Gör svn update så får du den senaste versionen. Per har varit inne och ändrat lite i den. Ändra du också, genom att ändra rubriken för din saga från ditt användarnamn till nåt som har med innehållet att göra och checka sedan in din ändring. Att kompilera Gör även svn update i den andra Subversionkatalogen du har, dvs. den som heter som ditt användarnamn. Det visar sig att en ny fil dyker upp trappa.c. Det är ett litet program i programspråket C. Kompilera programmet med cc trappa.c. (cc är C-kompilatorn.) Det skapas då en ny fil med det körbara programmet. Uppgift 11.2 Vad heter den fil som då skapas? Kör detta program med /local/texts/ jabberwocky som input. (Programmet accepterar inga argument, så du får lov att använda omdirigering.) Rättat från cvs till svn

9 Exekverbara filer Uppgift 11.3 Hur skrev du kommandot för att göra detta? Normalt skulle man vilja att detta program vars källkod ligger i trappa.c skulle heta trappa istället. Det finns väljare till cc för att göra så istället, men tillverka istället en sådan fil trappa med hjälp av ett kommando make. Kör alltså make trappa. Det skriver ut vilket kommando det i sin tur utför. Uppgift 11.4 Vilken väljare till cc använde make för att tala om vad det kompilerade programmet skulle heta? Uppgift 11.5 Om du gör make trappa igen vad får du du för meddelande från make? Såg du vad programmet gjorde med textfilen? Antagligen kan du inte C, men öppna ändå källkoden med Emacs och se om du kan gissa en del av hur programmet fungerar. Indent betyder indrag. Uppgift 11.6 Vissa delar av programmet är kommentarer de har ingen effekt på vad programmet gör, utan finns där för att underlätta läsningen och förståelsen av programmet. Vad skriver man tydligen före respektive efter kommentarer i C? Ändra i trappa.c så att den gör indrag med mellanrum istället för med understrykningstecken. Skriv make trappa för att kompilera om programmet och provkör det för att se att det stämmer, och checka sedan in den ändring du har gjort. DSSO I tidigare uppgifter har ni använt Den stora svenska ordlistan, men inte i den form som den distribueras. Gå till på webben och hämta dit den senaste versionen av denna. Det är förmodligen dsso-1.40.txt, för det är det när jag skriver detta i alla fall. Det finns även versioner av ordlistan som är anpassade för att användas av vissa särskilda program, men hämta själva textfilen bara. Uppgift 11.7 Vilken licens sprids den ordlistan med och vilken teckenkodning använder den filen? Filen du har hämtat innehåller ordlistans information på ett särskilt textformat. Du får se efter själv hur innehållet i filen är upplagt. Några saker: Det är bara rader med < och > som innehåller ordformer. Själva ordformerna står efter >, avdelade med»:«och», «. Nu ska du skriva ett skalskript dsso.sh så att om du ger kommandot bash dsso.sh skapas en fil ordformer.txt som innehåller en UTF8-fil med en ordform per rad. Ta inte med flerordsuttryck från filen som»au pair«och»science fiction«. Använd gärna flera skalkommandon i rad och lagra mellanresultat i filer som du tar bort i slutet av skalskriptet. Det första skulle t. ex. kunna vara ett kommando som skapar en fil dsso-u8.txt som är likadan som originalet, men omvandlad till UTF8. Senare i skalskriptet skulle du i så fall göra rm dsso-u8.txt för att rensa upp efter dig. Tips: Fokusera inte på att det ska bli ett skalskript till att börja med, utan försök bara hitta kommandon för att lösa uppgiften. Sen kan du stoppa in dem i ett skript. Exekverbara filer Uppgift 11.8 Vad finns det för filer i din kurskatalog som du har rättighet att köra (x-rättighet)? Uppgift 11.9 En av dessa är en textfil. Vilken? Den börjar med en sån där rad som talar om vilket program som ska tolka dess innehåll. Hur lyder den raden? Installera Link Grammar På har du råkat få nys på ett program som du tänker att du skulle behöva använda här. Du skulle kunna be systemadministratören, men du har en känsla av att han är så upptagen med undervisning så det är nog bäst att installera det själv istället. Uppgift Vad heter filen som du hämtar hit som programmet distribueras i? Lägg filen i din kurskatalog och cd:a till samma katalog i ditt skal. Uppgift Ge ett kommando för att packa upp detta filarkiv. Hur lyder ditt kommando? 115

10 LABORATION 11: PROGRAM Uppgift I en fil där ges licensen enligt vilket programmet skrivs. Vad heter den filen? Uppgift Är den licensen en»copyleft«- licens? Hur framgår det? Läs instruktionerna för hur man ska installera och köra det programmet, och gör så. Uppgift Hur gjorde du? När man kör igång det får man en prompt linkparser> till vilken man dels kan ge särskilda kommandon, men också skriva engelska meningar för att få dem analyserade av programmet. Uppgift Hur ser den analys ut som programmet ger av meningen»your logic does not resemble our Earth logic.«? Buggar i grep Under tidigare labbar har två buggar i grep märkts av. 1. På s. 84 skrev jag att \w betyder samma sak som [[:alnum:]] i reguljära uttryck i grep. Så står det nämligen i dokumentationen till grep. Men det betyder faktiskt inte riktigt samma sak! Med \w inkluderas även understrykningstecknet _ som inte räknas med i [[:alnum:]]! Antingen är det programmet som gör fel eller så står det fel i dokumentationen. Någonstans är det en bugg hursomhelst. 2. Vid en demo råkade jag oavsiktligt stöta på en grep-bugg, trots att jag kände till den innan. Ankring i början av något funkar inte så bra tillsammans med grep -o. $ echo hej grep -o '^.' h e j Det tycks som att när h först har hittats så skalas strängen ner till ej och därmed finns e först på raden i resten, osv. Tänk om man skulle göra programutvecklarna en tjänst och rapportera dessa buggar. Men då bör man först se efter om de redan har fixats i den senaste versionen av grep. Uppgift Vilken version av grep kör vi här? Hur tog du reda på det? Vilken är den senaste publicerade versionen av GNU grep? Var på webben hittade du det? Hämta den senast publicerade på nätet och kompilera och installera den för att se om den har samma fel. Använd hela det normala GNU-sättet för att installera program, och ange din hemkatalog som prefix. Uppgift Hur körde du då configure? Uppgift Vilka kommandon gav du sen? Uppgift I vilken katalog hamnade nu det nyinstallerade programmet grep? Hur kan du enklast skriva för att köra det? Uppgift Har den senaste versionen kvar bugg 1 ovan? Om den har det så formulera en buggrapport om detta. Om inte, så tala om hur du såg det. Uppgift Har den senaste versionen kvar bugg 2 ovan? Om den har det så formulera en buggrapport om detta. Om inte, så tala om hur du såg det. Om det vore på riktigt skulle du skriva på engelska eftersom det är vad programmets författare förstår, men om du vill kan du skriva på svenska istället. Ge korta exempel på något som ger fel resultat som de skulle kunna göra efter. Skicka inte in någon buggrapport på riktigt! (Om det behövs så är det redan gjort.) När du kompilerade programmet så skapades en massa filer som inte längre behövs. En del var bara mellanresultat, och de som var det resultat som du var ute efter har kopierats till en annan katalog när du installerade. Uppgift Läs i INSTALL för att se vad du kan ge för make-kommando för att rensa bort de filer där som inte längre behövs och ge det kommandot. Vad var det? 116

Kapitel 11. Program. 11.3 Att köra program. 11.1 Skript. 11.2 Interpreterande och kompilerande programspråk. 11.4 Att kompilera program

Kapitel 11. Program. 11.3 Att köra program. 11.1 Skript. 11.2 Interpreterande och kompilerande programspråk. 11.4 Att kompilera program Kapitel 11 Program Ett datorprogram är en samling instruktioner som beskriver något som en dator ska utföra. 11.1 Skript På s. 35 fick ni skapa skalskript textfiler med flera skalkommandon efter varann

Läs mer

Kapitel 11. Program Skript Att köra program Interpreterande och kompilerande programspråk Att kompilera program

Kapitel 11. Program Skript Att köra program Interpreterande och kompilerande programspråk Att kompilera program Kapitel 11 Program Ett datorprogram är en samling instruktioner som beskriver något som en dator ska utföra. 11.1 Skript Om man lägger flera skalkommandon efter varann i en fil blir det ju en samling instruktioner

Läs mer

Avslutning. Kapitel Komprimering av filer

Avslutning. Kapitel Komprimering av filer Kapitel 12 Avslutning I detta sista kapitel tittar vi på hur man kan installera program själv. I samband med det finns det anledning att titta på komprimering av filer och på filarkiv (som kan vara användbart

Läs mer

Kapitel 12. Mer om program. 12.1 Att rapportera buggar och problem. 12.2 make

Kapitel 12. Mer om program. 12.1 Att rapportera buggar och problem. 12.2 make Kapitel 12 Mer om program 12.1 Att rapportera buggar och problem När man rapporterar buggar eller andra problem i program så är det några saker att tänka på för att ens rapport ska vara användbar för den

Läs mer

Öppen/Fri programvara

Öppen/Fri programvara Öppen/Fri programvara, 19 januari 2003 1(13) Öppen/Fri programvara DENNA PRESENTATION ÄR INTE KLAR, KOMMENTARER MOTTAGES TACKSAMT. CyberRymden 2002-09-10 Marcus Rejås $Id: slides.tex,v

Läs mer

Program. Kapitel make Program Interpreterande och kompilerande program

Program. Kapitel make Program Interpreterande och kompilerande program Kapitel 11 Program Detta kapitel är som synes mycket kort och nämner inte allt från föreläsningen. 11.1 Program Ett datorprogram är en samling instruktioner som beskriver något som en dator ska utföra.

Läs mer

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix Datorer och datoranvändning Föreläsningar 2014/15 Per Holm Per.Holm@cs.lth.se Unix 2 (lab 1) Lågnivåprogrammering 23 (lab 2) Datorns hårdvara 45 L A TEX 69 (lab 3) Internet 98 (lab 4) Operativsystem 117

Läs mer

Svenska Linuxföreningen. Fri programvara Mycket mer än gratis 1(36) Copyright 2005, 2006 Marcus Rejås <marcus@rejas.se>

Svenska Linuxföreningen. Fri programvara Mycket mer än gratis 1(36) Copyright 2005, 2006 Marcus Rejås <marcus@rejas.se> Fri programvara Mycket mer än gratis Copyright 2005, 2006 Marcus Rejås Jag ger härmed rätten till alla att nyttja denna presentation på alla sätt som anses lämpliga så länge som syftet

Läs mer

Dedikerad Server Vilket operativsystem ska jag välja? Är ni i startgroparna och ska beställa en dedikerad server eller en virtuell server?

Dedikerad Server Vilket operativsystem ska jag välja? Är ni i startgroparna och ska beställa en dedikerad server eller en virtuell server? Vilket operativsystem ska jag välja? Är ni i startgroparna och ska beställa en dedikerad server eller en virtuell server? Att välja operativsystem kan vara svårt. Det kan vara svårt att förstå vilka konsekvenser

Läs mer

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker Sid 1 Laborationer i kursmomentet Datoranvändning E1 http://www.etek.chalmers.se/~hallgren/eda/ : Mer om FrameMaker 1996, 1997 Magnus Bondesson 1998 och 99-09-22 Thomas Hallgren 1 Introduktion I Laboration

Läs mer

Licenser - Jo, tack, men så få som möjligt

Licenser - Jo, tack, men så få som möjligt Rejås 1(22) Licenser - Jo, tack, men så få som möjligt Copyright 2006 Rejås Jag ger härmed rätten till alla att nyttja denna presentation på alla sätt som anses lämpliga så länge som syftet på något sätt

Läs mer

Open Source - Eller som vi säger, Fri programvara

Open Source - Eller som vi säger, Fri programvara Rejås 1(27) Open Source - Eller som vi säger, Fri programvara Copyright 2006 Rejås Jag ger härmed rätten till alla att nyttja denna presentation på alla sätt som anses lämpliga så länge som syftet på något

Läs mer

Handbok Simond. Peter H. Grasch

Handbok Simond. Peter H. Grasch Peter H. Grasch 2 Innehåll 1 Inledning 6 2 Använda Simond 7 2.1 Användarinställning.................................... 7 2.2 Nätverksinställning..................................... 9 2.3 Inställning

Läs mer

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version 2013.41 Revidering A December 2013

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version 2013.41 Revidering A December 2013 PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE 1 Version 2013.41 Revidering A December 2013 Legal Information Trimble Navigation Limited Engineering Construction Group 935 Stewart Drive Sunnyvale, California

Läs mer

Open Source - Eller som vi säger, Fri programvara

Open Source - Eller som vi säger, Fri programvara Open Source - Eller som vi säger, Fri programvara Copyright 2006, 2007 Marcus Rejås Rejås Datakonsult, http://www.rejas.se Jag ger härmed rätten till alla att nyttja denna presentation

Läs mer

Handbok Kiriki. Albert Astals Cid Eugene Trounev Översättare: Stefan Asserhäll

Handbok Kiriki. Albert Astals Cid Eugene Trounev Översättare: Stefan Asserhäll Albert Astals Cid Eugene Trounev Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 8 3.1 Spelregler..........................................

Läs mer

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, 2006. Raphael Corsoski, 2005. Erik Eliasson, 2007. Christian von Schultz, 2008.

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, 2006. Raphael Corsoski, 2005. Erik Eliasson, 2007. Christian von Schultz, 2008. 1 Introduktion UNIX Laborations-PM Anders Egneus, Henrik Lindgren, 2004, 2006. Raphael Corsoski, 2005. Erik Eliasson, 2007. Christian von Schultz, 2008. Det övergripande syftet med dessa laborationer är

Läs mer

Svenska Linuxföreningen. Fri programvara Mer än bara gratis 1(17) Copyright 2006 Marcus Rejås <marcus@rejas.se>

Svenska Linuxföreningen. Fri programvara Mer än bara gratis 1(17) Copyright 2006 Marcus Rejås <marcus@rejas.se> Fri programvara Mer än bara gratis Copyright 2006 Marcus Rejås Jag ger härmed rätten till alla att nyttja denna presentation på alla sätt som anses lämpliga så länge som syftet på något

Läs mer

Handbok Kfloppy diskettformaterare

Handbok Kfloppy diskettformaterare Thad McGinnis Nicolas Goutte Utvecklare: Bernd Johannes Wuebben Utvecklare (omkonstruktion av användargränssnitt): Chris Howells Utvecklare (tillägg av BSD-stöd): Adriaan de Groot Granskare: Lauri Watts

Läs mer

Introduktion till datormiljön och Python

Introduktion till datormiljön och Python Introduktion till datormiljön och Python Nyckelord: katalog, katalogträd, rot, fil, källkod, program, exekvering, tilldelning, inmatning, utmatning. Mål: Att du efter laborationen ska klara dig på egen

Läs mer

Programmering i C++ Kompilering från kommandoraden

Programmering i C++ Kompilering från kommandoraden Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö

Läs mer

Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll

Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Inlärningsmetodiken.................................... 5 1.2 De första stegen i Artikulate................................

Läs mer

Bruksanvisning för Google Cloud Print

Bruksanvisning för Google Cloud Print Bruksanvisning för Google Cloud Print Symboler som används i denna manual Denna manual använder följande symboler.!anmärkning iiidessa är varningar och begränsningar för korrekt användning. Det är starkt

Läs mer

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015 DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015 Fyll i ditt namn och personnummer med bläck eller motsvarande. OBS: Om inte denna kvittenssida tas med vid redovisningen får

Läs mer

Handbok Minröjaren. Nicolas Hadacek Michael McBride Anton Brondz Utvecklare: Nicolas Hadacek Granskare: Lauri Watts Översättare: Stefan Asserhäll

Handbok Minröjaren. Nicolas Hadacek Michael McBride Anton Brondz Utvecklare: Nicolas Hadacek Granskare: Lauri Watts Översättare: Stefan Asserhäll Nicolas Hadacek Michael McBride Anton Brondz Utvecklare: Nicolas Hadacek Granskare: Lauri Watts Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 6 2 Hur man spelar 7 3 Spelets regler, strategi och

Läs mer

7 Mamut Client Manager

7 Mamut Client Manager 7 Mamut Client Manager Tilläggsprodukten Mamut Client Manager består av programmen Client Start och Client Update. Med hjälp av Mamut Client Manager kan du från ett fönster öppna, uppdatera och administrera

Läs mer

Editering, Kompilering och Exekvering av Javaprogram

Editering, Kompilering och Exekvering av Javaprogram UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)

Läs mer

Handbok Kollision. Paolo Capriotti Översättare: Stefan Asserhäll

Handbok Kollision. Paolo Capriotti Översättare: Stefan Asserhäll Paolo Capriotti Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 7 3.1 Spelregler.......................................... 7 3.2 Strategi och

Läs mer

Laboration 10: LaTeX. Redovisning. Omgivningen document. Början. Instruktionerna nedan. Repetitionsuppgifter

Laboration 10: LaTeX. Redovisning. Omgivningen document. Början. Instruktionerna nedan. Repetitionsuppgifter Laboration 10: LaTeX Redovisning Instruktionerna nedan Dessa labbinstruktioner är av den pratiga sorten. Du får ganska detaljerade instruktioner som du får följa steg för steg och där de fåtaliga frågorna

Läs mer

Handbok KMouseTool. Jeff Roush Översättare: Stefan Asserhäll

Handbok KMouseTool. Jeff Roush Översättare: Stefan Asserhäll Jeff Roush Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Att använda KMouseTool 6 3 Kommandoreferens 7 3.1 Huvudfönstret i KMouseTool............................... 7 4 Tips 9 5 Vanliga frågor

Läs mer

Din egen webserver med Apache

Din egen webserver med Apache Din egen webserver med Apache Att köra en egen webserver kan vara väldigt skojjigt. Jag själv har ett lokalt nätverk och har till exempel ett CGI script för att koppla upp på Internet och koppla ner igen.

Läs mer

Denna presentation är inte klar, kommentarer mottages tacksamt! CyberRymden

Denna presentation är inte klar, kommentarer mottages tacksamt! CyberRymden Öppen/Fri mjukvara, 11 december 2002 1(13) Öppen/Fri mjukvara CyberRymden 2002-09-10 Marcus Rejås $Id: slides.tex,v 1.10 2002/12/11 20:15:40 rejas Exp $ http://www.rejas.net Made with

Läs mer

Textbearbetning i skalet och man-sidor

Textbearbetning i skalet och man-sidor Kapitel 5 Textbearbetning i skalet och man-sidor Vi har redan använt skalkommandon för att göra saker textfiler. Här kommer gomgång av sådana kommandon som vi redan använt, några nya varianter, samt ett

Läs mer

Läs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt.

Läs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt. Bruksanvisning Installera CubeBiz... 2 Välj språk... 2 När du vill köra testversionen i 15 dagar... 3 När du köper en CubeBiz-licens... 3 Registrera en giltig licensnyckel... 3 Starta ett nytt projekt...

Läs mer

Handbok Hoppande kuben. Ian Wadham Eugene Trounev Matthias Kiefer Översättare: Stefan Asserhäll

Handbok Hoppande kuben. Ian Wadham Eugene Trounev Matthias Kiefer Översättare: Stefan Asserhäll Ian Wadham Eugene Trounev Matthias Kiefer Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 7 3.1 Regler.............................................

Läs mer

Handbok Dumpa skärmen

Handbok Dumpa skärmen Richard J. Moore Robert L. McCormick Brad Hards Granskare: Lauri Watts Utvecklare: Richard J Moore Utvecklare: Matthias Ettrich Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Att använda Dumpa

Läs mer

Svenska Linuxföreningen. Fri programvara Mycket mer än bara gratis 1(29)

Svenska Linuxföreningen. Fri programvara Mycket mer än bara gratis 1(29) Fri programvara Mycket mer än bara gratis Copyright 2005,2006 Marcus Rejås Jag ger härmed rätten till alla att nyttja denna presentation på alla sätt som anses lämpliga så länge som syftet

Läs mer

Open Source - Program och hur man väljer

Open Source - Program och hur man väljer Open Source - Program och hur man väljer Copyright 2007, 2008 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla att nyttja denna presentation på alla sätt som anses lämpliga

Läs mer

Hur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration

Hur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration 1 (12) Hur man kompilerar och kör IT++-program med MinGW 1 Sammanfattning Detta dokument visar hur man lätt (med några få extra raders kod) kan få IT++ att bli kompatibelt med kompilatorn MinGW. Med den

Läs mer

Handbok Kstuds. Tomasz Boczkowski Granskare: Eugene Trounev Översättare: Stefan Asserhäll

Handbok Kstuds. Tomasz Boczkowski Granskare: Eugene Trounev Översättare: Stefan Asserhäll Tomasz Boczkowski Granskare: Eugene Trounev Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 6 2 Hur man spelar 7 3 Spelets regler, strategi och tips 8 3.1 Spelets regler........................................

Läs mer

Gimp Handbok. Christian Gundersson Xxxx. Xxxx@xxx.xx

Gimp Handbok. Christian Gundersson Xxxx. Xxxx@xxx.xx Gimp Handbok Christian Gundersson Xxxx Xxxx@xxx.xx Gimp Handbok av Christian Gundersson Publicerad $Date: 2006/04/12 20:04:19 $ Copyright 2005-2006 Christian Gundersson En liten sammanfattning här Permission

Läs mer

Handbok Shisen-Sho. Dirk Doerflinger Eugene Trounev Frederik Schwarzer Granskare: Frerich Raabe

Handbok Shisen-Sho. Dirk Doerflinger Eugene Trounev Frederik Schwarzer Granskare: Frerich Raabe Dirk Doerflinger Eugene Trounev Frederik Schwarzer Granskare: Frerich Raabe 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 7 3.1 Regler.............................................

Läs mer

Sun Java W1100z och W2100z arbetsstationer: Versionsinformation

Sun Java W1100z och W2100z arbetsstationer: Versionsinformation Sun Java W1100z och W2100z arbetsstationer: Versionsinformation Sun Microsystems, Inc. www.sun.com Artikelnr 817-7995-10 Oktober 2004, Version B Skicka kommentarer om dokumentet till: http://www.sun.com/hwdocs/feedback

Läs mer

http://www.sverd.se/4-fria-upphovsrattslicenser/ Fria upphovsrättslicenser underlättar kunskapsdelning och lärande

http://www.sverd.se/4-fria-upphovsrattslicenser/ Fria upphovsrättslicenser underlättar kunskapsdelning och lärande http://www.sverd.se/4-fria-upphovsrattslicenser/ Fria upphovsrättslicenser underlättar kunskapsdelning och lärande Ebba Ossiannilsson, Lunds universitet Alma Taawo Fristående konsult Användning av fria

Läs mer

Nallelek Lärarvägledning

Nallelek Lärarvägledning NALLELEK - LÄRA MERA PROGRAM AB Nallelek Lärarvägledning NALLELEK... 2 1.1 Programmet... 2 1.2 Övningar som stärker förmågan att iaktta bilder och se detaljer... 3 1.2.1 Pedagogiska tips... 3 1.3 Kategorisering

Läs mer

2005-06-02 1 Open Source-licenser

2005-06-02 1 Open Source-licenser 2005-06-02 1 Open Source-licenser Open Source-licenser NEA Nätverket för Elektroniska Affärer Advokat Sofia Geilert 2005-06-02 2 Open Source-licenser Open Source-licenser Antal olika licenser för open

Läs mer

Får jag be om ordet!

Får jag be om ordet! Får jag be om ordet! Får jag be om ordet är ett datorprogram för läs- och skrivutveckling, utvecklat av logoped Bitte Rydeman. Det innehåller åtta olika delprogram, där man på olika sätt arbetar med ordbilder,

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Installation av. Vitec Online

Installation av. Vitec Online Installation av Vitec Online Innehållsförteckning Inledning... 3 Allmän konfiguration av router och brandvägg... 4 Installera Vitec Online Server... 6 Lösenord för inloggning i Mäklarsystemet... 9 Klientinstallation...

Läs mer

Säkerhet Användarhandbok

Säkerhet Användarhandbok Säkerhet Användarhandbok Copyright 2008 Hewlett-Packard Development Company, L.P. Microsoft och Windows är USA-registrerade varumärken som tillhör Microsoft Corporation. Informationen i detta dokument

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva

Läs mer

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap Introduktion till Linux TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap 3 Vem riktar sig kursen till? Hjälp! Jag fattar noll! Rädda mig!

Läs mer

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap Introduktion till Linux TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap 3 Vem riktar sig kursen till? Hjälp! Jag fattar noll! Rädda mig! Ska man trycka

Läs mer

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap Introduktion till Linux TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap 3 Vem riktar sig kursen till? Hjälp! Jag fattar noll! Rädda mig! Ska man trycka

Läs mer

Programvaror - Jo, tack, det vill vi ha...

Programvaror - Jo, tack, det vill vi ha... Rejås 1(20) Programvaror - Jo, tack, det vill vi ha... Copyright 2006 Rejås Jag ger härmed rätten till alla att nyttja denna presentation på alla sätt som anses lämpliga så länge som syftet på något sätt

Läs mer

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok. Ver Okt 2011/pls Windows7, GX-IEC Developer, USB-adapter I olika kurser i styrteknik på Högskolan Dalarna används ett styrsystem från Mitsubishi och programvaran GX-IEC Developer. Kurserna går på distans

Läs mer

Instruktion för att slutföra registreringen

Instruktion för att slutföra registreringen Instruktion för att slutföra registreringen Introduktion Vi antar i den här instruktionen att du redan har registrerat sig. Du kan också ha klickat på aktiveringslänken i mailet. Vi använder ett fiktivt

Läs mer

Lab 7, 48 steg till ett bättre liv i Unix-labbet

Lab 7, 48 steg till ett bättre liv i Unix-labbet Lab 7, 48 steg till ett bättre liv i Unix-labbet Urban Liljedahl 13 december 2002 Instruktioner Mål Krav Utveckla förmågan att söka kunskap med hjälp litteratur och andra källor. Utveckla förmågan att

Läs mer

Start-Up Customization Applikation för TI-83 Plus

Start-Up Customization Applikation för TI-83 Plus TI Start-Up Customization Applikation för TI-83 Plus Komma igång Börja här Hur Anpassa Start-Up med en bild Anpassa Start-Up med ett program Anpassa Start-Up med en applikation Stänga av Start-Up Customization

Läs mer

Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software Switch Driver 5 Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software Innehållsförteckning Att använda programvaran Switch Driver... 3 Installera programvaran Switch Driver... 4 Kontaktanslutning...

Läs mer

Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps

Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps Inledning Utsätt inte det trådlösa LAN PCI-kortet 54 Mbps för extrema temperaturer. Placera inte enheten i direkt solljus eller nära värmekällor. Använd inte

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva

Läs mer

Säkra pausade utskriftsjobb. Administratörshandbok

Säkra pausade utskriftsjobb. Administratörshandbok Säkra pausade utskriftsjobb Administratörshandbok April 2013 www.lexmark.com Innehåll 2 Innehåll Översikt... 3 Konfigurera säkra pausade utskriftsjobb... 4 Konfigurera och säkra programmet...4 Använda

Läs mer

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe In- och utmatning i Unix Program i Unix skriver och läser till och från filer. En fil betyder här en vanlig fil med text eller binära data, ett tangentbord, en skärm, ett annat program etc. Innan ett program

Läs mer

Introduktion till datateknik för språkvetare ht 2007

Introduktion till datateknik för språkvetare ht 2007 Introduktion till datateknik för språkvetare ht 2007 Per Starbäck 9 oktober 2007 Kapitel 1 Datorer, operativsystem och filer En dator är, enligt Nationalencyklopedin, en automatisk maskin för beräkning

Läs mer

Installationsanvisning för kursens programvara på egen dator

Installationsanvisning för kursens programvara på egen dator Installationsanvisning för kursens programvara på egen dator Två program, Java och DrJava, skall installeras på datorn. DrJava är en så kallad utvecklingsmiljö, ett program som underlättar att programmera

Läs mer

Introduktion till Unix och Linux

Introduktion till Unix och Linux Introduktion till Unix och Linux TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap 2014-08-22 2 3 Vem riktar sig kursen till? Hjälp! Jag fattar noll! Rädda

Läs mer

Open Source-licenser

Open Source-licenser 2005-12-02 1 Open Source-licenser Open Source NEA Nätverket för Elektroniska Affärer Advokat Sofia Geilert 2005-12-02 2 Open Source-licenser Vad är Open Source Software (OSS)? Öppen källkod Programvara

Läs mer

Uppgift 1 (Oläsliga krypterade meddelanden)

Uppgift 1 (Oläsliga krypterade meddelanden) Uppgift 1 (Oläsliga krypterade meddelanden) Ofta vill man kryptera text för att inte andra skall se vad man skrivit. I den givna filen KRYPTERAD_TEXT.TXT finns en krypterad text som kan vara av intresse

Läs mer

Årsskiftesrutiner i HogiaLön Plus SQL

Årsskiftesrutiner i HogiaLön Plus SQL Årsskiftesrutiner i HogiaLön Plus SQL Installation av HogiaLön Plus version 12.1.14 samt anvisningar till IT-ansvarig eller ITtekniker Viktig information för Terminal Server installation För att programmet

Läs mer

Installationshandbok för SunForum 3.2

Installationshandbok för SunForum 3.2 Installationshandbok för SunForum 3.2 Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. 650-960-1300 Artikelnummer 816-0875-10 Maj 2001, utgåva A1 Skicka kommentarer rörande den

Läs mer

Skicka drivrutin. Administratörshandbok

Skicka drivrutin. Administratörshandbok Skicka drivrutin Administratörshandbok Januari 2013 www.lexmark.com Översikt 2 Översikt Med Skicka drivrutin kan du enkelt hämta en skrivardrivrutin för en specifik skrivarmodell. Programmet skickar ett

Läs mer

Användarmanual HOIF.org

Användarmanual HOIF.org Användarmanual HOIF.org HOIF.org 2013-05-21 37 sidor Användarmanual för HOIF.org Introduktion Det här är en manual till alla användare på hemsidan HOIF.org Hur får jag ett användarkonto? För att kunna

Läs mer

Antivirus Pro 2011. Snabbguide

Antivirus Pro 2011. Snabbguide Antivirus Pro 2011 Snabbguide Viktigt! På CD-fodralet finns den aktiveringskod som du behöver för att aktivera produkten. Förvara den på ett säkert ställe. Den här produkten får endast användas om det

Läs mer

1284_omslag.qxd 2005-10-11 11:13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

1284_omslag.qxd 2005-10-11 11:13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003 5 Arbeta med mappar och filer I Windows finns det två sätt att arbeta med de olika enheterna i systemet. Vilket du väljer beror på personligt

Läs mer

Felsökning av mjukvara

Felsökning av mjukvara KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att

Läs mer

Handbok KDE:s Menyeditor. Milos Prudek Anne-Marie Mahfouf Lauri Watts Översättare: Stefan Asserhäll

Handbok KDE:s Menyeditor. Milos Prudek Anne-Marie Mahfouf Lauri Watts Översättare: Stefan Asserhäll Milos Prudek Anne-Marie Mahfouf Lauri Watts Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Användarfall......................................... 6 1.1.1 Anpassa en användares meny...........................

Läs mer

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

Laboration 10 - NetBeans

Laboration 10 - NetBeans Laboration 10 - NetBeans Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass

Läs mer

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper) Datorintroduktion 2009 Föreläsning 1 (IT-chef Matematiska vetenskaper) Inloggning - Linux - CID -> Enter -> Lösenord (skrapkort, rad #1) -> Enter Detta är obekant? - Windows - Logga in med CID+lösenord

Läs mer

Kom igång med din SMART Board. Det praktiska

Kom igång med din SMART Board. Det praktiska Kom igång med din SMART Board Det praktiska Nu när ni fått er nya SMART Board på plats och ni vill börja använda den finns det ett par steg som man bör göra först för att få allt att fungera. I denna guide

Läs mer

Introduktion till datateknik för språkvetare

Introduktion till datateknik för språkvetare Introduktion till datateknik för språkvetare ht 2015 Per Starbäck Kapitel 1 Inledning 1.1 Om kursen Schema och annat finns på http://stp. lingfil.uu.se/kurs/ids/. Där kommer det även finnas länkar till

Läs mer

Lathund för överföring av rapporter och ljudfiler

Lathund för överföring av rapporter och ljudfiler Lathund för överföring av rapporter och ljudfiler I den här lathunden finns detaljerade instruktioner om hur du gör för att skicka rapporter och ljudfiler till din handledare. Först kommer en beskrivning

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

Lättlästa instruktioner för ipad ios8

Lättlästa instruktioner för ipad ios8 Lättlästa instruktioner för ipad ios8 I samarbete med: December 2014 Lättlästa instruktioner för hur du använder en ipad med operativsystemet ios8. En ipad är en pekplatta. En pekplatta kallas också för

Läs mer

Frågor och svar om TNC-term

Frågor och svar om TNC-term Frågor och svar om TNC-term Allmänt: Onlineversion av TNC-term dröjer Installation: Det går inte att lagra databasen på hårddisk eller exportera posterna till annat söksystem Installation: Singelinstallation

Läs mer

IT-lösningar. Guide, Kalenderkoppling för Outlookanvändare. Kalenderkoppling. Synkronisera Outlookkalender och Marvin i Telia Centrex 1 (7)

IT-lösningar. Guide, Kalenderkoppling för Outlookanvändare. Kalenderkoppling. Synkronisera Outlookkalender och Marvin i Telia Centrex 1 (7) Contact Management for Centrex & Virtual PBXs IT-lösningar Kalenderkoppling Guide, Kalenderkoppling för Outlookanvändare Synkronisera Outlookkalender och Marvin i Telia Centrex Copyright 2009-13 trimum.se

Läs mer

Dina surfvanor kartläggs och lämnas ut

Dina surfvanor kartläggs och lämnas ut Dina surfvanor kartläggs och lämnas ut måndag 28 mars 2016 Utländska bolag kartlägger besökare på svenska sjukhus och myndigheters webbplatser. När du läser om till exempel sexuell läggning rapporteras

Läs mer

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING 1. Träna på att logga in och ut. 2. Mata ln sleep 60. Mata in kommandot date direkt. Tryck på avbrottstangenten, (CTRL-C). Prova kommandot date

Läs mer

Åtkomst och användarhandledning

Åtkomst och användarhandledning Innehållsförteckning Problemspecifikation...1 Åtkomst och användarhandledning...2 Systembeskrivning...3 Lösningens begränsningar...5 Problem och reflektioner...6 Testkörning...7 Bilagor......Källkod...

Läs mer

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

Datorintroduktion 2010 Föreläsning 1. Dieter Modig Datorintroduktion 2010 Föreläsning 1 Inloggning - Linux - CID -> Enter -> Lösenord (skrapkort, rad #1) -> Enter Detta är obekant? - Windows - Logga in med CID+lösenord (skrapkort, rad #1) Detta kan ni?

Läs mer

Introduktion till datateknik för språkvetare

Introduktion till datateknik för språkvetare Introduktion till datateknik för språkvetare ht 2009 Per Starbäck Kapitel 1 Inledning 1.1 Om kursen Schema och annat finns på http://stp.lingfil. uu.se/kurs/ids/. Där kommer det även finnas länkar till

Läs mer

Operativsystem och användargränssnitt

Operativsystem och användargränssnitt Operativsystem och användargränssnitt Som du fick läsa tidigare behöver datorn förutom hårdvara också ett program för att hantera hårdvaran, dvs. ett operativsystem. Denna sida behandlar bland annat följande

Läs mer

Programmeringsuppgifter 1

Programmeringsuppgifter 1 Programmeringsuppgifter 1 Redovisning: Ni demo-kör och förklarar för handledaren några av de program ni gjort. Ni behöver inte hinna allt, redovisa så långt ni kommit. Om ni hinner mer kan ni alltid redovisa

Läs mer

Handbok KAppTemplate. Anne-Marie Mahfouf Översättare: Stefan Asserhäll

Handbok KAppTemplate. Anne-Marie Mahfouf Översättare: Stefan Asserhäll Anne-Marie Mahfouf Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Att använda KAppTemplate 6 3 Vilken mall behöver du? 9 3.1 C++ mallen för ett grafiskt användargränssnitt i KDE 4................

Läs mer

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago. Lumbago - Förord Välkommen till Journalprogrammet Lumbago. Vår förhoppning är att du ska få mer tid över för dina patienter och att du ska ha nytta av alla de effektiva funktioner som Lumbago erbjuder.

Läs mer

Säkerhet Användarhandbok

Säkerhet Användarhandbok Säkerhet Användarhandbok Copyright 2008 Hewlett-Packard Development Company, L.P. Windows är ett USA-registrerat varumärke som tillhör Microsoft Corporation. Informationen häri kan ändras utan föregående

Läs mer

Open Source - Utmaningar och fördelar

Open Source - Utmaningar och fördelar Open Source - Utmaningar och fördelar Johan Hübner Emil Dicksved 16 mars 2011 Agenda Vad är open source? Historik och utveckling över tid Krav på open source-licenser Översiktlig genomgång av några vanliga

Läs mer

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch Digitalt lärande och programmering i klassrummet Introduktionsworkshop - Bygg ett akvarium i Scratch Introduktion Scratch är en programmeringsomgivning utvecklad av forskare på Massachusetts Institute

Läs mer