Feed on
Posts
Comments

Het is alweer een maand geleden dat ik hier iets gepost heb, dus het is hoog tijd voor een kleine update: Ik heb deze voormiddag getekend bij Q-layer. Nicolas en ik worden dus collega’s vanaf 1 september. :) Q-layer ontwikkelt o.a. Virtual Private Datacenter software en een Datacenter Abstraction Layer. Meer info hier. Fancy screencasts hier (registratie nodig).

Nu nog die thesis op tijd afkrijgen…

Great error messages

I just ran into this error message:

$ find . -name "*/version*/*"
find: warning: UNIX filenames usually don't contain slashes (though pathnames do). That means that '-name */version*/*' will probably evaluate to false all the time on this system. You might find the '-wholename' test more useful, or perhaps '-samefile'. Alternatively, if you are using GNU grep, you could use 'find ... -print0 | grep -FzZ */version*/*'.

I wish I could say the same about git. :)

Toen ik daarnet een link naar een pagina op deredactie.be volgde kreeg ik na lang wachten het volgende bericht van firefox: “Firefox can’t find the server at www.deredactie.be.”. Na wat geŽxperimenteer op servers binnen en buiten het UGent-netwerk (realnitro.be, eduserv/genix, een vtk-server) blijkt dat deredactie.be overal toegankelijk is, behalve vanuit het UGent-netwerk…

Weet iemand hier meer over? Zou dit een block vanuit de vrt zijn, of zou het probleem ergens tussenin liggen? Een traceroute stopt bij “195-130-153-129.iFiber.telenet-ops.be”… Iemand?

Git op eduserv

Onder invloed van Nicolas ben ik een eindje terug git-gebruiker geworden. Git is een snel versiecontrolesysteem (version control system), zoals svn, maar dan anders. :P Een groot verschil is dat git ‘distributed’ is. Wat dat precies inhoudt ga ik hier niet uitleggen, wikipedia kan dat veel beter.

Vorige week kreeg ik plots het idee om een git-repository te maken op eduserv.ugent.be (of moet ik genix zeggen?). Het leek me handig voor studenten die gebruik wilden maken van een versiecontrolesysteem maar niet over een eigen server beschikten. De rest van deze post is een korte tutorial die je uitlegt hoe je een repository ‘pusht’ naar eduserv. Ik veronderstel dus dat je al een basiskennis van git hebt.

Log in op eduserv via ssh. Voer volgend commando uit:

cp /users/j/jgeirega/git-script.sh .

(Inclusief de ‘.’!) Als je de inhoud van dit script bekijkt (bijvoorbeeld met “cat git-script.sh”), dan zie je dat je PATH variabele hierdoor veranderd wordt. Dit betekent dat al je bestanden uit mijn home-map (/users/j/jgeirega/bin) zal gebruiken om met git te werken; Als je dit niet vertrouwt (ik kan in feite gelijk welk commando in die map stoppen, maar dat doe ik uiteraard niet) kan je je eigen git compileren, daarover meer op het einde van deze post. Pas nu ook met een editor naar keuze (pico-gebruikers vinden die terug als /opt/csw/bin/pico) je .profile bestand aan, opnieuw om de PATH variabele aan te passen. Voeg volgende regel toe:

PATH="$PATH:/users/j/jgeirega/bin"

(Hier geldt dezelfde opmerking als daarnet.) Als je nu uitlogt en opnieuw inlogt zou je op eduserv het commando ‘git’ moeten kunnen uitvoeren. De output zou moeten beginnen met:

usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [-p|--paginate] [--bare] [--git-dir=GIT_DIR] [--help] COMMAND [ARGS]

Maak nu waar een map aan waar je je repository wil plaatsen. (Opmerking: gewoonlijk laat men de mapnaam van een git repository eindigen op ‘.git’. Bijvoorbeeld ‘test.git’.) Als je je repository via het internet beschikbaar wil maken kan je het bijvoorbeeld in je WWW map zetten. Navigeer in je repository-map en voer uit:

git --bare init

Voer nu uit:

chmod u+x hooks/post-update

Zorg dat je het preciese pad van die map kent (gebruik bijvoorbeeld het commando ‘pwd’), en je werk op eduserv zit erop!

Terug op je lokale machine open je in je lokale repository het bestand .git/config met een editor naar keuze. Voer daarvoor volgend commando uit:

git-remote add eduserv ssh://GEBRUIKERSNAAM@eduserv.ugent.be/MAPNAAM

Vervang GEBRUIKERSNAAM door je gebruikersnaam en MAPNAAM door de naam van de map waarin je zonet een lege (bare) git-repository hebt gemaakt. Om nu de volledige inhoud van je repository naar eduserv te ‘pushen’ voer je uit:

git-push --force --all --receive-pack=~/git-script.sh eduserv

De output zou moeten gelijken op:

updating 'refs/heads/master'
from 0000000000000000000000000000000000000000
to 2318059c3497c80885602654045511a58b37d9c8
Generating pack...
Done counting 6 objects.
Deltifying 6 objects...
100% (6/6) done
Writing 6 objects...
100% (6/6) done
Total 6 (delta 0), reused 0 (delta 0)
refs/heads/master: 0000000000000000000000000000000000000000 -> 2318059c3497c80885602654045511a58b37d9c8

Vanaf nu mag je de –force en –all na git-push weglaten als je je eduserv-repository wil updaten:

git-push --receive-pack=~/git-script.sh eduserv

Merk op dat –receive-pack het script doorgeeft dat je eerder op eduserv hebt gekopieerd. Dat script is (voor zover ik weet, ksh is een raar ding) nodig om te zorgen dat enkele nodige uitvoerbare (git-)bestanden in je PATH zitten.

Als je je repository onder je WWW map hebt gemaakt kan je het nu clonen over http. Bijvoorbeeld voor een van mijn publieke repositories:

git-clone http://studwww.ugent.be/~jgeirega/git-repos/test.git/

Wil je zelf git compilen op eduserv? Download dan eerst een git tarball met wget of scp hem naar je account (hier gebruik ik de .tar.gz versie), en extract de tarball met:

gzip -dc git-1.5.2.5.tar.gz | tar xf -

Verander git-1.5.2.5.tar.gz naar de versie die je hebt gedownload. Cd in de uitgepakte map en open het bestand Makefile in je favoriete editor. Om git-1.5.2.5 te kunnen compileren moest ik de regels

ifndef NO_TCLTK
OTHER_PROGRAMS += gitk-wish
endif

in commentaar zetten, en in het configuratiegedeelte van SunOs (begint met “ifeq ($(uname_S),SunOS)” en eindigt met “endif” heb ik voor die endif het volgende toegevoegd:

# EDUSERV SPECIFIC
AR = gar
TAR = tar
BASIC_CFLAGS += -I/opt/csw/include
BASIC_LDFLAGS += -L/opt/csw/lib
NO_TCLTK = NoThanks
NEEDS_LIBICONV = YesPlease
ICONVDIR = /opt/csw
CURLDIR = /opt/csw

Zorg dat /opt/csw/bin/ en /opt/csw/gcc4/bin/ in PATH zitten. Voeg daarvoor volgende regel toe aan ~/.profile:

PATH="/opt/csw/bin:/opt/csw/gcc4/bin:$PATH"

Log opnieuw in, navigeer opnieuw naar je git-map en voer eerst ‘gmake’ en daarna ‘gmake install’ uit. Als alles zonder fouten is verlopen heb je nu in je home-map een map ‘bin’ met daarin alle uitvoerbare git-bestanden… Succes!

Edit: Enkele kleine aanpassingen. Bedankt Nicolas. ;)

I’m subscribed to a few gaming-related blogfeeds and Lost Garden is one of my favorites. Today Lost Garden’s Danc posted a new game prototyping challenge: “Play With Your Peas“. The challenge is to build a game based on Danc’s game idea, using his (free!) graphics. The game idea and the graphics were both very attractive, so I decided to dive in.

I used Istanbul to record a screencast of the result after 10-odd hours of hacking with pygame. Download the .ogg here. (I’m too tired/lazy to convert it to another format. If you can’t open it with your browser, use right-click and save-as to download it and play it with VLC. I might upload a better version tomorrow.) The basic level-building code is done, the rest isn’t. :) Grab the code here, but keep in mind that it was written in a rush by a pygame noob. ;) I used the code of this tutorial as a starting point. One obvious mistake I made was reloading each sprite over and over again but that doesn’t keep it from working. The code should run on all OS’s that are supported by pygame. You’ll need a copy of Danc’s graphics, extracted to a subdirectory called ‘data’.

I threw the unfinished code online because I don’t know if I’ll keep on working on it after today. There is still a lot of work to do on my master thesis so my focus will be there from now on. :)

Inhalen

Na mijn post van gisteren ga ik maar even door met ranten. Toen gisterennamiddag meerdere ziekenwagens en een stuk of 4 brandweerwagens met loeiende sirenes langs onze deur voorbijreden dacht ik dat er ergens in Ruiselede een woningbrand was. Bleek dat een paar honderd meter verder op de weg waarlangs wij wonen een ernstig ongeval was gebeurd. Onder de slachtoffers waren een oud-journaliste en twee twintigers van ongeveer mijn leeftijd. Iemand die een groot aantal auto’s aan het inhalen was blijkt de oorzaak te zijn van het ongeval:

Ann Van Nieuwenhove reed in de richting Aalter en moest uitwijken voor een wagen die een hele reeks wagens in de tegenovergestelde richting inhaalde en nipt weer invoegde. De auto van Ann ging daarbij aan het slingeren en botste tegen de bestelwagen.

Wat er precies gebeurd is weet ik niet, maar toch: Wat is dat toch met die mensen die denken dat het keer op keer zal blijven lukken om op het nippertje voorbij het laatste voertuig te raken? Rekenen ze erop dat ze wel zullen voorgelaten worden? Of maken ze er een sport van? Keer op keer houd ik mijn hart vast als er weer eentje niet genoeg geduld heeft en ervoor gaat. Meestal loopt dat goed af, maar dit keer blijkbaar niet.

Grr.

Nintendo Rant

Eerst te weinig Wii’s (gelukkig had ik de mijne vroeg genoeg besteld, morgen heb ik hem dus exact een jaar), dan te weinig Wiimotes en “standard controllers”, en nu blijkt dat ook Super Mario Galaxy voor de rest van december moeilijk verkrijgbaar zal zijn. Ik begin het stilaan meer dan beu te worden Nintendo. Van een wereldbedrijf als Nintendo zou je toch moeten verwachten dat ze deftig hun stock kunnen beheren?

Ondertussen is de website van Nintendo Europe nog altijd niet helemaal upgedate. In 2007 een website zo lang down halen voor een simpele update is gewoon not done Nintendo…

I came across this video today. Kudos to Microsoft for that technology. I wonder how they manage to deliver that kind of user-experience in real-time. Does anyone have any idea how they pull of the (almost) infinite zoom??

Over the last six months my white Macbook slowly evolved into a grey Macbook. Today I descided to clean it back to its original color. I found this tip about what cleaner to use, and it worked out nicely. There are only two grey areas left: those where the palm of my hand rest while typing. Even a stronger cleaning product couln’t get rid of those. (No pictures, just wanted to pass that link on to other Macbook users. ;) )

xkcd en FOSDEM

Voor iedereen die een beetje in het hele Linux/Open Source/Open Standards-wereldje thuis is: de laatste 4 xkcd-comics zijn echt de moeite. Aflevering een, twee, drie, vier. Ik vraag me af hoe lang de mini-reeks nog zal duren. :)

Oh, en FOSDEM 2008 gaat door op 23 en 24 februari!

« Newer Posts - Older Posts »