Tuesday, 22 April 2008

Sage 3.0 ute!

Program som Maple, Matlab och Mathematica (s k CAS, Computer Algebra Systems) är mycket bra när man vill göra symboliska beräkningar med en dator. De klarar av att integrera och derivera symboliska uttryck, lösa differentialekvationer, vanliga ekvationer, rita grafer och mycket mera. problemet med dessa nämnda kommersiella program är dock att de kostar flera hundra euro att skaffa. Dock kan jag glädja alla med att det finns ett fullvärdigt alternativ med öppen källkod. Detta program heter Sage och kan laddas ner från http://sagemath.org. Det klarar av det mesta som de andra kommerciella programmen och ibland är det t o m snabbare än de andra på vissa beräkningar.

Utveklingen av Sage började 2005 av William Stein, som idag är associative professor på University of Washington. I dag har han sällskap av många andra utvecklare och utvecklingen går mycket snabbt. En ny version kommer ut ungefär varannan vecka. Förra året kom det ur 60 versioner. I dag kom version 3.0 ut.

Sage går att använda på Linux, Mac och Windows. För Windos används en virtualmaskin, vilket gör installationen aningen mer komplicerad. Detta kommer att förändras i framtiden, då Microsoft har gett finansiellt stöd åt Sage-gruppen för att porta Sage till Windows. Även Google har gett bidrag för Sages utveckling. Vill man inte direkt installera Sage på sin egen dator finns det en möjlighet att använda Sage över internet på Sages hemsida. Man behöver bara skapa sig ett användarnamn och välja ett lösenord -- det hela är helt anonymt. Sen kan man logga in på Sage-servern och göra sina beräkningar, som kan sparas eller laddas ner till den egna datorn för kommande behov.

Den stora fördelen med ett CAS med öppen källkod ur vetenskaplig synvinkel är att alla uträkningar kan granskas ner till kodnivå, vilket inte är möjligt på stängda kommersiella program. Dessa är i princip svarta lådor som tar inmatning och matar ut i andra ändan, utan att man vet vad den gjort däremellan. Med Sage är hela processen öppen för granskning. Därtill kan Sage också använda sig av andra öppna program, som direkt kan implementeras i Sage tack vare principen med öppen källkod. Detta har Sage också gjort och Sage innehåller fler än tio andra program som alla kan styras med gemensam syntax. Passande nog är Sages motto: "Building the car, not reinventing the wheel".

Thursday, 17 April 2008

Filformat.wtf - vilket skall man välja?

Säg att du vill börja skriva dagbok på en dator. I vilket format skall du skriva din dagbok i för att det skall vara möjligt ännu om femtio eller kanske hundra år att läsa den?

Helt säker på att det format man väljer är läsbart om femtio år kan man aldrig vara. Ingen vet hur framtiden ser ut. Säkrast är troligen att printa ut allt, men det är ju inte helt praktiskt och kanske inte ens ändamålsenligt för alla sorts dokument. Du kan ju ha en videodagbok. Problemet med långvarig läsbarhet gäller förstås inte bara dagböcker, utan alla sorts filer man sparar i digital form: bilder, musik, filmer, databaser, dokument, med mera, med mera. Projekt Gutenberg,

http://www.gutenberg.org, som strävar efter att digitalisera klassiska böcker och sätta dem på nätet, fritt tillgängliga för alla, har löst problemet genom att spara alla böcker i det enklast möjliga formatet -- vanliga textfiler. Med det formatet är all text i samma storlek och varken fetstil eller kursiv stil är möjligt. Bilder kan man glömma. Det är alltså ett mycket primitivt format, men det gör sannolikheten större för att det skall vara läsbart även i framtiden. För vanliga användare duger oftast inte denna lösning.

Filformat kan delas in i tre olika grupper: kommersiella stängda, kommersiella öppna och icke-kommersiella öppna format. Man kan enkelt säga att kommersiellt stängda format är de man borde undvika, icke-kommerciella öppna format de man borde använda och kommersiella öppna format en bra kompromiss. Problemet med kommersiella stängda format -- som exempelvis .doc och .xls -- är att de är och gör dig beroende av företaget som äger formatet. När företaget slutar stöda formatet eller går i konkurs sitter man i värsta fall med en massa filer man inte kan läsa mera.

Kommersiella öppna format är format som ägs av ett företag, men har gett ut specifikationerna för formatet, så att andra kan göra program som kan läsa formatet eller producera filer i formatet. Exempel på ett kommersiellt öppet format är .pdf. Risken med denna sorts format är att företaget stänger formatet igen eller gör förändringar i formatet som det inte berättar om. Vad gäller pdf-formatet tror jag att denna risk är rätt liten, men det lönar sig förstås alltid att tänka på dessa saker när man väljer sina format.

Icke-kommersiella öppna format har en öppen dokumentation och kan inte stängas. Det är fritt fram för vem som helst att göra program som använder sig av formatet. Detta betyder att om mitt i allt finner att det inte finns något program för din dator-plattform som kan läsa din farmors dagbok, så kan du i värsta fall göra ett läsningsprogram själv -- eller beställa programmet av någon annan. Med ett stängt format är detta inte möjligt utan ägarens tillstånd -- om ägaren ännu ens existerar eller kommer ihåg specifikationerna! Exempel på icke-kommersiella öppna format är Portable Network graphic (.png), Joint Photographic Expert Group (.jpg / .jpeg) ( .mpeg2), eXtensible Markup Language (.xml), Scalable Vector Graphic (.svg) och inte minst OpenDocument-formatet.

Valet av filformat och i förlängningen vilket program man skall använda för större projekt (som t ex dagböcker, arkiv, bild/fotografi-arkiv, musikbibliotek) är alltså av stor vikt. Portabilitet och användarvänlighet är också att tänka på. Har formatet de egenskaper jag vill ha? Att det är lätt att omvandla formatet till andra format är en garanti för att man skall kunna hålla sina filer i ordning.

Mer om ämnet hittas på

http://en.wikibooks.org/wiki/Choosing_The_Right_File_Format/Formats.

Friday, 11 April 2008

Så vad är Linux?

Linux är ett operativsystem, dvs det sköter om och styr hårdvaran på datorn. Program och användaren behöver sen bara bry sig om operativsystemet och inte vad som händer på hårdvarunivå. Linux kommer sen i många olika varianter av vilka några av de populäraste är openSUSE, Ubuntu och Fedora. Det har dock alla något gemensamt. Minns ni Windows 3.1? Först startade man MS-DOS och så med ett kommando startade man sedan själva Windows. På den tiden fungerade Windows endast som en fönsterhanterare och operativsystemet var MS-DOS. För Linux motsvaras MS-DOS av det som kallas Linux-kerneln och är gemensam för alla Linux-varianter. Linux-kerneln är själva operativsystemet. Resten är bara kringutrustning, som gör olika varianter -- eller distributioner, som de brukar kallas -- olika.

Det finns olika fönsterhanterare för Linux. Man kan installera flera om man vill och växla mellan dem. De två populäraste är dock KDE som som kan användas med openSUSE och Kubuntu, som är Ubuntu med KDE. Den andra fönsterhanteraren heter Gnome och är standard på Ubuntu och Fedora. Fönsterhanteraren är alltså det som användaren "ser" av Linux -- det grafiska gränssnittet. Själva Linux ser man inte mycket av om man inte plockar fram en kommandotolkare. Vilket man inte behöver om man inte vill.

Grunden till Linux-kerneln gjordes av Linus Torvalds 1991. På den tiden var han student vid Helsingfors Universitet. Det som gjorde Linux unikt och framgångsrikt var att han gjorde koden öppen och publicerade den på internet. Därvid började andra utveckla Linux och Linux kunde växa snabbt till ett fullvärdigt operativsystem. Idag används Linux på allt från servrar till mobiltelefoner.

Eftersom få kommersiella program ha gjorts för Linux har det varit upp till användarna själva att utvekla egna program, som oftast gjordes öppna. Eftersom denna utvekling har pågått rätt länge, börjar många öppna program t o m vara bättre än deras kommersiella motsvarigheter. I och med att de är öppna kan de distribueras tillsammans med Linux-distributionerna. Så, när man installerar Linux kan man oftast på samma gång välja från en lista på hundratals program som man kan välja att isntallera på samma gång -- helt gratis. Det svåra är för nybörjaren är närmast att veta vad programmen kan göra när namnen är obekanta. Att programmen är öppna gör också att man har kunnat samla alla program på några få servrar från vilka vem som helst kan ladda ner dem och installera automatiskt via några enkla installationsprogram i Linux. I openSUSE kallas det YaST och i Ubuntu Apt-get. De är i princip bara en lista på program på servern som man kryssar för de program man vill installera. Sen laddas de valda programmen ner och installeras. Kan det bli enklare?

En sista allmän sak om Linux som kan vara värd att nämna är förekomsten av s k live-CDn. Dessa är en skild sorts varanter av Linux som man kan ladda ner och bränna på CD-skivor. Alla stora Linux-distributioner har denna möjlighet. När man har bränt sin lice-CD kan man starta datorn med denna och kan då köra Linux direkt från CDn utan att något rörs på datorn eller något installeras. Ett utmärkt sätt att pröva olika Linux-distributioner.

Mer om Linux på Wikipedia.

Thursday, 10 April 2008

Vad är "öppna" progam?

De kan vara skäl att för oinvigda reda ut begreppen lite. Med "öppna" program menas program vars källkod är öppen för var och en att läsa och modifiera och distribuera. Det gäller förstås även för programmet i sig själv. Man får ta betalt för att distribuera ett öppet program, men källkoden måste alltid följa med. Om ett program är öppet eller ej, bestäms i praktiken av dess licens. De vanligaste är GPL -- Gnu General Public License -- och LGPL -- Gnu Lesser General Public License. GPL finns sen ännu i tre versioner. Linux anväder version 2. För mer information om öppen källkod rekommenderas http://en.wikipedia.org/wiki/Open_source.

Det kan vara bra att också veta skillnaden mellan "öppna" program och "gratisprogram". Gratisprogram kostar inget och är ofta inget värda. Det är sådana du får på köpet när du köter en skanner eller dyligt. Ofta finns det bättre program på nätet. Exempel på bra gratisprogram är dock Googles programsvit med t ex Picasa, Google Desktop, Google Earth m fl. För en lista, titta här. Öppna program är oftast gratis, men behöver inte vara det.

Linux? Öppna program??

Jag har använt Linux exklusivt sedan 2003. Det vill säga, jag har nog haft en Windows parallelt installerad på datorn, men bara använt det i undantagsfall -- som för vissa spel t ex. Jag hade nog prövat på Linux förut, men 2003 var året då jag gjorde Linux till första startalternativet på min dator. SuSE Linux hette det då. openSUSE heter den Linux jag använder idag -- en utvecklad variant av samma Linux som jag använde 2003. Den första varianten av Linux jag prövade på var Red Hat. Jag minns inte versionen, men det kan ha varit 5 någonting. Det var en version som kom med en bok på biblioteket. Linux är ju helt gratis, så man kan låna det på biblioteket. Sen blev jag tipsad om SuSE och har hållit fast vid det. Vilken variant av Linux som är "bäst", tänker jag inte orda om deso mer, eftersom det helt och hållet är en fråga om smak och behov.

Vad som får mig att börja blogga om Linux och öppna program är den oroväckande upptäckt jag gjort att folk i allmänhet vet väldigt lite om denna värld. Folk vet inte vilka skatter som finns på nätet, bara man orkar titta efter. Det gäller allt från pensionärer till studerande. Olika lösningar passar för olika människor, men det är ju bra om folk åtminstone vet vilka alternativ som finns. "Windows/Outlook/Explorer/MS Office duger gott åt mig" är det många som säger. Men de vet då ofta inte vad de går miste om. Nog duger det bra för många också att diska för hand, men ack då de skaffar diskmaskin...

Utvecklingen av öppna program går väldigt fort och nya uppkommer hela tiden. Det brukar vara en liten utmaning att hitta de program man vill ha. Ibland finns det inga, men oftast finns det flera stycken som man måste noggrannt se vilket det lönar sig att börja använda. Jag har emellanåt gjort sådana utvärderingar och tror att dessa kan vara av intresse även för andra människor.