How to read Mac .dmg images in Linux

How to read Mac .dmg images in Linux (via dmg2img) :

Quick Guide that was tested on Ubuntu Linux Jaunty Jackalope.

1. Download and compile DMG2IMG http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz (http://vu1tur.eu.org/tools/) :

wget -O dmg2img.tar.gz http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz
tar xfz dmg2img.tar.gz
cd dmg2img
make

2. Convert the DMG to IMG with dmg2img :

./dmg2img file.dmg

3. Install hfsplus :

sudo apt-get install hfsplus

4. Mount the image as a loopback device :

sudo mkdir /mnt/macimage
sudo mount -t hfsplus -o loop file.img /mnt/macimage

Voila.

Norwegian holidays in Zimbra

Nicolai wrote an excellent howto on how to get Norwegian holidays into Zimbra , but I thought it required a bit many steps, and figured there should be an easier way 🙂

1. Switch to the Calendar view in the Zimbra webui.
2. Click “New Calendar” (or “Ny kalender” in Norwegian).
3. Name it something nice like “Norwegian public holidays”.
4. Check the box “Synchronize events from remote calendar” (“Synkroniser avtaler mot ekstern kalender” in Norwegian).
5. Paste http://ical.mac.com/bjorkheim/Norske%20helligdager.ics
6. Click Ok.

As long as the calendar maintainer bothers to update, Zimbra wil automatically receive updates. If you have another remote .ICS calendar you’d like to subscribe to, just add that one instead..

Sqlite VACUUM for fun and profit

Takket være sigurdur viser det seg at VACUUM fungerer i Sqlite. Hva betyr det for deg? Jo, vårrengjøring i Firefox er mulig 🙂 (Dersom du har sqlite3 binærer på systemet ditt vel og merke..

Sigurds triks gjengitt for allmennheten :

Avslutt firefox.

$ cd ~/.mozilla/firefox/
$ cd PROFILFOLDER (byttes med din profilfolder)
$ mkdir sqlite.back
$ for file in *.sqlite ; do ls -lh $file ; cp $file sqlite.back ; echo “VACUUM;”|sqlite3 $file; ls -lh $file; done

Start firefox.

I mitt tilfelle fikk jeg krympet den største filen fra 51 til 17MB.

At VACUUM av sqlite filer er mulig var jeg rett og slett ikke klar over, kjekt å vite ettersom mye rart bruker slike embedded-databaser for tiden.

Store Norske lansert

Store norske leksikon er endelig lansert som en åpen tjeneste.

Flere utviklere i Redpill Linpro (min arbeidsgiver) har bidratt i utviklingen av et på mange måter spennende produkt. Det er uansett hvordan man vurderer det bra med flere kilder til faktaopplysninger på nett, og en god kilde med norsk språk er jo flott.

Det tok meg ikke mange klikk og søk rundt i de “kvalitetssikrede” artiklene før jeg snublet over innhold jeg stusset over. Linux artikkelen på SNL sier nemlig i skrivende stund at Minix er “opphavet” til Linux og at Linus Torvalds videreutviklet Minix. Her er det potensielt en misforståelse. Torvalds benyttet Minix på universitetet og var som artikkelen hevder intressert i mer funksjonalitet enn Minix kunne tilby, men Torvalds begynte fra bunnen av på Linuxkjernen. Han videreutviklet ikke Minix.

Registreringsprosessen på SNL var relativt enkel, og trass litt fikling med klipp-og-lim funksjonaliteten var redigering relativt lett. Vi får nå se hvor fort SNL plukker opp endringen.

Oppdatering (2011-02-10): I ettertiden viste det seg at Store Norske fikk problemer med økonomien, men i skrivende stund er eierskapet på vei til nye hender.

Lightweight Web servers

Developerworks artikkelen Lightweight Web servers lister opp en imponerende mengde webservere i lettvektsklassen. Her er det noe for enhver smak, fra kjente lighty, thttpd (som jeg testet som alternativ bildeserver for startsiden) til de mer obskure som ZWS (implementert i zsh), Miniature JWS (javabasert, takler jsp og servlets på 77KB) og Nanoweb (skrevet i PHP).

En artig oppsummering av et bredt spekter servere. Hvorvidt mange av disse er mer enn akademisk intressante er et annet spørsmål..

Red Hat Enterprise Linux 5.3

20.1.2009 slapp Red Hat 5.3 versjonen av RHEL5. Pakker som berører meg på ett eller annet vis er :

mod_perl-2.0.2-6.3.el5 -> mod_perl-2.0.4-6.el5
openssl-perl-0.9.8b-10.el5_2.1 -> openssl-perl-0.9.8e-7.el5
perl-5.8.8-15.el5_2.1 -> perl-5.8.8-18.el5
perl-DBD-MySQL-3.0007-1.fc6 -> perl-DBD-MySQL-3.0007-2.el5
perl-DBI-1.52-1.fc6 -> perl-DBI-1.52-2.el5
openldap-2.3.27-8.el5_2.4 -> openldap-2.3.43-3.el5
yum-3.2.8-9.el5_2.1 -> yum-3.2.19-18.el5

Ellers diverse større eller mindre bumps av andre pakker.
Full diffliste fra en utvalgt server etter skillet.

NetworkManager-0.6.4-8.el5 -> NetworkManager-0.7.0-3.el5
ORBit2-2.14.3-4.el5 -> ORBit2-2.14.3-5.el5
OpenIPMI-2.0.6-6.el5_2.2 -> OpenIPMI-2.0.6-11.el5
OpenIPMI-libs-2.0.6-6.el5_2.2 -> OpenIPMI-libs-2.0.6-11.el5
OpenIPMI-tools-2.0.6-6.el5_2.2 -> OpenIPMI-tools-2.0.6-11.el5
SysVinit-2.86-14 -> SysVinit-2.86-15.el5
acpid-1.0.4-5 -> acpid-1.0.4-7.el5
alsa-lib-1.0.14-1.rc4.el5 -> alsa-lib-1.0.17-1.el5
alsa-lib-1.0.14-1.rc4.el5 -> alsa-lib-1.0.17-1.el5
audit-1.6.5-9.el5 -> audit-1.7.7-6.el5
audit-libs-1.6.5-9.el5 -> audit-libs-1.7.7-6.el5
audit-libs-1.6.5-9.el5 -> audit-libs-1.7.7-6.el5
audit-libs-python-1.6.5-9.el5 -> audit-libs-python-1.7.7-6.el5
authconfig-5.3.21-3.el5 -> authconfig-5.3.21-5.el5
autofs-5.0.1-0.rc2.88.el5_2.1 -> autofs-5.0.1-0.rc2.102
bash-3.2-21.el5 -> bash-3.2-24.el5
bind-libs-9.3.4-6.0.3.P1.el5_2 -> bind-libs-9.3.4-10.P1.el5
bind-utils-9.3.4-6.0.3.P1.el5_2 -> bind-utils-9.3.4-10.P1.el5
binutils-2.17.50.0.6-6.el5 -> binutils-2.17.50.0.6-9.el5
ccid-1.0.1-6.el5 -> ccid-1.3.8-1.el5
coreutils-5.97-14.el5 -> coreutils-5.97-19.el5
cpuspeed-1.2.1-3.el5 -> cpuspeed-1.2.1-5.el5
crash-4.0-5.0.3 -> crash-4.0-7.2.3.el5
cryptsetup-luks-1.0.3-2.2.el5 -> cryptsetup-luks-1.0.3-4.el5
cryptsetup-luks-1.0.3-2.2.el5 -> cryptsetup-luks-1.0.3-4.el5
cups-1.2.4-11.18.el5_2.3 -> cups-1.3.7-8.el5
cups-libs-1.2.4-11.18.el5_2.3 -> cups-libs-1.3.7-8.el5
cups-libs-1.2.4-11.18.el5_2.3 -> cups-libs-1.3.7-8.el5
dbus-1.0.0-7.el5_2.1 -> dbus-1.1.2-12.el5
dbus-glib-0.70-5 -> dbus-glib-0.73-8.el5
device-mapper-1.02.24-1.el5 -> device-mapper-1.02.28-2.el5
device-mapper-1.02.24-1.el5 -> device-mapper-1.02.28-2.el5
device-mapper-event-1.02.24-1.el5 -> device-mapper-event-1.02.28-2.el5
device-mapper-multipath-0.4.7-17.el5 -> device-mapper-multipath-0.4.7-23.el5
dhcdbd-2.2-1.el5 -> dhcdbd-2.2-2.el5
dhclient-3.0.5-13.el5 -> dhclient-3.0.5-18.el5
dmraid-1.0.0.rc13-15.el5_2.1 -> dmraid-1.0.0.rc13-33.el5
dosfstools-2.11-6.2.el5 -> dosfstools-2.11-7.el5
e2fsprogs-1.39-15.el5 -> e2fsprogs-1.39-20.el5
e2fsprogs-libs-1.39-15.el5 -> e2fsprogs-libs-1.39-20.el5
e2fsprogs-libs-1.39-15.el5 -> e2fsprogs-libs-1.39-20.el5
elfutils-libelf-0.125-3.el5 -> elfutils-libelf-0.137-3.el5
ethtool-5-1.el5 -> ethtool-6-2.el5
file-4.17-13 -> file-4.17-15
filesystem-2.4.0-1 -> filesystem-2.4.0-2
findutils-4.2.27-4.1 -> findutils-4.2.27-5.el5
firstboot-tui-1.4.27.3-1.el5 -> firstboot-tui-1.4.27.7-1.el5
ftp-0.17-33.fc6 -> ftp-0.17-35.el5
ghostscript-8.15.2-9.1.el5_1.1 -> ghostscript-8.15.2-9.4.el5
glibc-2.5-24.el5_2.2 -> glibc-2.5-34
glibc-2.5-24.el5_2.2 -> glibc.2.5-34
glibc-common-2.5-24.el5_2.2 -> glibc-common-2.5-34
gnupg-1.4.5-13 -> gnupg-1.4.5-14
hal-0.5.8.1-35.el5 -> hal-0.5.8.1-38.el5
httpd-2.2.3-11.el5_2.4 -> httpd-2.2.3-22.el5
hwdata-0.213.6-1.el5 -> hwdata-0.213.11-1.el5
initscripts-8.45.19.1.EL-1 -> initscripts-8.45.25-1.el5
iproute-2.6.18-7.el5 -> iproute-2.6.18-9.el5
iputils-20020927-43.el5 -> iputils-20020927-45.el5
kbd-1.12-20.el5 -> kbd-1.12-21.el5
kpartx-0.4.7-17.el5 -> kpartx-0.4.7-23.el5
krb5-libs-1.6.1-25.el5_2.2 -> krb5-libs-1.6.1-31.el5
krb5-libs-1.6.1-25.el5_2.2 -> krb5-libs-1.6.1-31.el5
krb5-workstation-1.6.1-25.el5_2.2 -> krb5-workstation-1.6.1-31.el5
ksh-20060214-1.7 -> ksh-20080202-2.el5
kudzu-1.2.57.1.17-1 -> kudzu-1.2.57.1.21-1
libgcc-4.1.2-42.el5 -> libgcc-4.1.2-44.el5
libgcc-4.1.2-42.el5 -> libgcc-4.1.2-44.el5
libgcj-4.1.2-42.el5 -> libgcj-4.1.2-44.el5
libgcj-4.1.2-42.el5 -> libgcj-4.1.2-44.el5
libgcrypt-1.2.3-1 -> libgcrypt-1.2.4-1.el5
libgcrypt-1.2.3-1 -> libgcrypt-1.2.4-1.el5
libhugetlbfs-1.2-5.el5 -> libhugetlbfs-1.3-3.el5
libhugetlbfs-1.2-5.el5 -> libhugetlbfs-1.3-3.el5
libpcap-0.9.4-12.el5 -> libpcap-0.9.4-14.el5
libselinux-1.33.4-5.el5 -> libselinux-1.33.4-5.1.el5
libselinux-1.33.4-5.el5 -> libselinux-1.33.4-5.1.el5
libselinux-python-1.33.4-5.el5 -> libselinux-python-1.33.4-5.1.el5
libstdc++-4.1.2-42.el5 -> libstdc++-4.1.2-44.el5
libstdc++-4.1.2-42.el5 -> libstdc++-4.1.2-44.el5
libutempter-1.1.4-3.fc6 -> libutempter-1.1.4-4.el5
libutempter-1.1.4-3.fc6 -> libutempter-1.1.4-4.el5
libvolume_id-095-14.16.el5 -> libvolume_id-095-14.19.el5
logrotate-3.7.4-8 -> logrotate-3.7.4-9
lvm2-2.02.32-4.el5_2.1 -> lvm2-2.02.40-6.el5
m2crypto-0.16-6.el5.2 -> m2crypto-0.16-6.el5
man-pages-2.39-10.el5 -> man-pages-2.39-12.el5
mcstrans-0.2.7-1.el5 -> mcstrans-0.2.11-3.el5
mesa-libGL-6.5.1-7.5.el5 -> mesa-libGL-6.5.1-7.7.el5
mesa-libGL-6.5.1-7.5.el5 -> mesa-libGL-6.5.1-7.7.el5
mkinitrd-5.1.19.6-28 -> mkinitrd-5.1.19.6-44
mkinitrd-5.1.19.6-28 -> mkinitrd-5.1.19.6-44
mod_perl-2.0.2-6.3.el5 -> mod_perl-2.0.4-6.el5
module-init-tools-3.3-0.pre3.1.37.el5 -> module-init-tools-3.3-0.pre3.1.42.el5
nash-5.1.19.6-28 -> nash-5.1.19.6-44
neon-0.25.5-5.1 -> neon-0.25.5-10.el5
neon-0.25.5-5.1 -> neon-0.25.5-10.el5
net-snmp-libs-5.3.1-24.el5_2.2 -> net-snmp-libs-5.3.2.2-5.el5
newt-0.52.2-10.el5 -> newt-0.52.2-12.el5
nfs-utils-1.0.9-35z.el5_2 -> nfs-utils-1.0.9-40.el5
nscd-2.5-24.el5_2.2 -> nscd-2.5-34
nss_ldap-253-13.el5_2.1 -> nss_ldap-253-17.el5
nss_ldap-253-13.el5_2.1 -> nss_ldap-253-17.el5
ntp-4.2.2p1-8.el5 -> ntp-4.2.2p1-9.el5
numactl-0.9.8-2.el5 -> numactl-0.9.8-7.el5
numactl-0.9.8-2.el5 -> numactl-0.9.8-7.el5
openldap-2.3.27-8.el5_2.4 -> openldap-2.3.43-3.el5
openldap-2.3.27-8.el5_2.4 -> openldap-2.3.43-3.el5
openssh-4.3p2-26.el5_2.1 -> openssh-4.3p2-29.el5
openssh-clients-4.3p2-26.el5_2.1 -> openssh-clients-4.3p2-29.el5
openssh-server-4.3p2-26.el5_2.1 -> openssh-server-4.3p2-29.el5
openssl-0.9.8b-10.el5_2.1 -> openssl-0.9.8e-7.el5
openssl-0.9.8b-10.el5_2.1 -> openssl-0.9.8e-7.el5
openssl-perl-0.9.8b-10.el5_2.1 -> openssl-perl-0.9.8e-7.el5
pam-0.99.6.2-3.27.el5 -> pam-0.99.6.2-4.el5
pam-0.99.6.2-3.27.el5 -> pam-0.99.6.2-4.el5
pam_krb5-2.2.14-1.el5_2.1 -> pam_krb5-2.2.14-10
pam_krb5-2.2.14-1.el5_2.1 -> pam_krb5-2.2.14-10
paps-0.6.6-17.el5 -> paps-0.6.6-18.el5
parted-1.8.1-17.el5 -> parted-1.8.1-23.el5
parted-1.8.1-17.el5 -> parted-1.8.1-23.el5
patch-2.5.4-29.2.2 -> patch-2.5.4-29.2.3.el5
perl-5.8.8-15.el5_2.1 -> perl-5.8.8-18.el5
perl-DBD-MySQL-3.0007-1.fc6 -> perl-DBD-MySQL-3.0007-2.el5
perl-DBI-1.52-1.fc6 -> perl-DBI-1.52-2.el5
pkinit-nss-0.7.3-1.el5 -> pkinit-nss-0.7.6-1.el5
pm-utils-0.99.3-6.el5.19 -> pm-utils-0.99.3-10.el5
policycoreutils-1.33.12-14.el5 -> policycoreutils-1.33.12-14.2.el5
popt-1.10.2-48.el5 -> popt-1.10.2.3-9.el5
ppp-2.4.4-1.el5 -> ppp-2.4.4-2.el5
prelink-0.3.9-2.1 -> prelink-0.4.0-2.el5
procps-3.2.7-9.el5 -> procps-3.2.7-11.1.el5
psacct-6.3.2-41.1 -> psacct-6.3.2-44.el5
python-2.4.3-21.el5 -> python-2.4.3-24.el5
python-urlgrabber-3.1.0-2 -> python-urlgrabber-3.1.0-5.el5
quota-3.13-1.2.3.2.el5 -> quota-3.13-1.2.5.el5
rdate-1.4-6 -> rdate-1.4-8.el5
redhat-menus-6.7.8-2.el5 -> redhat-menus-6.7.8-3.el5
redhat-release-5Server-5.2.0.4 -> redhat-release-5Server-5.3.0.3
redhat-release-notes-5Server-15 -> redhat-release-notes-5Server-25
rhel-instnum-1.0.8-1.el5 -> rhel-instnum-1.0.9-1.el5
rhn-check-0.4.17-8.el5 -> rhn-check-0.4.19-17.el5
rhn-client-tools-0.4.17-8.el5 -> rhn-client-tools-0.4.19-17.el5
rhn-setup-0.4.17-8.el5 -> rhn-setup-0.4.19-17.el5
rhnlib-2.2.5-1.el5 -> rhnlib-2.2.6-2.el5
rpm-4.4.2-48.el5 -> rpm-4.4.2.3-9.el5
rpm-libs-4.4.2-48.el5 -> rpm-libs-4.4.2.3-9.el5
rpm-python-4.4.2-48.el5 -> rpm-python-4.4.2.3-9.el5
selinux-policy-2.4.6-137.1.el5_2 -> selinux-policy-2.4.6-203.el5
selinux-policy-targeted-2.4.6-137.1.el5_2 -> selinux-policy-targeted-2.4.6-203.el5
setup-2.5.58-1.el5 -> setup-2.5.58-4.el5
shadow-utils-4.0.17-13.el5 -> shadow-utils-4.0.17-14.el5
smartmontools-5.36-4.el5 -> smartmontools-5.38-2.el5
sos-1.7-9.2.el5_2.2 -> sos-1.7-9.16.el5
stunnel-4.15-2 -> stunnel-4.15-2.el5
subversion-1.4.2-2.el5 -> subversion-1.4.2-4.el5
subversion-1.4.2-2.el5 -> subversion-1.4.2-4.el5
sudo-1.6.8p12-12.el5 -> sudo-1.6.9p17-3.el5
sysstat-7.0.2-1.el5 -> sysstat-7.0.2-3.el5
system-config-network-tui-1.3.99.10-2.el5 -> system-config-network-tui-1.3.99.12-1.el5
tcp_wrappers-7.6-40.4.el5 -> tcp_wrappers-7.6-40.6.el5
tcp_wrappers-7.6-40.4.el5 -> tcp_wrappers-7.6-40.6.el5
tcpdump-3.9.4-12.el5 -> tcpdump-3.9.4-14.el5
tcsh-6.14-12.el5 -> tcsh-6.14-14.el5
tmpwatch-2.9.7-1.1.el5.1 -> tmpwatch-2.9.7-1.1.el5
traceroute-2.0.1-3.el5 -> traceroute-2.0.1-5.el5
udev-095-14.16.el5 -> udev-095-14.19.el5
unzip-5.52-2.2.1 -> unzip-5.52-3.el5
usermode-1.88-3.el5.1 -> usermode-1.88-3.el5
util-linux-2.13-0.47.el5 -> util-linux-2.13-0.50.el5
vixie-cron-4.1-72.el5 -> vixie-cron-4.1-76.el5
words-3.0-9 -> words-3.0-9.1
wpa_supplicant-0.4.8-10.2.el5 -> wpa_supplicant-0.5.10-8.el5
ypbind-1.19-8.el5 -> ypbind-1.19-11.el5
yum-3.2.8-9.el5_2.1 -> yum-3.2.19-18.el5
yum-rhn-plugin-0.5.3-12.el5_2.9 -> yum-rhn-plugin-0.5.3-30.el5
yum-security-1.1.10-9.el5 -> yum-security-1.1.16-13.el5
zip-2.31-1.2.2 -> zip-2.31-2.el5

Støtt Wikipedia

I år som i fjor har jeg gitt litt penger til Wikipedia. Et prosjekt som dette fortjener bred støtte, og når jeg ikke i hverdagen rekker å bidra så mye som jeg burde til innholdet føler jeg at en liten pengedonasjon hører hjemme.

Jeg vet ikke om noen informasjonstjeneste (søkemotorer ekskludert) på nett jeg bruker så ofte som Wikipedia.

Wikipedia Affiliate Button

Drupal i vinden?

Etter at jeg som teknisk ansvarlig i Startsiden var med på å velge ut Drupal som publiseringsløsning falt jeg veldig for løsningen. Det er derfor hyggelig å se at også andre aktører der ute vurderer Drupal som intressant. At det blir en diskusjon i mediemarkedet der fri programvareløsninger generelt og Drupal spesielt kommer opp synes jeg er tegn på en spennende utvikling.

Drupal er ikke et perfekt publiseringssystem, som alle andre løsninger har Drupal feil, mangler og svakheter. Men Drupal er utrolig fleksibelt, har en yrende brukermasse, er GPLv2 lisensiert (fri programvare), og har ikke minst en haug funksjonalitet tilgjengelig som moduler som kan settes sammen mer eller mindre slik man ønsker.

Når ABC Startsiden skulle velge publiseringssystem vurderte vi proprietære løsninger, bygg alt selv fra bunnen prosjekt, og en rekke fri programvareløsninger. Nå hadde sikkert ABC Nyheter blitt et glimrende produkt også med en proprietær løsning. Bak avgjørelsen lå uansett ønsket om friheten til å styre utviklingen akkurat dit vi ville. Vi ville ikke betale en enorm sum penger til en leverandør som så selv skulle avgjøre hvilken retning produktet utviklet seg.

Av erfaring er nemlig publiseringsløsninger produkter som nesten aldri passer ut av boksen. Med mindre du har svært standardiserte behov (eksempelvis en normal blogg) kreves det alltid en viss mengde skreddersøm for å bygge det produktet redaksjonen og øvrige intressenter ser for seg. Med det spesielle fokuset ABC Nyheter hadde på involvering av brukere var det rimelig å anta at å bruke pengene på egenstyrt utvikling ville gi best avkastning på investerte penger..

Blogging?

Ettersom blogging er dødt kan jeg jo likegodt bidra til den døende uttrykksformen.

Hvem vet, kanskje overlever bloggen min litt lenger enn to måneder denne gangen? Det er vel første gang jeg velger å skrive norsk, kan jo hende det faller mer naturlig da. Vi får se.

Valgte selvfølgelig Drupal siden jeg er en skikkelig fanboy, og jeg må si at ut-av-boksen opplevelsen med Drupal6 var utrolig bra!