søndag den 11. januar 2009

UU-codec med accent grave

Følgende lap gør at mellemrum bliver erstattet med accent grave i Python 2.5s uu-codec:

diff --git a/uu_codec.py b/uu_codec.py
index 43fb93c..94552fc 100644
--- a/uu_codec.py
+++ b/uu_codec.py
@@ -34,9 +34,9 @@ def uu_encode(input,errors='strict',filename='',mode=0666):
write('begin %o %s\n' % (mode & 0777, filename))
chunk = read(45)
while chunk:
- write(b2a_uu(chunk))
+ write(b2a_uu(chunk).replace(' ', '`'))
chunk = read(45)
- write(' \nend\n')
+ write('`\nend\n')

return (outfile.getvalue(), len(input))


Se osse andet lappegrej fra samme forfatter.

lørdag den 20. september 2008

Python modhex


hexHexChars = '0123456789abcdef'
modHexChars = 'cbdefghijklnrtuv'

hex2ModDict = dict(zip(hexHexChars, modHexChars))
mod2HexDict = dict(zip(modHexChars, hexHexChars))

def modhex_encode(s):
return ''.join(
[ hex2ModDict[c] for c in s.encode('hex') ]
)
# end def modhex_encode

def modhex_decode(m):
return ''.join(
[ mod2HexDict[c] for c in m ]
).decode('hex')
# end def modhex_decode

tirsdag den 19. august 2008

LaTeX \semifrenchspacing

Jeg var ved at skrive et brev på dansk i LaTeX (TeXLive), og syntes at det så lidt gnidret ud med \frenchspacing, som åben­bart er stan­dard på dansk. Omvendt syntes jeg at mellem­rummene efter sæt­ninger blev for store med et explicit \nonfrenchspacing.

#linux.dk@irc.oftc.net gjorde grove mig opmærksom på filen latex.ltx, og foreslog at jeg justerede lidt på værdierne.

Jeg endte med et rundt gennem­snit af definitionen i hhv. amsgen.dtx og oven­nævnte latex.ltx:

%% En mellemting mellem \frenchspacing og \nonfrenchspacing
\def\semifrenchspacing{\sfcode`\.2000\sfcode`\?2000\sfcode`\!2000%
\sfcode`\:1500\sfcode`\;1250\sfcode`\,1125 }
%%

Det ser ikke helt tovligt ud.

mandag den 28. juli 2008

HPET-aktivering

Jeg slog hpet til ved at tilføje clocksource=hpet til /boot/grub/menu.lst:
# defoptions=quiet splash clocksource=hpet
og opdatere grub:
$ sudo update-grub
efterfulgt af genstart, og nu ser situationen således ud:
$ dmesg | grep -i hpet
[ 0.000000] Command line: root=/dev/md1 ro quiet splash clocksource=hpet
[ 0.000000] ACPI: HPET 7D2F3000, 0038 (r1 INTEL DQ3510J 2CD MSFT 1000013)
[ 0.000000] ACPI: HPET id: 0x8086a301 base: 0xfed00000
[ 0.000000] Kernel command line: root=/dev/md1 ro quiet splash clocksource=hpet
[ 0.000000] hpet clockevent registered
[ 0.000000] TSC calibrated against HPET
[ 32.713853] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0
[ 32.713856] hpet0: 4 64-bit timers, 14318180 Hz
[ 32.717777] Time: hpet clocksource has been installed.
[ 33.428180] hpet_resources: 0xfed00000 is busy

onsdag den 25. juni 2008

Krypteret swap på Ubuntu Hardy Heron

Installér først pakken cryptsetup:
$ wajig install cryptsetup
Tilføj dernæst følgende linjer til /etc/initramfs-tools/modules:
dm-crypt
dm-mod
aes_x86_64
# (eller aes_i586 for 32bit-maskiner)
sha256_generic
og sørg for at den første ram-disk bliver opdateret:
$ sudo update-initramfs -u ALL
Slå swap fra med
$ sudo swapoff -a
Tilføj følgende linje til /etc/crypttab (det antages at /dev/sda3 bruges som swap-partition):
swap /dev/sda3 /dev/urandom swap
I filen /dev/fstab identificeres partitioner vha. uuid, fx:
# /dev/sda3
UUID=85389c28-…-d7e1ed37fc64 none swap sw,pri=1 0 0
men det skal nu ændres til
/dev/mapper/swap none swap sw,pri=1 0 0
Nu skal maskinen blot genstartes. Nu kan den krypterede swap aktiveres:
$ sudo /etc/init.d/cryptdisks start
$ sudo swapon -a
Færdig!

mandag den 12. maj 2008

Ingen GoogleGroups, tak!

Der postes så meget skidtpost til Usenet fra Google Groups, at det efterhånden kan betale sig at blokere alt der har postnews.google.com i Path-linjen. Sådan kan gøres i INN2s newsfeeds:
ME/postnews.google.com:!*/!local::

onsdag den 7. maj 2008

Romertal i LaTeX

\makeatletter
\newcommand{\romertal}[1]{\romannumeral #1}
\newcommand{\Romertal}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother