July 13, 2011

The number of f**ks and sh**ts in the linux kernel source !

I was getting bored with my work and started trying to write out a fast parser in C which given a directory prints out the number of occurrences of fu*cks and sh**ts in files inside that directory. The program is here . I ran this program on the current stable linux kernel 2.6.29.3. Here are the interesting results ( I wrapped up the results from the C program to convert them to links to the source on the web using a simple python script, so that anyone interested can verify the count for themselves). It took the program a little more than 6 seconds (~ 6.3 secs) to complete parsing the entire kernel source.

Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/mmc/host/sdhci.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/media/video/bt819.c
Found 9 shits in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/media/video/zoran/zr36050.c
Found 9 shits in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/media/video/zoran/zr36060.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/media/video/zoran/zr36016.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/scsi/qlogicpti.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/scsi/qlogicpti.h
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/block/ub.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/mtd/mtd_blkdevs.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/net/declance.c
Found 2 shits in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/net/niu.h
Found 2 fucks in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/net/sunhme.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/net/sunhme.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/net/wan/z85230.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/net/wireless/iwlegacy/iwl3945-base.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/net/sunlance.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/video/aty/radeon_pm.c
Found 2 shits in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/video/sis/sis_main.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/macintosh/adb.c
Found 2 shits in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/staging/slicoss/slicoss.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/ata/sata_via.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=drivers/ide/cmd640.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=sound/oss/uart6850.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=sound/pci/cs46xx/dsp_spos_scb_lib.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=sound/pci/ac97/ac97_patch.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=Documentation/ManagementStyle
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=Documentation/DocBook/kernel-locking.tmpl
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=Documentation/DocBook/kernel-hacking.tmpl
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=include/linux/fb.h
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=lib/vsprintf.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=net/ipv4/tcp_input.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=net/ipv4/netfilter/nf_nat_snmp_basic.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=net/core/skbuff.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=fs/notify/inotify/inotify_user.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=fs/jffs2/dir.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=fs/isofs/inode.c
Found 2 fucks in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=fs/xfs/xfs_btree.h
Found 24 fucks in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/mips/pci/ops-bridge.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/mips/kernel/genex.S
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/mips/include/asm/mipsprom.h
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/mips/sgi-ip22/ip22-setup.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/m68k/include/asm/sun3ints.h
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/x86/kernel/cpu/cpufreq/powernow-k7.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/x86/platform/visws/visws_quirks.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/sparc/mm/ultra.S
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/sparc/mm/srmmu.c
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/sparc/kernel/head_32.S
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/sparc/kernel/traps_64.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/sparc/kernel/pcic.c
Found a shit in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/sparc/lib/checksum_32.S
Found a fuck in http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=arch/parisc/kernel/sys_parisc.c
Found 42 f words and 53 s words !

Note : Don't go by the run time of the program, my machine has a i7 and is pretty fast !

EDIT : Considering the attention this post has been getting, the words matched are : *fuck* and *shit~[a-z], the program is of course not case sensitive, and as is obvious , it is not a perfect matching program, it was just a half an hour worth coding experiment !