Archive for January, 2006

Familiereünie

Tuesday, January 31st, 2006

Er is in mijn familie een discussie gaande over waar de eerst volgende familiereünie moet gaan plaats vinden. Al snel is ingestemd dat dat op het zwaartepunt moet zijn. Maar hoe bepaal je dat? En, hoe worden de massa’s gedefinieerd? Geheel voorbijgegaan aan de eerste vraag hebben de zwaargewichten zich op de puntentelling (massaverdeling) gestort. Geopperd zijn:

  • generatie: ooms en tantes een punt, kinderen een halve, kleinkinderen een kwart, etc.
  • leeftijd: je leeftijd in punten.
  • burgerlijke staat: getrouwd 3 punten, ‘hokken’ 1 punt. (tja deze valt natuurlijk af: we leven nu eenmaal niet meer in de sixties)
  • gewicht: 1 punt per kilo. Hier is wel heel gevoelige informatie voor nodig…
  • of gewoon eenheid: iedereen een punt.

Ik heb me van de week meer op de eerste vraag gericht. Een handige tool voor het bepalen van de geografische locatie van je familieleden is Google Earth. Je kunt zeer nauwkeurig de lengte- en breedtegraad van je woon adres bepalen. Google Earth heeft een eigen XML standaard (KML) om deze gegevens op te slaan ontwikkeld. Een KML bestand bevat kan meerdere locaties (placemarks), mappen, contouren etc. bevatten.
Voor de zwaartepunt berekening heb ik een PHP scriptje geschreven dat een KML bestand in leest en vervolgens een KML bestand terug stuurt met daarin alle ‘massa’ punten en het berekende zwaartepunt.
Hier kun je het zelf proberen. Overigens worden hier eenheids massa’s gebruikt. Elke locatie telt even zwaar.

Door verschillende KML files te laten berekenen, kun je zien wat bijvoorbeeld een verhuizing of gezinsuitbreiding voor impact heeft op het familie zwaartepunt.
Oja, zoals het er nu naar uitziet, wordt het een nogal natte reünie, ten oosten van Tunesie!
Center of Gravity

Eenheden toevoegen aan de ‘Unit Converter’ widget

Friday, January 27th, 2006

In de electronica worden afmetingen van componenten vaak in ‘mills’ opgegeven. Een mill is een duizendste inch. Deze eenheid zit niet standaard in het handige omreken-tooltje van Dashboard. Gelukkig zijn ontbrekende eenheden relatief makkelijk toe te voegen.

unit converter widget

In het kort: de definitie van eenheden zit verstopt in de file:
/Library/Widgets/Unit Converter.wdgt/Conversions.js

Het toevoegen van een nieuwe eenheid wijst zichzelf. Op macosxhints vind je een stap voor stap handleiding.

Ps. ik ga nog een keertje wat leuke eenheden voor in de keuken er aan toevoegen!

Shell fun!

Sunday, January 8th, 2006

Tijd voor een fijne shell one-liner! Ik heb ergens een scripje lopen dat dagelijks een database backupje maakt. Als er die dag niks aan de database veranderd is, zal de inhoud van de backup hetzelfde zijn als de dag ervoor. Met de volgende regel code ruim je in 1 klap alle duplicaten op:

find . -type f -exec md5sum '{}' \; | sort | awk '{ print $2 " " $1 }' | uniq -d -f 1 | awk '{ print "rm " $1 }' | sh

(more…)

X11 genetwerkt, netgewerkt…

Tuesday, January 3rd, 2006

Heb net geprobeerd X11 op m’n mac open te zetten voor linux machines op het netwerk. Kreeg het niet direct voor elkaar omdat X11 standaard geen netwerk connecties toe laat. Helaas wordt dit nergens in de officiele X11 documentatie van Apple vermeld.

Na wat zoeken blijkt dat je dit alsnog aan kan zetten. Dit doe je met het volgende shell commando:
$ defaults write com.apple.x11 nolisten_tcp -boolean false
Ter controle: In de output van 'nmap localhost' zou een regel '6000/tcp open X11' moeten voorkomen.

Voorbeeld van een grafische sessie vanuit Terminal.app:

  • Start X11
  • Geef met xhost +linuxmachine aan dat je de linux machine toegang geeft tot de X-server
  • Log in op de linux machine
  • Geef daar met export DISPLAY=jemac:0.0 aan dat het sherm van je mac gebruikt moet worden.
  • Test het door bv xclock op te starten op de linux machine

Je kunt het opstarten X11 eenvoudig configureren in de file:
/usr/X11R6/lib/X11/xinit/xinitrc
Ik heb daar bijvoorbeeld het automatisch starten van een xterm uitgezet en de regel 'xhost + linuxmachine' toegevoegd. Zo kan ik X starten zonder dat er vensters tevoorschijn komen en kan ik fijn vanuit Terminal.app blijven werken.