Los comentarios en el código fuente suele dar información del desarrollo de ese programa: desde gente que explica que hace el código hasta otros que dejan constancia de su frustración/sorpresa/enfado. Voy a pegar un rápido vistazo al kernel Linux.
Voy a utilizar el núcleo estable en el momento de escribir esto: el 7.0.6. 1,5 GB de datos. 93000 ficheros y más de 6100 directorios.
Utilizaré la herramienta grep que nos permite buscar rápidamente cadenas de texto de forma recursiva.
Empezamos por el clásico "fuck" y sus derivados que aparecen 15 veces:
arch/m68k/include/asm/sun3ints.h:/* master list of VME vectors -- don't fuck with this */
arch/mips/sgi-ip22/ip22-setup.c: * fucking with the memory controller because it needs to know the
arch/parisc/kernel/sys_parisc.c:/* Fucking broken ABI */
drivers/cpufreq/powernow-k7.c: * Some Athlon laptops have really fucked PST tables.
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c: * avoid fucking up the memory controller (somehow) by reading it
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc:#define NV_PPWR_INTR_EN_CLR_MASK /* fuck i hate envyas */ -1
drivers/mtd/mtd_blkdevs.c: registered, to prevent the link/init ordering from fucking
drivers/net/ethernet/sun/sunhme.c:/* Only Sun can take such nice parts and fuck up the programming interface
drivers/net/ethernet/sun/sunhme.c: /* This card is _fucking_ hot... */
drivers/scsi/qlogicpti.h:/* Am I fucking pedantic or what? */
fs/configfs/symlink.c: * fucking magic, making the target busy from rmdir POV.
fs/notify/inotify/inotify_user.c: * fucked up somewhere.
include/linux/sysctl.h: * @rcu: Delays the freeing of the inode. Introduced with "unfuck proc_sysctl ->d_compare()"
lib/vsprintf.c: * Wirzenius wrote this portably, Torvalds fucked it up :-)
net/core/skbuff.c: /* Fuck, we are miserable poor guys... */
Referencias a Dios:
block/partitions/acorn.c: * "Decrypt" the partition table. God knows why...
Documentation/power/s2ram.rst:always it's a driver that is buggy. Thank God for the suspend/resume
drivers/ata/sata_sil.c:/* The way God intended PCI IDE scatter/gather lists to look and behave... */
Casos de confusión/asombro:
Documentation/RCU/whatisRCU.rst:So how the heck can a reclaimer tell when a reader is done, given
Documentation/RCU/whatisRCU.rst:So how the heck is this supposed to work???
Documentation/RCU/whatisRCU.rst: critical section, what the heck do you do in
Documentation/arch/arm/arm.rst: RiscOS gets; but it's a heck of a lot better than the 50K/s I was getting
drivers/media/usb/stk1160/stk1160-i2c.c: * functionality(), what da heck is this?
drivers/usb/storage/shuttle_usbat.c: * Synchronizing cache on a CDR could take a heck of a long time,
drivers/video/fbdev/platinumfb.c:/* TODO: Figure out how the heck to powerdown this thing! */
fs/ext4/inode.c: * (Well, we could do this if we need to, but heck - it works)
fs/namei.c: * doesn't even start to describe it. Somebody in UCB had a heck of a trip...
fs/nfsd/nfs4xdr.c: * Why the heck aren't we just using nfsd_lookup??
kernel/locking/lockdep.c: * acquire, how the heck did that happen?
sound/pci/azt3328.h: * but what the heck is this really about??: */
Otro clásico, "shit":
arch/powerpc/kernel/eeh_driver.c: * shit unusable forever.
arch/sparc/kernel/pcic.c: * to shit into regions like that.
arch/sparc/mm/srmmu.c: * this shit off... nice job Fujitsu.
drivers/ata/sata_via.c: * SCR registers on vt6420 are pieces of shit and may hang the
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c: * it means the shit hit the fan.
drivers/net/ethernet/sun/sunhme.c: /* Remember: "Different name, same old buggy as shit hardware." */
drivers/net/wireless/intel/iwlegacy/3945-mac.c: /* all this shit doesn't belong into sysfs anyway */
drivers/staging/media/atomisp/include/linux/atomisp.h: /* GDC shit size [BQ] */
net/ipv4/tcp_input.c: * all the algo is pure shit and should be replaced
sound/pci/ac97/ac97_patch.c: * shit may happen.
Se avisa de código complejo/peligroso usando dragones como metáfora:
drivers/clk/meson/gxbb.c:/* the mother of dragons gates */
drivers/gpu/drm/i915/gt/intel_execlists_submission.c: * We are flying near dragons again.
drivers/gpu/drm/i915/i915_request.c: * Beware: Dragons be flying overhead.
drivers/soc/fsl/qbman/qman.c: * rearrange this structure on a whim, there be dragons ...
kernel/freezer.c: * It's dangerous to freeze with locks held; there be dragons there.
kernel/futex/pi.c: * There be dragons here, since we must deal with the inconsistency on
"Stupid" aparece 103 veces, así que aquí van algunas:
arch/mips/sni/reset.c: * and if it doesn't work, we do some other stupid things.
arch/x86/include/asm/xen/interface.h: * start of the GDT because some stupid OSes export hard-coded selector values
drivers/hwmon/dme1737.c: /* the first two cases are special - stupid chip design! */
drivers/scsi/ncr53c8xx.c: ** announce stupid things to user.
drivers/tty/serial/8250/8250_port.c: * manufacturer would be stupid enough to design a board
net/ipv4/ip_options.c: * Simple and stupid 8), but the most efficient way.
Frase certera:
Documentation/process/management-style.rst: - admitting you were an idiot is harder than it looks.
Algunos piden terminar su sufrimiento:
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/pll.h:/*XXX: kill me */
arch/arm64/include/asm/kvm_host.h: * Yes, this is all totally trivial. Shoot me now.
Quien avisa no es traidor:
arch/arm/kernel/traps.c: * the fires of hell burn in your belly if you break this rule. ;)
Ni idea de cómo funciona:
arch/mips/include/asm/prefetch.h: * Hell (and the book on my shelf I can't open ...) know what the R8000 does.
Los estándares están para saltarselos:
net/ipv4/ip_gre.c: what the hell these idiots break standards established
Se ha quedado mucho en el tintero, pero como pequeña muestra es suficiente.
Os animo a descargar el código fuente de vuestro programas favoritos y bucear en sus comentarios. Seguro que os saca alguna que otra sonrisa.
18/05/2026 - Linux