Hindbærtærte

For et par uger siden nævnte V2, at en britisk opfinder havde udviklet en computer på størrelse med en tændstikæske, som var rettet mod at lære børn at programmere. Der var ikke meget information om computeren i artiklen, men da jeg synes, at det var et interessant projekt, ledte jeg efter mere information på nettet. Her er lidt af det, jeg fandt, og mine kommentarer til dette.

Computeren hedder "Raspberry Pi", og forventes at kunne sælges for 15 pund, dvs. ca. 130 dkr. Det er så lidt, at hovedmanden David Braben (kendt som en af de to bag spillet Elite) forventer, at selv mindre velstillede familier vil kunne købe en til deres børn, og selv familier med en PC vil købe en til deres børn, så de kan få deres egen, som de kan gøre med, hvad de vil.

Udover selve computeren, er der behov for et USB-tastatur og et TV, som tilsluttes med et HDMI-kabel. Dermed har Raspberry Pi lånt modellen fra firsernes hjemmecomputere, som brugte hjemmets TV som skærm. De fleste har allerede et TV, og et USB-tastatur kan fås fra ca. 40 kr, så den samlede pris for at komme igang er under 200 kr.

Specifikationerne (hentet fra projektets ellers lidt sparsomme hjemmeside) er

  • 700MHz ARM11
  • 256MB of SDRAM
  • OpenGL ES 2.0
  • 1080p30 H.264 high-profile decode
  • Composite and HDMI video output
  • USB 2.0
  • SD/MMC/SDIO memory card slot
  • General-purpose I/O
  • Open software (Ubuntu, Iceweasel, KOffice, Python)

I forhold til en moderne computer er det en ret sparsom specifikation, men det er flere tusinde gange mere lager og regnekraft end f.eks. C64, Sinclair Spectrum og BBC Micro.

Braben savner den ligefremme tilgang til programmering, der fandtes på de gamle hjemmecomputere, hvor man tændte for computeren, fik et BASIC prompt efter to sekunder, og derefter blot kunne skrive

10 print "Hello world"

Så havde man skrevet sit første program, som kunne køres blot ved at skrive "run". Grafik var også nemt: Man skrev blot

20 mode 2: move 0,0: line 1280,1024

Så havde man defineret en grafisk opløsning og tegnet en skrå linje. I de fleste moderne programmeringssprog skal der en længere sekvens af kryptiske besværgelser

Brabens nuværende ide er at lade computeren starte direkte i Python, som er forholdsvis nem at gå til. Jeg ville nok foretrække noget, hvor beregningsmodellen er mere gennemskuelig, men Python er ikke det værste valg.

Udover forældre og skoler kan jeg forestille mig, at der bliver solgt en del til hobbyfolk og universiteter, der vil bruge dem til robotstyring, sensornetværk, operativsystemsundervisning, osv. Hvis man sætter en Ethernetadapter på, kan man sågar bruge den som webserver i stil med Marvells Plug PC. Jeg kan også forestille mig, at nogen vil forsøge at porte RISC OS til den.

Derudover har Braben fået forespørgsler fra blandt andet Uganda og Peru, som vil bruge dem til skoleprojekter. Det kan altså blive et billigere alternativ til OLPC-projektet, dog begrænset til steder, der allerede har TV og strøm. Braben har af den grund planer om at starte et "køb en giv en" program i stil med det, som OLPC Foundation lavede.

Bland de andre bagmænd til Raspberry Pi projektet finder man Robert Mullins og Alan Mycroft fra Cambridge University. Alan Mycroft er blandt andet kendt som en af bagmændene til den første C oversætter til ARM processoren, The Norcroft Compiler (navnet er en sammentrækning af Norman og Mycroft), som blev basis for ARM Ltd's egen C oversætter.

Jeg vil nok investere i en, når den bliver tilgængelig. Ikke til noget seriøst formål, men til den pris behøves det heller ikke.

Torben Mogensens billede
Torben er lektor i Datalogi på Københavns Universitet og studielder for bacheloruddannelsen i Datalogi. Hans faglige interesser ligger indenfor programmeringssprog, computerarkitektur, grafik, algoritmer m.m. Han blogger om alt inden for hans interesseområder, ofte med udgangspunkt i oplevelser på universitetet.

Kommentarer (20)

Torben Mogensen

"Jeg ville nok foretrække noget, hvor beregningsmodellen er mere gennemskuelig"

SML!

Ja og nej. Beregninsgmodellen i SML er godt nok nogenlunde gennemskuelig (når man ser bort fra [i]exceptions[/i]), men typesystemet er ikke. Så dynamiske typer er nok ikke en dårlig ide i denne sammenhæng. Alternativt et meget lille antal typer og variabelnavne, der identificerer typerne, ligesom i BASIC: x er flydende kommatal, x% er heltal og x$ er tekst.

BASIC har på trods af diverse mangler en ret ligetil beregningsmodel: Det er ret nemt at følge med i hvad, der sker. Det gælder ikke f.eks. objekt-orienteret programmering, hvor det kan være svært at se, hvilken metode kaldes. Endnu værre bliver det, hvis man kan tilføje metoder og lignende på køretid (som man kan i Python og andre scriptingsprog).

Jeg er heller ikke meget for Scratch og lingende systemer rettet mod undervisning af børn, da der er for meget, der sker [i]under the hood[/i]. I et sprog til undervisning bør alle ting, der har synlige konsekvenser, specificeres eksplicit i koden i stedet for at være noget, der sker i et svært gennemskueligt underliggende system. Konsekvenserne af en lille ændring i programmet bør være forudsigelige.

Peter Stricker

20 mode 2: move 0,0: line 1280,1024

Så havde man defineret en grafisk opløsning og tegnet en skrå linje.

Og det var så en skrå linje, der ville fortsætte langt udenfor skærmen ;-)

Så vidt jeg husker, så krævedes der dengang 3 M'er før man havde en supercomputer: MegaHertz, MegaBytes og MegaPixel.

Torben Mogensen

Og det var så en skrå linje, der ville fortsætte langt udenfor skærmen ;-)

Nej. Eksemplet er taget fra BBC BASIC på Acorns BBC Micro. Den havde ganske rigtigt ikke 1280x1024 skærmopløsning (den største opløsning var 640x256), men alle skærmmodes brugte koordinater i et 1280x1024 rum, der så blev skaleret ned til den fysiske opløsning.

Jacob Christian Munch-Andersen

Det ser meget spændende ud, men jeg synes at jeg har hørt historien før. Dyrere og senere end lovet er vist snarere reglen end undtagelsen.

Jeg må også umiddelbart konstatere at den mangler USB porte og lager, og en indbygget netværksport ville også være en velkommen tilføjelse. Jeg kan ikke rigtigt se ideen i at udelade disse komponenter, selve dimsen bliver måske nok billigere, men hvad skal man bruge det til når man så til gengæld skal investere i et SD kort for overhovedet at kunne bruge den, samt en USB hub og en USB netværksadapter hvis man vil have en hel computer ud af det?

Torben Mogensen

Hvis hovedmålgruppen er børn af familier, der ikke allerede har en computer, så er der nok heller ikke Internet, og så er netværk lidt overflødigt. I princippet er alt, du behøver, et USB-tastatur og et lille SD kort, som begge kan fås for ret små penge.

Det er blandt andet ved at gøre netværk osv. til ekstraudstyr, at prisen kan holdes så lav.

Jacob Christian Munch-Andersen

Jeg tror nu nok du vil finde at de steder hvor det rent faktisk er realistisk at sælge sådan en computer er der i hvert fald en skole med internetforbindelse. Dertil må man konstatere at basiskonfigurationen ikke gør det specielt let at dele filer, et rimeligt klart must for ethvert hacker community.

Jacob Christian Munch-Andersen

Med kun et SD slot skal man så pille sit boot kort ud, sætte kortet med filer til deling ind, kopiere til rammen, skifte kort igen, og så kopiere til kortet.

At denne manøvre overhovedet er mulig kræver selvfølgelig at systemet kan køre på væsentligt mindre end de 256 MB ram uden brug af swap eller anden regelmæssig disktilgang.

Virusspredning har i øvrigt aldrig været lettere. Lån mig lige dit boot kort så får du den her fil (og et rootkit som helt automatisk følger med).

Morten Juhl-Johansen Zölde-Fejér

Så for at have den lille fyr med rundt, skal du lige have et tastatur i tasken også? Og en USB-hub i tilfælde af, at der er flere ting, du gerne vil sætte til, og så naturligvis lige et kabel til at sætte den til skærm. Og så skal du jo have god tid til opstart, hvis du bruger Ubuntu til hardware med de specifikationer... Skulle man bruge en Linuxvariant ville det være nødt til at gøre den meget specifikt optimeret, men hardwaren er jo også kendt på forhånd. Og så skal der nok et skrivebordsmiljø til, som ikke trækker alt for tungt - om noget.
Altså: Jeg kunne se fordelen i f.eks. et undervisnings- eller kontormiljø, hvor det hele er præmonteret, og hvor du så hiver din egen Pi op af tasken og sætter den til disse enheder, arbejder og rykker den af igen, når du skal videre.

Torben Mogensen

Og så kan vi blot vende tilbage til at prisen ikke er realistisk, selv uden en flashchip er det svært at tro at økonomien kan hænge sammen.

Nogle SoCs til indlejrede systemer har flashlager og RAM på chippen. Det kan sagtens tænkes, at Raspberry Pi bruger en SoC med begge dele.

Nikolaj Brinch Jørgensen

Det er da et super projekt, og sådan een skal min søn da have.

Jeg håber det bliver en success, og det kan bootstrappe en masse udvikling af spil titler (ligesom konsollerne har overtaget fra de gamle 80'et hjemme computere).

Der er masser af spil som kan udvikles til denne device. Det er gameplay og ikke super grafik der i det lange løb er værd at købe. Flere gamle titler som f.eks. en del af C&C serien (Red Alert, Tiberian Sun osv) burde kunne portes til dimsen, ligesom en masse adventrurespil burde blive lavet.

Muligvis er Python et godt valg, måske er det for avanceret. Det ville nok være en god idé at gøre denne del til et modul, så man også kan benytte BASIC, Pascal, Assembler, Ruby etc. og så kan ens behov for mere avancerede programmeringssprog vokse i takt med ens kompetencer.

Jeg håber virkelig dette får success (nu har vi jo flere indgange i et moderne TV, så vi skal ikke skifte kabler hele tiden - remember the days of plugging in and out the antenna cable...)

Torben Mogensen

Så vidt jeg husker, så krævedes der dengang 3 M'er før man havde en supercomputer: MegaHertz, MegaBytes og MegaPixel.

Efter den definition var min første supercomputer min Archimedes A310: 1MB, 8MHz og max 1152x896 skærmopløsning (dog max 640x512 på min billige monitor).

En tommelfinger var desuden, at antallet af de tre skulle følges ad. Dvs. 1MHz til 1Mp til 1MB. Men antallet af megapixels har ikke fulgt med de andre: En moderne PC har typisk 1-2 GHz, 2-4 GB men kun 1-2 Mp, dog med 32-bit pixels, hvor kravet dengang blot var 1 bpp. Men der er alligevel lang vej op til 1Gp.

Martin Bøgelund

Jeg vil nok investere i en, når den bliver tilgængelig. Ikke til noget seriøst formål, men til den pris behøves det heller ikke.

Den bliver forsinket. Det skal folkene bag Raspberry Pi nok selv sørge for. Vi kommer nok hen i slutningen af 2011 før vi hører noget om release dato, og datoen bliver vel inde i 2012.

Grossister og importører i DK vil ikke have lyst til at få sådan en ka'l ind på markedet. Jo lavere pris, des lavere indtjening, og den her risikerer at nedsætte efterspørgslen på større og dyrere systemer. De vil [i]stalle[/i] den, og som minimum kræve at der er Windows på - "Markedet ønsker ikke computere med Linux. Vi kan ikke sælge den medmindre der er Windows på." Så de [i]staller[/i] indtil den kan fås med Windows 8.

Prisen bøffes så op til 1499,- og så skal grossister og importører bare vente på at efterspørgslen tørrer ind igen pga den høje pris.

Og så kan de vende tilbage til at distribuere netbooks til 2300,- som det billigste igen, for det kan der trods alt tjenes lidt på.

Log ind eller opret en konto for at skrive kommentarer

IT Businesses