Portál AbcLinuxu, 9. května 2025 06:36
Už je to nějakou dobu, co v Linux Kernel Mailing Listu proběhla diskuze, která začínala otázkou "Co si takhle udělat anketu o nejděsivějších částech jádra?"
Jedná se o překlad výběru z diskuze, který pořídil Jeremy ze serveru Kerneltrap.org do článku Linux: Humor In Kernel Code.
3. led 2003 - 4. led 2003
Maciej Soltysiak se zeptal:
Právě úplně ujíždím na tištění věcí na trička a říkal jsem si, kterou část kódu jádra by bylo nejlepší mít na sobě. Díval jsem se na svůj oblíbený kód: netfilter. Ale je to moc čisté, krátké a jednoduché funkce, nikde tuny pointerů, žádné malloc, žádná hex čísla, příliš použitých define. Hledám něco děsně komplikovaného a úchvatného na pohled.
Co si takhle udělat anketu o nejděsivějších částech jádra? Nějaké nápady?
Jose Celestino odpověděl stručně, ale výstižně:
[root@morgoth:/usr/src/linux]# egrep -ir "( fuck)|( shit)"
*
a vyber si.
Matthias Schniedermeyer nabídl:
egrep -ir "(on fire)" *
drivers/usb/printer.c:static char *usblp_messages[] = { "ok", "out
of paper", "off-line", "on fire" };
A Anders Gustafsson připojil odkaz na vysvětlení té hlášky: http://marc.theaimsgroup.com/?l=linux-kernel&m=102893054014512&w=2
Také Rik van Riel přispěl svým oblíbeným kouskem:
A co třeba drivers/net/sunhme.c?
Není to strašidelné, ale naprosto bezvadné i pro lidi, kteří neznají C.
static void happy_meal_tcvr_write(struct happy_meal *hp, unsigned long tregs, int reg, unsigned short value) { int tries = TCVR_WRITE_TRIES; ASD(("happy_meal_tcvr_write: reg=0x%02x value=%04xn", reg, value)); /* Welcome to Sun Microsystems, can I take your order please? */ if (!hp->happy_flags & HFLAG_FENABLE) return happy_meal_bb_write(hp, tregs, reg, value); /* Would you like fries with that? */ hme_write32(hp, tregs + TCVR_FRAME, (FRAME_WRITE | (hp->paddr
William Lee Irwin III poskytl svůj seznam návrhů:
obrovský objem: include/asm-ia64/sn/sn2/shub_mmr.h nejvíce typedef: include/asm-ia64/sn/sn2/shub_mmr_t.h bizarní (a ošklivé): fs/devfs/*.c prostě ošklivé: arch/i386/kernel/cpu/mtrr/generic.c vypadá opravdu staře: drivers/char/*tty*.c hrozivě ultra-konzervaticní: drivers/ide/legacy/hd.c podezřelé: drivers/usb/serial/pl2303.c proč tolik kódu?: drivers/char/dz.c vysoce odolné vůči přočíšťování: mm/slab.c podivné preprocesorové hrátky: kernel/cpufreq.c spiklenecky neefektivní: fs/proc/inode.c:proc_fill_super()
Ranjeet Shetye přihodil:
Hlasuji pro "panic ()" v kernel/panic.c.
Výstup paniky jádra [kernel panic] mě vždycky zdeptá. Kdyby jen mělo linuxové jádro něco tak hřejivého jako je "diediedie ()" ve FreeBSD :-D.
Maciej všem poděkoval za příspěvky:
Bylo to velmi zábavné, musím říci, že jsem se hodně nasmál. Také množství slov 'shit' a 'fuck' mě úplně odrovnalo :).
Myslím, že na tričko si dám:
Na Williamovy návrhy se také podívám. Všem vám moc děkuji.
Mar 27 13:44:35 localhost kernel: drivers/usb/class/usblp.c: usblp0: on fire
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.