05:01:24 vjt@voyager:~/Antani/trunk$ replace(){ sed -e "s|$1|$2|g"
< $3 > ${3}X; mv ${3}X $3; }; egrep -r 'XP_[A-Z_]+[[:space:]]+-?[[
:digit:]]' Headers |ruby -ne "f,m=scan(/(.+):.+(XP_[\w_]+)/).first
;puts '%s %s %s' % [ f, m, 'kXP'<<m.scan(/(_[A-Z])([A-Z]+)/).map {
|a,b| a[1..1]<<b. downcase }.join ]" | while read hdr from to; do
replace $from $to $hdr; for src in `grep -rl $from Sources`; do
replace $from $to $src; done; done
Both Python 2.5 (EOL 2011) and SCO OpenServer are extinct. SCO/Xinuos went bankrupt, and Python 2 itself reached end-of-life in January 2020. This is a digital fossil.
- You must have PTH installed, and maybe other libs.
- This was tested on
SCO_SV os507 3.2 5.0.7 i386
If you have UDK, run:
$ CFLAGS='-I/usr/local/include -belf' LDFLAGS='-L/usr/local/lib' \
./configure --with-threads --with-pth --disable-shared --disable-ipv6
- Add
/usr/local/includetoBASECFLAGSinMakefile(autocrap sucks). - Patch
Modules/ctypes/_ctypes_test.cby putting an#ifdef HAVE_LONG_LONGaround functions that usePY_LONG_LONG(hints: lines384and318). - Patch
Objects/longobject.cand on line817put theIS_LITTLE_ENDIANmacro before the#ifdef HAVE_LONG_LONGblock, and put_PyLong_FromSsize_tand_PyLong_FromSize_tafter theHAVE_LONG_LONGblock.
If you have GCC, run:
$ CFLAGS='-I/usr/local/include' LDFLAGS='-L/usr/local/lib' \
./configure --with-threads --with-pth --disable-shared --disable-ipv6
Either with UDK or GCC:
- Edit
pyconfig.hand comment out thesocklen_tdefine - Edit
Modules/socketmodule.cand on line 226 add|| defined(SCO5)in order to defineINET_ADDRSTRLEN. - Run
make(orgmakeif you wish) - You will be left without
_curses.so,_curses_panel.so,_locale.soandreadline.soif using GCC and alsopyexpat,elementtreeandsha512if using UDK.
__ ____ __ __ ____ __
\ \ / / \/ | \/ \ \ / /
\ V /| |\/| | |\/| |\ \ / /
| | | | | | | | | \ V /_
|_| |_| |_|_| |_| \_/(_)
[vjt@os507 ~/Python-2.5.1-vjt] $ python
Python 2.5.1 (r251:31337, Sep 13 2007, 22:40:33)
[GCC 4.2.1] on sco_sv3
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>>
[vjt@os507 ~] $ hg clone http://code.wuhrer.thc/hg/Antani
destination directory: Antani
http authorization required
!! YAY! :D
Ruby 1.9 reached end-of-life in 2015. Ruby is now at 3.x, and
Symbol.all_symbols no longer includes this easter egg — it was removed long ago. The answer to life, the universe, and everything remains 42.
22:33:24 vjt@voyager:~$ irb19 -f
irb(main):001:0> Symbol.all_symbols.grep /^the/
=> [:the_answer_to_life_the_universe_and_everything]
unluckily, the answer isn’t 42:
irb(main):002:0> _.first.object_id
=> 5048
:\
Thanks for this strange finding, nextie! :D
🍸 New here? Back when this story was written, sysadmins coordinated over IRC. IRC’s still alive — and I rebooted it for 2026. Click here to go back to 1995 → · or read why I’m doing this →
A really, really, really NERD novel by Cory Doctorow that tells about a bunch of sysadmins that strive to keep the good ol’ Net online after a catastrophic event that brought the entire world to its knees. They fight with scarce power and food supplies and communicate over the Usenet… using the good old alt. hierarchy.
Vote: 10+ for the geekiest thing I’ve ever read. It’s really worth the hour needed to read it completely.
Apple added native SMB-based Time Machine support in macOS High Sierra (2017) and deprecated AFP in Big Sur (2020). Today any NAS with a plain Samba share works out of the box — no Netatalk, Avahi or marker files needed. Time Capsule was discontinued in 2018.
Ingredients: Debian, Netatalk, Avahi, some trickery.
Step 1: Recompile Netatalk with SSL Support¶
Recompile Netatalk with SSL Support.
You can safely ignore the “.passwd” stuff, because afpd uses PAM for user authentication.
Hint: Disable the atalk protocol handlers in /etc/default/netatalk for a faster startup:
# Set which daemons to run (papd is dependent upon atalkd):
ATALKD_RUN=no # appletalk protocol
PAPD_RUN=no # printer sharing daemon (printers are soooo '90s)
CNID_METAD_RUN=yes # don't remember but is needed, rtfm!
AFPD_RUN=yes # you will always need this
TIMELORD_RUN=no # my time lord's name is <a href="http://openntpd.org">openntpd</a>
A2BOOT_RUN=no # boot? nah! :P
Step 2: Create a share for time machine backup data, by adding e.g.¶
# path name perms charset
/some/where/tm "Time Machine" allow:vjt volcharset:"UTF8"
into /etc/netatalk/AppleVolumes.default.
Step 3: Let the AFPD server show up in finder¶
Download the avahi service file, put it into /etc/avahi/services and reload avahi with /etc/init.d/avahi-daemon reload (sorry, original links are broken).
Step 4: Set Up Time Machine Backup¶
You need two files on your afp network share: .com.apple.timemachine.supported and a dot-file named with your en0 MAC address. To create it, the easier way is to attach an USB/Firewire disk, rename it with the name of the intended network share (specified in the AppleVolumes file) and enable time machine on it.
;D
🍸 New here? I wrote these IRC services in 2003 — and in 2026 I rebooted the whole thing. Click here to go back to 1995 → · or read why I’m doing this →
Twenty-three years later, I recovered the CVS history from SourceForge — 954 commits, three authors, a continuous trail from September 2002 to November 2005. The full retrospective covers what I built, what I never finished, and why. There’s a companion piece on the Bahamut IRC server fork that this depends on.
So I just tagged 0.2.8 and I think this thing is getting close to usable.
Quick recap for those who don’t know: Sux Services are IRC services I’m writing from scratch in C for the Azzurra IRC Network. The idea is: multithreaded, modular, SQL backend instead of flat files, and not a complete mess to maintain. We’ll see about that last part.
What works right now: NickServ does registration, identification, password change, ghost kill. ChanServ has channel registration, access lists (CF/SOP/AOP/VOP/AKICK) with masks support, and it actually enforces access on join. MemoServ sends and reads memos, notifies you on connect if you have new ones. OperServ has AKILL, server MAP, STATS. There’s even a RootServ for the really scary stuff.
The whole thing connects to a Bahamut IRCd, negotiates the server link, syncs all users and channels, and then the five service agents boot up as virtual users. Modules are compiled as .so files and loaded at runtime via GLib’s GModule. If I want to reload NickServ I just unload and reload the module, no restart needed. Pretty cool.