Simple version control with Git in 10 minutes

Disclaimer: I am new to git. I am definitely not an expert. I am a doctoral candidate just learning, and posting this as a reference for myself and, hopefully, as a helpful guide for other beginners. But this is far from exhaustive, and I may even inadvertedly introduce some bad practice.
In fact, recent studies have shown that you will get marmelade on your shirt just before leaving for an important interview if you follow my advise too uncritically.

As the amount, length and complexity of the code I am writing has started to grow, the trusty old copy the entire work folder and continue working on the new copy every time you made a major improvement to your code so you don’t mess it up too bad -approach seems to be more and more uncool. Clumsy, risky, taking up insane amounts of space when there’s also data files etc. to keep track of. So, I decided to see what that version control hype was all about. Maaan, I so should have done that earlier.

Part I: Simple version control/change tracking on a workstation

My user case

I am, a Ph.D. student in astronomy, generally writing code to analyze my data. I work on a university desktop running Ubuntu (but this HowTo should also work just fine on a Mac). I have a laptop also running Ubuntu that I occasionally use to work on my stuff from home. A remote SSH connection is usable but often slow and frustrating, and it’s vulnerable to network outages that sometimes happen on my wireless network.

I want to keep track of changes in my working directory (one for each project I am working on that I want to keep track of independently), I want to be able to perform crazy experiments with my code without having to worry about messing up my stable working version, and I want to be able to synchronize the versions on my home and office computer.

There may very well be other grand and righteous versioning systems out there, I chose Git for the following reasons:

  • It seems to be very popular, also among grand-scale projects like e.g. the Linux kernel
  • It is scalable – while it can manage huge and complex projects, my typical small and simple project is quick and  easy to set up.
  • It is flexible: I don’t need a central server to set it up. Any folder on my machine can act as a Git repository. I can synchronize a folder between my office desktop and my private laptop. And should I change my mind and want to set up a full-fledged shared repository on an online server, it is easy to migrate.

Installation and setup

Install

On Linux, Git is very likely found in your package manager. On Ubuntu, install the package from the Software Center or through the Terminal:

$ sudo aptitude install git-core

…that should be it. On a Mac, you can install it from here, or through MacPorts, where it is easy as:

$ sudo port install git-core

– provided you have MacPorts set up already. I’m sure Windows users can install it too, but I have no idea how as I have not been using Windows for work purposes for a very long time.

Personalize

To tell Git about your name and e-mail, run:

$ git config --global user.name "Your Name"
$ git config --global user.email "your_email@server.com"

This step is not strictly necessary now, but it will be if you are going to collaborate on a project at a later stage, and it’s easy so just as well just get it over with.

And hey! You can set up a name for your current repo only by omitting the ‘–global‘ option. That way, your info will be remembered only by the repository you are currently working on.

Setting up and maintaining a local repository

Setting up any local directory – that is, any folder on your computer – as a git repository is easy. It does not provide synchronization (yet), but it allows you to track changes to your work and revert to any earlier stage if you’d want to, and to switch between stable and experimental branches. If you want to, it is easy to add more functionality later.

Creating repository from scratch

Let’s start by creating a new folder for our fictional project. Open the terminal, go to the folder where you want to create your project. Now we’ll create a folder, navigate into it, initiate an empty repository and tell Git to add the current folder to the list of files and folders to track:

 
$ mkdir Gittest 
$ cd Gittest 
$ git init 
$ git add . 

Adding files & folders

Git needs to be told specifically which files to track. It is fully possible to have a bunch of untracked files in your repository. So let us create and add a file, e.g. a(n empty) Python-script:

 
$ touch newfile.txt 
$ touch myscript.py 
$ git add newfile.txt myscript.py 

Git is now tracking the file myscript.py.

Turning existing project into Git repository

This is very easy, thanks to the fact that Git automatically adds all contents of a folder if you add the folder. So suppose you have a folder where you already have a bunch of subfolders and files, and you want to set it up as a Git repository. Just navigate to it and do the same as before: $ git init $ git add . Git is now tracking all files in the folder and any subfolders. Remember, though, that if you add any folders and files later, you still need to specifically add these before they are tracked.

First snapshot

After you have run the above steps, it is time to make the first snapshot of the new repository. This is done by running:

$ git commit 

This opens a text editor – in this case Vim – and prompts you to write a commit message to describe the changes made since last commit; see below. Write the message, save the file and exit the editor.

Unknownname

The current state of your tracked files is now saved with a unique, auto-generated name tag. Snapshots can be taken as often as one wants.

Staging and committing

Git keeps track of your files, but it does not keep track of every little change you make (this is for you to be able to commit changes to one file while holding back changes to another file). Every time you make a commit, you need to stage your changes – that is, to specify which files and changes to include by using ‘git add’ as described above. A shortcut to commit all changes you’ve made to already tracked files, and to avoid the editor opening, is:

$ git commit -a -m "Commit message"

If you want to see which changes are staged and which are not, you can run

 
$ git status

The command

$ git reset 

clears all changes – staged or non-staged – you have made since the last commit.

In practice, I hardly ever worry about staged and unstaged changes, as mostly I just commit with the -a option. But there are times when it comes in handy.

Branching and merging

Suppose you have a piece of code that works and is stable and you need to use it on a regular basis, but on the other hand you really want to add this awesome experimental feature to it. The answer is to create a new branch that we can call e.g. ‘experimental’:

$ git branch experimental

This new branch is basically a safe playground to conduct all the crazy experiment you could think of without ruining anything. To move to the new experimental branch, do:

 
$ git checkout experimental 
$ git branch

The latter git branch with no argument shows you which branches exist, and marks the current branch with an asterisk (‘*‘). All changes made now will be tracked in the experimental branch while leaving the ‘master’ branch alone. If you want to quickly fix a bug in your master branch, you run ‘git checkout master’, modify your code, commit the changes and run ‘git checkout experimental’. This way, you can track changes to two different versions of your code.

I’ll get back to that… (Stashing)

Suppose you are hacking away on your experimental branch. You have made changes to a couple of files, maybe only staged one for commit. It’s all one big, happy creative mess, absolutely not ready for a commit just about now – when you find out you need to fix a simple but important bug in the stable master branch. For situations like this, git has the ‘stash’ command:

$ git stash 

This will save the status of your files and changes and “put them aside” for later while reverting the current branch to what it was after the last commit. So say you have added three lines to a file, staged it and than stashed it; you open the file and the three lines are nowhere to be seen. But run

$ git stash apply 

and the changes will be back (and can be stashed again etc.). So once you have stashed your changes, you can checkout the master branch, squash that bug, go back to the experimental branch and run run ‘git stash apply’, and your creative mess is back out where it was. Very neat!

Merging

Once that experimental feature is ready to go prime time it is time to merge the ‘experimental’ branch back into ‘master’. With everything staged and committed in the experimental branch, checkout the master branch and run:

$ git merge experimental

Your new awesome feature has now been merged into the master branch, but any bugs you have fixed in master in the meantime of course stay fixed. Notice, though, that while Git is very good at tracking and merging changes, conflicting changes to the same line are marked in the file and will have to be resolved manually.

If your experimental branch is not needed anymore, you can delete it by

$ git branch -d experimental 

This requires that there are no changes in the branch that are not merged. If you have this but still want to delete it, force it by using a capital D.

$ git branch -D experimental

Viewing log and restoring old version

To keep track of which changes have been made, you can run

$ git log --graph 
0unknownname

The ‘–graph’ option is not necessary but provides the nice illustration of the branching and merging history seen in the left side of thew window.

Undo specific change

As mentioned above, any changes made since the last commit will be cleared with

$ git reset 

If you want to undo the effect of a given commit, you find the ID of the commit by running git log and then call:

$ git revert <commit id> 

If there are no conflicts, Git can even revert a commit made in the master branch before merging and still keep results of the merging.

Learn more

If this has made you curious to learn more, there is of course a lot of places on the internet that give much more in-depth information about Git. But in fact, Git also has excellent built-in documentation. Try entering

$ git help

in the terminal to see a list of available commends with a short description (there are many more than listed here!), and

$ git help [COMMAND]

to get in-depth information and examples for each of the commands.


In the next post (soon to come), I will write how to keep a synchronized copy of your repository (a clone) on a remote machine. Stay tuned!

Reklamer

Humbler than thou!

The guys over at Cosmic Variance always have something interesting to present. This time, Sean has  for some obscure reason been surfing on the Passion For Christ Movement website. What he did there I do not know, but what he found there was golden – in its oewn sad, pathetic way. Passion For Christ Movement proudly presents: the Look-Ma-I-Quit-Masturbating collection!

You lived a life of sin and pride and vanity, you found Jesus and you overcame it. Why stop there? What would be more natural than loudly advertising your new-won humility with a snazzy t-shirt?

Say it loud: Im humble and Im proud!

Say it loud: I'm humble and I'm proud!

When you graduate from High School, you proudly show it by wearing funny hats and stuff. When you – seemingly at a young age – have graduated from the Tough But Loving School Of The Lord, why not show it off in a street-wise fashion? Nothing says “now officially flawless” like this:

I gave self-deception up for lent!

I gave up self-deceit for lent!

A bold statement indeed. My primary conundrum right now is — should I go for ex-rebel or ex-atheist? Tough one. But I can say for sure that this one is not likely any time soon.

Coachen og Krigerfyrsten

En gang sidste forår dumpede en mail ind i min mailboks fra det rekrutteringsbureau, som jeg i et stykke tid har solgt min krop – eller i hvert fald arbejdskraft – til. Til gengæld for at de giver mig en temmelig lav løn, ville de gerne tilbyde mig – helt gratis – at jeg kunne deltage i en karriere-coaching-workshop afholdt af en åbenbart virkelig kompetent coach, som havde coachet alle mulige topchefer rundt omkring i erhvervslivet. Kort sagt et tilbud, man skulle være godt dum for ikke at slå til. Om ikke andet så for at føle man fik noget for de penge, de ikke gav mig i løn.

Coachen

Jeg sprang til, og mødte op til den første workshop, hvor vi blev inddelt i grupper. Vi var studerende fortrinsvis fra samfundsfaglige retninger, men osse humanister, psykologer, sprogvidenskabelige osv. Vor coach var en meget behagelig mand, som forstod at få folk til at føle sig godt tilpas. Få stemningen ned på jorden, sådan. Talte i et behageligt lavt tonefald, havde en helt igennem venlig og samtidig topprofessionel indstilling, og med et menneskekendskab, der endda lejlighedsvis løftede sig over det banale.  Man følte sig kort sagt straks i gode hænder.

Vi fik udleveret hver et ‘life sheet’, en ‘servicebog’ – livet skal til serviceeftersyn ligesom din bil!  – og et lille hæfte med små diagrammer, der på overskuelig og skematisk vis kunne vise løsninger på nogle dagligdags vanskeligheder, vi alle løber ind i. Konflikttrappen, for eksempel, og de ni personlighedstyper. Vores sjælelivs Lille ABC, kan man sige.

Udover at deltage i de fire workshops, var det vigtigt at vi arbejdede med os selv i mellemtiden. Vi lærte at vi skulle huske at trække vejret tre gange dagligt, at danse lidt ved kaffeautomaten, at vi skulle tænke åbent og positivt og gøre alt til en win-win situation ved at tænke ud af boksen og se muligheder i stedet for begrænsninger. Man skal aldrig lade sit job stresse sig, for så går man bare ned, og man dør af det. Det kan virkelig tage på sjælen at gå konkurs med en virksomhed. Man skal sørge for at alle lag i en selv er i harmoni – krop, følelser, tanker og ånd.

Ånd.

Den kom sådan lidt ind fra højre, den der Ånd. Den blev ikke forklaret nærmere. Naturligvis ved vi alle, hvad Ånden er. Og den skal man have med. Det behøver vel ikke nogen nærmere forklaring.

Vi skulle teste os selv: hvor godt er du i harmoni med dig selv? Svarene kom ud i praktiske procentsatser, som vi kunne bruge til at finde ud af, hvor der skulle sættes mere ind. Skal jeg dyrke mere Power Yoga? Eller måske hellere komme min sjæl lidt nærmere mandag og torsdag aften på meditationskurset?

Antydningsvis blev det os meddelt, at der var en højere mission i dette end blot og bart velvære. Der forelå en vision for os – erhvervsledere skulle se ud over bundlinjer og direktionsgange og træde i karakter som inspiratorer og moralske forbilleder og tage et ansvar for verdens økonomiske og sociale og miljømæssige problemer – der som oftest skyldtes dårlig virksomhedsledelse. Det blev vi mindet om, hver gang vi så på bagsiden af vores servicebog, som var påskrevet den lille, opbyggelige passage “En Erhvarvs-Ridders Trosbekendelse” (“Credo of a business Knight”). En trosbekendelse, som er et helt blogindlæg værd i sig selv, så det kunne godt gå hen at komme senere:

I believe that global business has the money and power to make a significant difference in today’s troubled world, and that by making that difference it can help itself as well as others. I envision business raising its sights above the bottom line. I envision business becoming a vocation, like the higher professions. To make this possible, I believe that business must add a moral dimension, becoming more service- and value-oriented and largely eliminating the assumed natural distinction between private enterprise and public institutions. I envisage business taking responsibility for the world in which it operates and from which it creates its wealth. And I envisage myself becoming one of those business leaders who are “servant leaders” – leaders who serve not just stockholders, colleagues, employees, products and customers, but leaders who also serve the community, the planet, humanity, the future and life itself.

Tak for kaffe. Tragisk nok et ganske godt billede på mange moderne erhvervsfolks selvopfattelse.

Det viste sig iøvrigt et stykke inde i forløbet, at Business Knight ikke bare var idealet på den ansvarlige, fleksible og medmenneskelige leder, men også en titel, man mod et anseeligt – men sikkert på ingen måde urimeligt – beløb kunne få diplom på på Coachens egen skole. Et kursus han i øvrigt havde i franchise fra en eller anden britisk erhvervsguru. Et intromodul, der meget passende hed Young Business Knight, blev os tilbudt ganske kvit og frit senere i forløbet – desværre var Deres Udsendte dog forhindret i at deltage og måtte således gå glip af titlen og det medfølgende diplom.

Kurset var en forunderlig blanding af business-husmoderfifs og snusfornuft krydret med den her helt særlige pseudovidenskabelige, let spirituelle business-buddhisme, som er så trendy i tiden. Helt snusfornuftigt, og med en faktisk imponerede stor menneskekendskab, indledtes tankerækken med gode løsningsforslag på velkendte dagligdags problemstillinger, der siden blev teoretiseret op på et højere niveau af generelle udsagn om, hvordan et menneske fungerede bedst på det mentale og det emotionelle plan – og vupti, ind kom “ånden” og “spiritualiteten” igen, ligesom bare sådan, uden at blinke. Hvor kom den lige fra?

Ganske logisk bevægede vi os for hvert modul stadig højere op i den personlige pyramide, og endte med Ånden i sidste modul.

Ånden var, som tidligere nævnt, en lidt mærkelig størrelse. Den blev bare beskrevet som ‘det, der er vores dybeste kerne som mennesker, vores inderste følelser, vores inderste ild” (citeret efter hukommelsen) – men det fremgik aldrig klart, om dette var ment som et udsagn eller en definition. Klart var det til gengæld, at ånden var en på samme tid stærk og skrøbelig plante, som var det dyrebareste vi havde, ja, selve essensen af os selv.

Og hvad hjalp alle disse tricks til vores fysiske og mentale hygiejne, hvis vi i vores karriere skulle havne på en åndelig mødding? Det må selvfølgelig ikke ske, og coachen havde heldigvis et trick i ærmet – sjælerejsen. Drik noget urtethe, dæmp lyset, sæt den kedeligst mulige musik på, luk øjnene og forestil dig du går ind i en have, hvor der er en trappe, som går op til skyerne. Gå op og op – læg mærke til, at du ikke føler dig trættere, men lettere heroppe! – og se; pludselig møder du en skikkelse som er din åndelige vejleder! Og når man nu sådan har bevæget sig ind til denne uudtømmelige kilde af visdom i livets dybeste spørgsmål – hvad er så mere nærliggende at spørge om end karrierevalg? Aldrig mere tunge og forældede versioner af “Hvad Kan Jeg Blive?”!

Krigerfyrsten

Det var Coachen meget om at gøre, at vi skulle føle ansvar for vores eget liv, at vi skulle vide, at vi kunne forandre vores dårlige vaner. Til dette hentede han kavaleri fra et lidt andet fort end forventet – vi blev nemlig informeret om, at man selv tænkte sin verden, og at det var kvantefysikkens fortjeneste at have opdaget dette! Som den eneste i lokalet med et kendskab til kvantefysik udover hvad Tor Nørretranders’ bøger kan fortælle os, studsede jeg noget, men sagde intet – ville jo gerne høre mere, og jeg var der jo for at lære, ikke sandt?

Det blev os oplyst, at den nyeste videnskab havde vist, at alt, hvad man måler, afhænger af, hvordan man måler det. Herfra, fik vi at vide, kunne vi konkludere, at det er vores tanke, der skaber virkeligheden, og at man alene med sine tanker kunne ændre virkeligheden!

På et vist plan er det banalt og indlysende sandt. Tanken er grundlaget for håndens bevægelse, når den snitter i en pind eller detonerer en A-bombe. I den forstand rummer udsagnet ikke noget som helst nyt. Men tanken alene? det stod aldrig helt klart, hvordan det skulle forstås. Og det var netop det smarte ved hele affæren – at den altid balancerede med en tvetydighed mellem det indlysende banale og den tåbeligste New Age-mysticisme, som hverken gør videnskaben eller åndeligheden ære.

Kvante-buddhismens evangelium blev forkyndt i uddrag af en film, som vi fik vist. I denne serverede åndelige og videnskabelige sværvægtere livets store og fundamentale spørgsmål for os i mundrette bidder á 15 sekunder ind imellem en bizar historie om en neurotisk fotograf og nogle blinkende og roterende computeranimationer af en masse små kvanter og celler og alt sådan noget anden videnskabeligt noget. Eller, vi måtte regne med at de var åndelige og videnskabelige sværvægtere, for de stod ikke præsenteret ved hverken navn eller titel. Det må helt sikkert have været for, at vi skulle befri os af vore fordomme og lytte mere efter indholdet end efter, hvem der talte. Eller sådan noget.

Disse filosofiske godbidder har utvivlsomt fyldt en del af de tilstedeværende med en dyb sense of wonder ikke ulig den, man kan føle, når man ser en virkelig god udsendelse om naturvidenskab. Jeg skal dog hilse at sige, at dette ikke var tilfældet. Følelsen af undren og mystik skyldes nok snarere, at man på kort tid blev fyldt med ufattelig meget tågesnak, hvoraf særligt en ældre,  stærkt udstafferet dame med platinblond hår, tyk make-up og soverkammerøjne, leverede pragtstykke på pragtstykke.

Den bragte den ene myte og forkerte påstand til torvs efter den anden. Dr. Emoto, der klistrede ord på vandflasker, og angiveligt derved kunne bevise, at vandet ikke bare har en sjæl, men at det også kan læse. Historien om, at de indfødte amerikanere bogstavelig talt ikke kunne se europæernes skibe, da de ankom til Amerika, fordi de aldrig havde set så store skibe før. Og mere af samme skuffe. Meget mere.

Filmen var kort sagt fuld af pseudovidenskabelig og pseudoreligiøs tågesnak, hvis eneste budskab var at ophæve den banale indsigt, at positive tanker skaber bedre resultater end negative, til en essentiel egenskab ikke bare ved sindet, men ved hele universet. Dybt tåbeligt, men ikke noget man ikke har hørt før fra de kanter.

Det gode kom først nogle måneder senere.

Kurset var vel overstået, det var blevet efterår og jeg sad og læste på den altid interessante blog for teoretisk astrofysik, Cosmic Variance. Her stødte jeg på et indlæg, der straks fangede min opmærksomhed. Og den var god nok. Filmen, vi havde set, “What The Bleep Do We Know”, var jeg åbenbart ikke ene om at være kritisk indstillet overfor: et af de ‘snakkende hoveder’ i filmen,  fysikfilosoffen David Albert, var splitterrasende over, at hans udtalelser var blevet dissekeret til ukendelighed, og at deres fortolkning af kvantemekanikken er “vildt og uansvarligt forkert”, hvilket han også – foran kameraet – havde brugt timer på at forklare dem. Mine mistanker havde altså ikke været helt ude i hampen, så med fornyet appetit kastede jeg mig over at læse mere, og fandt enartikel som fik mig til at spærre øjnene op: nok var den gamle platinblondine sær, men at hun var sær

Ramtha

Billede fra Sceptico

Hvad vi ikke havde set af filmen var nemlig slutningen, hvor de forskellige medvirkendes identitet endelig blev afsløret. Plantinblondinen præsenteres simpelt hen som “Ramtha, mesterlærer på Ramthas Oplysningsskole, kanaliseret gennem J. Z. Knight”. Ramtha. Den guddommelige ånd af en krigerfyrste fra det forsvundne sagnkontinent Lemuria, et lidt overset søsterkontinent til Atlantis, som han efter sigende også havde ledt sit folk i krig imod. Ramtha, som har valgt at bruge en husmor fra USA som sit talerør i verden idag, hvor han lærer os, at Gud er Den Store Observatør i kvantemekanikken. Selvsamme husmor har i parantes bemærket ikke bare æren af at være udvalgt som talerør – helt bogstaveligt – for guddommen, hun har også copyright på ham. Alt dette hævdes i fulde alvor at ske i en såkaldt dokumentarfilm, som en coach højt respekteret i erhvervslivet efter alt at dømme får en ikke ringe sum penge af Bureauet for at vise os håbefulde unge akademikere in spe, som forinden er blevet godt blødgjort af sjælerejser og lokkende ord om at blive samfundets kommende elite.

Det skal til Coachens forsvar siges, at han efter henvendelse erklærede, at han ikke længere ville bruge filmen, og at han beklagede sin manglende research på området. Dette er ikke noget angreb på ham. Men historien er meget sigende af en anden grund. Lytter man nemlig til budskabet i både filmen og kursusforløbet, så passer den benhårde individualisme – her pakket ind i søde, halv-buddhistiske fraser – som fod i hose med den stigende privatisering og afvikling af den offentlige sektor. At enhver er sin egen lykkes smed har de længe fortalt os – at det også skulle være en grundlæggende egenskab ved hele universet kommer jo kun belejliget for denne dagsorden.

Og denne – falske – påstand er de altså så ivrige efter at sælge, at selv mørkemænd som J. Z. Knight bliver modtaget med kyshånd og løftet op på managementfilosofiens piedestaler som havde de været nye Platon’er.

Primærfarverne fra Mars!

“Da jeg var i 10 års-alderen […] introducerede en ven mig til Edgar Rice Borroughs’ Mars-romaner…
De var fascinerende at læse. I starten. Derefter begyndte tvivlens orm at gnave…
Der var tilfældige bemærkninger, som først forbløffede mig, men skuffede ved nærmere eftertanke. Borroughs indskyder f.eks., at at på Mars er der yderligere to primærfarver, end der er på jorden.Jeg brugte talløse minutter, med hårdt lukkede øjne, på at koncentrere mig intenst om en ny primærfarve. Men det endte altid med en tåget brunlig eller blommefarvet kulør. Hvordan kunne der være en ny primærfarve på Mars, for slet ikke at tale om to? Og hvad var en primærfarve? Havde det noget med med fysik, eller fysiologi at gøre?
Jeg besluttede, at Borroughs muligvis ikke anede, hvad han talte om. Men han fik i hvert fald sine læsere til at tænke sig om…”

Carl Sagan citeret i Phantazm

Nu kommer moderne neurologi så muligvis den stakkels Borroughs til undsætning. På Cosmic Variance skriver skribenten Sean Caroll om neurologiske undersøgelser af synæstesi – at én slags sanseindtryk, for eksempel en form, kan fremkalde en anden slags sanseindtryk, for eksempel en smag.

De finere detaljer i forsøgene skal jeg ikke komme ind på, dem beskriver Caroll fint i sit blogindlæg, men finten er, at de her folk forbinder bestemte former med bestemte farver.

Nu er det ikke ualmindeligt, at folk opfatter en eller anden form for forbindelse imellem f.eks. tal og farver, men det er mere en vag association. For den rigtige synæstetiker træder farverne klart og skarpt frem, hvilket for eksempel gør dem i stand til at udpege nogle 2-taller imellem en masse 5-taller langt hurtigere end almindelige mennesker. Det er ikke bare en metaforisk association, den virker på et meget lavere og mere automatisk plan, og teorien er, at den skyldes en feedbackeffekt eller lignende mellem det center i hjernen, der opfatter former, og det der opfatter farver – de ligger nemlig lige ved siden af hinanden.

Og her er det så, det seje kommer. De fandt nemlig en farveblind synæstetiker; der var visse bølgelængder/farver, som farvereceptorerne på hans nethinde ikke kunne opfatte, så der var bestemte farver, han ikke kunne se. Men, når de viste ham bestemte former, så fremtrådte de for ham i de farver, han normalt ikke kunne se!

Teorien er, at selvom hans nethinde ikke kan opfatte disse farver, så kan farvecenteret i hans hjerne sådan set godt opfatte dem – det får blot ikke det input fra øjet, som skulle udløse opfattelsen af netop denne farve – og at netop netop disse signaler fra form-centeret inde ved siden af, så udløser det i stedet for.

Totalt ukendte farver, som han ganske vist ikke direkte så, men som han ikke desto mindre opfattede lige så klart og levende som andre farver, var pludselig kommet ind i hans univers.

Og han omtalte dem som… Mars-farverne!

Borroughs – Sagan: 1 – 1

Hvor cool er det lige? 😀

 

Bad, bad Vista

Bad Vista!Jeg havde ellesr besluttet mig for, at jeg ikke gad deltage i Den Store Styresystem-krig. Den der, Mac- er- bedre- end- Windows- er- bedre- end- linux- er- bedre- end… osv. Ikke fordi jeg ikke har en holdning til det. Det har jeg. Jeg bruger kun Windows, når jeg er tvunget til det, bruger Mac med fornøjelse, men allerhelst fri software, hvor det overhovedet kan lade sig gøre. Men derfra og til at gode bruge tid til at ditche Microsoft til højre og venstre er der et stykke vej, og indtil nu har der ikke været tvivl om, at det ikke var noget jeg gad.

Men Free Software Foundation har et par rigtig skarpe pointer i deres nye kampagne Bad Vista, som er blevet lanceret for nylig.

Et er, at Vista er horribelt dyrt, særligt når man ser på, hvad man får for pengene. Hvad folk vil smide deres penge ud på, er ikke min hovedpine, hvis ellers de bare ved, at der er alternativer. Microsofts patent-krig imod hele den frie softwareverden er i sig selv et skoleeksempel på, hvordan forældede produktionsforhold – kapitalismen – holder produktivkræfternes – Softwareteknologiens og informationsdelingens – udvikling tilbage og ligefrem bekæmper den. Interessant, men ikke umiddelbart særlig appellerende. At Microsoft har opdraget en hel generation til at tro, at operativsystemer pr definition er enormt usikre og sårbare for virus- og malware-angreb har længe pisset mig af personligt, men jeg har ikke villet genere andre med det. Ikke alle kan være nørder

At Windows Vista fratager brugeren kontrollen over produktet, så den ekstra høje pris faktisk ikke er en købspris men en pris for allernådgst at få lov at bruge sin egen computer med Microsofts styresystem, det er trist og sørgeligt, og det pisser mig af, at de vil binde forbrugerne på hænder og fødder. Men det er min erfaring, at de færreste af mine venner og bekendte gider beskæftige sig med den slags. Så hva’ fa’en.

Bad Vista campaign logo

Men nu har jeg fået en sag – og et argument – som alle kan forstå. Lanceringen af Vista har enorme miljøødelæggende konsekvenser. Vista kommer til at fremskynde udskiftningen af måske halvdelen af verdens computere i løbet af eget få år, fordi Vista kun kan køre på den nyeste hardware. Der findes et absurd højt antal PC’er i verden. Hvis bare en fjerdedel af dem skal køre Vista i løbet af få år – så er den samme fjerdedel skiftet ud.

Bill Gates og Steve Ballmer skal ikke være bange for at få billeder som det der pryder dette lille rant at se i deres egen baghave. Det meste af verdens elektroniske affald – som er ekstremt giftigt – eksporteres til enorme e-lossepladser i fjernøsten. Ikke desto mindre er det der, og det forårsager store ødelæggelser.

Hvis så endda Vista præsenterede os for noget nyt og banebrydende, så kunne det måske retfærdiggøre den enorme ydelse, som det kræver af computerne. Men det gør den ikke. Vistas funktioner er også at finde hos Apple’s Mac OS X eller hos forskellige varianter af Linux-baserede styresystemer. Både Linux og Mac OS X – selv i de nyeste udgaver – kører glimrende på ældre maskiner. Faktisk bliver systemkravene ofte mindre, når en ny version kommer. Så den enorme ydelse er ikke nødvendig for funktionaliteten. Bevar’s, Vistas grafiske tema Aero er superflot, men det kan Mac OS X og ikke mindst Linux bestemt også godt være med. På ældre hardware. Og hemmeligheden er da også, at Vista først og fremmest kræver så meget, fordi det bruger en kolossal del af sine systemressourcer på at kontrollere brugeren i hoved og røv, og sågar endda på at forringe kvaliteten af afspillede mediafiler.

For Microsoft og computerfabrikanterne er det er herligt lille økosystem. Microsofts monopolstatus gør, at når et nyt styresystem kommer ud, så stormer alle ud for at købe den nyeste og temmeligt dyre hardware, så de kan køre det. Fed fidus for computerproducenterne. Omvendt installerer praktisk talt alle computerproducenter Windows på deres computere – man bliver ikke en gang spurgt om man vil have det med, det er temmelig svært at købe en maskine uden. Microsoft-skatten, som det kaldes i visse kredse. På den måde cementeres Microsofts dominans, og ringen er sluttet. Alle er glade.

Undtagen altså lige forbrugerne, der snydes til at betale alt, alt for meget for nye maskiner, som for en stor del bruger deres mange hestekræfter på at overvåge og modarbejde brugeren.

Og udtagen miljøet, som lider en kolossal overlast, fordi profitræset er mere vigtigt end at bevare kloden som et sted hvor det er sundt og godt og smukt for mennesker at leve.

Så nu er jeg også blevet en af dem. Dem, der prædiker. Det er sgu gået for vidt. Apple er godt nok nogle svin med miljøet også, men de tvinger i det mindste ikke forbrugeren til at skifte sin maskine ud længe før den ikke kan mere. Så køb en Mac.

Eller, endnu bedre, behold din gamle computer. Installer Linux på den, og se hvordan et veldesignet og frit system kan give den nyt liv og en lækkerhedsfaktor, som Windows XP kun kan drømme om. Og som Vista godt nok godt kan måle sig med – men til alt, alt for høj en pris.

Cosmotheoros

Crristiaan Huygens25/9-2006
Den hollandske astronom, fysiker og opfinder m.m. Christiaan Huygens skrev kort inden sin død værket Cosmotheoros, en lille sag, hvor han gjorde sig nopgle tanker om eksistensen og beskaffenheden af liv på andre planeter.

Bogen er ret hurtigt læst og virkelig interessant, for den præsenterer mange dristige tanker, og samtidig bærer den præg af en videnskabsmands samvittighedsfulde omhu; en omhu der godt nok kan være lidt komisk, når han som udgangspunkt argumenterer for, at der må eksistere liv på planeterne, ikke bare om vor egen sol, men også om de øvrige stjerner, fordi hvis der ikke gjorde, ville der ikke være nogle væsener til at værdsætte skaberværkets skønhed disse steder, og han nægtede at tro, at visse dele af skaberværket skulle være de andre under- eller overelegne.

Denne logik bliver selvfølgelig lettere absurd hen ad vejen pga. det fejlagtige udgangspunkt, men ikke desto mindre er argumentet her jo en vaskeægte prototype på Det Kosmologiske Princip, som er alment anerkendt i den moderne videnskab idag. Og vist begår Huygens fejl, der i bagklogskabens uendeligt klare lys ser ganske komiske ud; men han er også en af de allerførste til på systematisk vis at undersøge dette spørgsmål og dermed løfte det op over den blotte og bare spekulation. Han anvender faktisk både fysik og geometri i sine argumenter, og er på denne måde meget progressiv for sin tid.

Bogen i sin helhed kan findes online på dette site, men den er hverken særlig læser- eller printervenlig, Så jeg har lavet en sådan version i LaTeX og lagt den op på dette link, desværre skal illustrationerne printes seperat. Hvis nogen mener, jeg krænker noget ophavsretsmæssigt ved at lægge denne fil ud, så lad mig endelig vide det.