gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

wtf.el, version 1.4


From: Michael Olson
Subject: wtf.el, version 1.4
Date: Tue, 6 Feb 2007 21:09:35 -0500
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.92 (gnu/linux)

wtf.el provides the ability to look up the definitions of popular
conversational and computing acronyms.

Changes in Version 1.4:

 - Sync acronym list from NetBSD.
 - Add the "IDK" acronym.

The canonical place to get wtf.el (and search-prop.el, as well) is
http://mwolson.org/static/dist/elisp/.

;; wtf.el --- Look up conversational and computing acronyms

;; Copyright (C) 2005, 2006, 2007 Michael Olson

;; Author: Michael Olson (mwolson AT gnu DOT org)
;; Date: Tue 06-Feb-2007
;; Version: 1.4

;; This file is not part of GNU Emacs.

;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING.  If not, write to the
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.

;;; Commentary:

;; wtf.el provides the ability to look up the definitions of popular
;; conversational and computing acronyms.

;; * Use:
;;
;; To use this, go to an unknown term in a buffer and type M-x wtf-is.
;; This can also be done programmatically.

;; * Legalese:
;;
;; The terms were downloaded from
;; http://cvsweb.netbsd.org/bsdweb.cgi/src/share/misc/.  No copyright
;; notice was included, but the intent of the original author was to
;; put these terms in the public domain.  This was deduced from
;; several emails sent to the authors of these files.  Additionally,
;; the original data files use a specific syntax which does not allow
;; for a copyright notice.
;;
;; The original program that uses these files in NetBSD
;; (http://cvsweb.netbsd.org/bsdweb.cgi/src/games/wtf/wtf) is in the
;; public domain.

;; * Acknowledgments:
;;
;; Thanks to Trent Buck for `emacs-wiki-wtf.el', which inspired the
;; creation of `wtf.el'.

;;; Code:

(defvar wtf-alist
  '(;; $NetBSD: acronyms,v 1.164 2007/01/31 18:37:07 elad Exp $
    ("AFAIC" . "as far as i'm concerned")
    ("AFAICR" . "as far as i can recall")
    ("AFAICT" . "as far as i can tell")
    ("AFAIK" . "as far as i know")
    ("AFAIR" . "as far as i recall")
    ("AFAIU" . "as far as i understand")
    ("AFD" . "away from desktop")
    ("AFK" . "away from keyboard")
    ("AFU" . "all fucked up")
    ("AFW" . "away from window")
    ("AIU" . "as i understand")
    ("AIUI" . "as i understand it")
    ("AKA" . "also known as")
    ("ASAIC" . "as soon as i can")
    ("ASAP" . "as soon as possible")
    ("ATM" . "at the moment")
    ("AWOL" . "absent without official leave")
    ("AYBABTU" . "all your base are belong to us")
    ("AYT" . "are you there")
    ("B/C" . "because")
    ("B/S" . "bullshit")
    ("B/W" . "between")
    ("BBIAB" . "be back in a bit")
    ("BBL" . "[I'll] Be Back Later")
    ("BBS" . "be back soon")
    ("BBT" . "be back tomorrow")
    ("BFD" . "big fucking deal")
    ("BIAB" . "back in a bit")
    ("BIAF" . "back in a few")
    ("BIALW" . "back in a little while")
    ("BIAS" . "back in a second")
    ("BIAW" . "back in a while")
    ("BOATILAS" . "bend over and take it like a slut")
    ("BOFH" . "bastard operator from hell")
    ("BOGAHICA" . "bend over, grab ankles, here it comes again")
    ("BOHICA" . "bend over here it comes again")
    ("BRB" . "[I'll] Be Right Back")
    ("BS" . "bullshit")
    ("BTDT" . "been there, done that")
    ("BTTH" . "boot to the head")
    ("BTW" . "by the way")
    ("CMIIW" . "correct me if i'm wrong")
    ("CNP" . "continued [in my] next post")
    ("COB" . "close of business [day]")
    ("COTS" . "commercial off-the-shelf")
    ("CYA" . "see you around")
    ("D/L" . "download")
    ("DGAS" . "don't give a shit")
    ("DIY" . "do it yourself")
    ("DKDC" . "don't know, don't care")
    ("DSTM" . "don't shoot the messenger")
    ("DTRT" . "do the right thing")
    ("DTWT" . "do the wrong thing")
    ("DWIM" . "do what i mean")
    ("EG" . "evil grin")
    ("EMSG" . "email message")
    ("EOB" . "end of business [day]")
    ("EOD" . "end of discussion")
    ("EOL" . "end of life")
    ("ETA" . "estimated time of arrival")
    ("ETLA" . "extended three letter acronym")
    ("EWAG" . "experienced wild-ass guess")
    ("FAQ" . "frequently asked question")
    ("FCFS" . "first come first served")
    ("FIGJAM" . "fuck i'm good, just ask me")
    ("FIIK" . "fuck[ed] if i know")
    ("FIIR" . "fuck[ed] if i remember")
    ("FM" . "fucking magic")
    ("FOAD" . "fall over and die")
    ("FOS" . "full of shit")
    ("FSDO" . "for some definition of")
    ("FSVO" . "for some value of")
    ("FTFM" . "fuck the fuckin' manual!")
    ("FTL" . "for the loss")
    ("FTW" . "for the win")
    ("FUBAR" . "fucked up beyond all recognition")
    ("FUD" . "fear, uncertainty and doubt")
    ("FWIW" . "for what it's worth")
    ("FYI" . "for your information")
    ("G" . "grin")
    ("G/C" . "garbage collect")
    ("GAC" . "get a clue")
    ("GAL" . "get a life")
    ("GIGO" . "garbage in, garbage out")
    ("GMTA" . "great minds think alike")
    ("GTFO" . "get the fuck out")
    ("GTG" . "got to go")
    ("GWS" . "get well soon")
    ("HAND" . "have a nice day")
    ("HHIS" . "hanging head in shame")
    ("HICA" . "here it comes again")
    ("HTH" . "hope this helps")
    ("IAC" . "in any case")
    ("IANAL" . "i am not a lawyer")
    ("IC" . "i see")
    ("ICBW" . "i could be wrong")
    ("ICCL" . "i couldn't care less")
    ("IHAFC" . "i haven't a fucking clue")
    ("IHBW" . "i have been wrong")
    ("IHNFC" . "i have no fucking clue")
    ("IIANM" . "if i am not mistaken")
    ("IIRC" . "if i recall correctly")
    ("IIUC" . "if i understand correctly")
    ("IMAO" . "in my arrogant opinion")
    ("IMCO" . "in my considered opinion")
    ("IMHO" . "in my humble opinion")
    ("IMNSHO" . "in my not so humble opinion")
    ("IMO" . "in my opinion")
    ("IOW" . "in other words")
    ("IRL" . "in real life")
    ("ISAGN" . "i see a great need")
    ("ISTM" . "it seems to me")
    ("ISTR" . "i seem to recall")
    ("ITYM" . "i think you mean")
    ("IWBNI" . "it would be nice if")
    ("IYSS" . "if you say so")
    ("J/K" . "just kidding")
    ("JHD" . "just hit ``delete''")
    ("JIC" . "just in case")
    ("JK" . "just kidding")
    ("JMO" . "just my opinion")
    ("JSYK" . "just so you know")
    ("JTLYK" . "just to let you know")
    ("KISS" . "keep it simple, stupid")
    ("KITA" . "kick in the ass")
    ("KNF" . "kernel normal form")
    ("L8R" . "later")
    ("LART" . "luser attitude readjustment tool (ie, hammer)")
    ("LBNL" . "last but not least")
    ("LGTM" . "looks good to me")
    ("LJBF" . "let's just be friends")
    ("LMAO" . "laughing my ass off")
    ("LMSO" . "laughing my socks off")
    ("LOL" . "laughing out loud")
    ("LTNS" . "long time no see")
    ("MIA" . "missing in action")
    ("MOTAS" . "member of the appropriate sex")
    ("MOTOS" . "member of the opposite sex")
    ("MOTSS" . "member of the same sex")
    ("MTF" . "more to follow")
    ("MYOB" . "mind your own business")
    ("N/M" . "never mind")
    ("NBD" . "no big deal")
    ("NFC" . "no fucking clue")
    ("NFI" . "no fucking idea")
    ("NFW" . "no fucking way")
    ("NIH" . "not invented here")
    ("NMF" . "not my fault")
    ("NMP" . "not my problem")
    ("NOYB" . "none of your business")
    ("NOYFB" . "none of your fucking business")
    ("NP" . "no problem")
    ("NRFPT" . "not ready for prime time")
    ("NRN" . "no reply necessary")
    ("NSFW" . "not suitable for work")
    ("OIC" . "oh, i see")
    ("OMG" . "oh, my god")
    ("OT" . "off topic")
    ("OTL" . "out to lunch")
    ("OTOH" . "on the other hand")
    ("OTT" . "over the top")
    ("OTTOMH" . "off the top of my head")
    ("PDQ" . "pretty darn quick")
    ("PEBKAC" . "problem exists between keyboard and chair")
    ("PFO" . "please fuck off")
    ("PFY" . "pimply faced youth")
    ("PITA" . "pain in the ass")
    ("PKSP" . "pound keys and spew profanity")
    ("PNG" . "persona non grata")
    ("PNP" . "plug and pray")
    ("POC" . "point of contact")
    ("POLA" . "principle of least astonishment")
    ("POLS" . "principle of least surprise")
    ("POS" . "piece of shit")
    ("PPL" . "pretty please")
    ("PTV" . "parental tunnel vision")
    ("QED" . "quod erat demonstrandum")
    ("RFC" . "request for comments")
    ("RIP" . "rest in peace")
    ("RL" . "real life")
    ("RLC" . "rod length check")
    ("ROFL" . "rolling on floor laughing")
    ("ROFLMAO" . "rolling on floor laughing my ass off")
    ("ROTFL" . "rolling on the floor laughing")
    ("RP" . "responsible person")
    ("RSN" . "real soon now")
    ("RTFB" . "read the fine/fucking book")
    ("RTFC" . "read the fine/fucking code")
    ("RTFD" . "read the fine/fucking documentation")
    ("RTFM" . "read the fine/fucking manual")
    ("RTFMP" . "read the fine/fucking man page")
    ("RTFS" . "read the fine/fucking source")
    ("SCNR" . "sorry, could not resist")
    ("SEP" . "someone else's problem")
    ("SFA" . "sweet fuck all")
    ("SHID" . "slaps head in disgust")
    ("SIMCA" . "sitting in my chair amused")
    ("SMLSFB" . "so many losers, so few bullets")
    ("SMOP" . "simple matter of programming")
    ("SNAFU" . "situation normal, all fucked up")
    ("SNERT" . "snot-nosed egotistical rude teenager")
    ("SNMP" . "sorry, not my problem")
    ("SNR" . "signal to noise ratio")
    ("SO" . "significant other")
    ("SOB" . "son of [a] bitch")
    ("SOL" . "shit out [of] luck")
    ("SOP" . "standard operating procedure")
    ("SSIA" . "subject says it all")
    ("SSTO" . "single stage to orbit")
    ("STFA" . "search the fucking archives")
    ("STFU" . "shut the fuck up")
    ("STFW" . "search the fucking web")
    ("SUS" . "stupid user syndrome")
    ("SWAG" . "silly, wild-assed guess")
    ("SWAHBI" . "silly, wild-assed hare-brained idea")
    ("SWFG" . "search with fucking google")
    ("SWMBO" . "she who must be obeyed")
    ("TANSTAAFL" . "there ain't no such thing as a free lunch")
    ("TBC" . "to be continued")
    ("TBD" . "to be {decided,determined,done}")
    ("TBH" . "to be honest")
    ("TBOMK" . "the best of my knowledge")
    ("THNX" . "thanks")
    ("THX" . "thanks")
    ("TIA" . "thanks in advance")
    ("TINC" . "there is no cabal")
    ("TLA" . "three letter acronym")
    ("TLC" . "tender loving care")
    ("TLDR" . "too long, didn't read")
    ("TMA" . "too many abbreviations")
    ("TMI" . "too much information")
    ("TMTOWTDI" . "there's more than one way to do it")
    ("TNF" . "The NetBSD Foundation")
    ("TOEFL" . "test of english as a foreign language")
    ("TPTB" . "the powers that be")
    ("TRT" . "the right thing")
    ("TTBOMK" . "to the best of my knowledge")
    ("TTFN" . "ta ta for now")
    ("TTYL" . "talk to you later")
    ("TWIAVBP" . "the world is a very big place")
    ("TY" . "thank you")
    ("TYVM" . "thank you very much")
    ("U/L" . "upload")
    ("UTSL" . "use the source, luke")
    ("VEG" . "very evil grin")
    ("W/" . "with")
    ("W/O" . "without")
    ("WAG" . "wild-ass guess")
    ("WB" . "welcome back")
    ("WFH" . "working from home")
    ("WFM" . "works for me")
    ("WIBNI" . "wouldn't it be nice if")
    ("WIP" . "work in progress")
    ("WOFTAM" . "waste of fucking time and money")
    ("WOMBAT" . "waste of money, brain, and time")
    ("WRT" . "with respect to")
    ("WTF" . "{what,where,who,why} the fuck")
    ("WTH" . "{what,where,who,why} the hell")
    ("WYSIWYG" . "what you see is what you get")
    ("YALIMO" . "you are lame, in my opinion")
    ("YHBT" . "you have been trolled")
    ("YHL" . "you have lost")
    ("YKWIM" . "you know what i mean")
    ("YMA" . "yo momma's ass")
    ("YMMV" . "your mileage may vary")
    ("YW" . "you're welcome")
    ;; $NetBSD: acronyms.comp,v 1.72 2007/01/19
    ("3WHS" . "three-way handshake")
    ("ABI" . "application binary interface")
    ("ACL" . "access control list")
    ("ACPI" . "advanced configuration and power interface")
    ("ADC" . "analog [to] digital converter")
    ("ADPCM" . "adaptive differential pulse code modulation")
    ("ADSL" . "asymmetric digital subscriber line")
    ("AGP" . "accelerated graphics port")
    ("AM" . "amplitude modulation")
    ("AMI" . "alternate mark inversion")
    ("ANSI" . "american national standards institute")
    ("AP" . "access point")
    ("API" . "application programming interface")
    ("APIC" . "advanced programmable interrupt controller")
    ("ARP" . "address resolution protocol")
    ("ARQ" . "automatic repeat request")
    ("AS" . "autonomous system")
    ("ASCII" . "american standard code for information interchange")
    ("ASN" . "autonomous system number")
    ("AT" . "advanced technology")
    ("ATA" . "advanced technology attachment")
    ("ATAPI" . "advanced technology attachment packet interface")
    ("ATC" . "address translation cache")
    ("ATM" . "asynchronous transfer mode")
    ("ATX" . "advanced technology extended")
    ("BEDO" . "burst extended data output")
    ("BER" . "basic encoding rules")
    ("BER" . "bit error rate")
    ("BGP" . "border gateway protocol")
    ("BIOS" . "basic input/output system")
    ("BLOB" . "binary large object")
    ("BPS" . "bits per second")
    ("BQS" . "berkeley quality software")
    ("BSD" . "berkeley software distribution")
    ("CAD" . "computer-aided design")
    ("CARP" . "common address redundancy protocol")
    ("CAV" . "Constant Angular Velocity (as opposed to CLV)")
    ("CCD" . "charge coupled device")
    ("CD" . "compact disc")
    ("CDDA" . "compact disc digital audio")
    ("CDRAM" . "cache dynamic random access memory")
    ("CER" . "canonical encoding rules")
    ("CGA" . "color graphics {array,adapter}")
    ("CGI" . "common gateway interface")
    ("CHS" . "cylinder/head/sector")
    ("CIDR" . "classless inter-domain routing")
    ("CIS" . "contact image sensor")
    ("CLI" . "command line interface")
    ("CLUT" . "color look-up table")
    ("CLV" . "Constant Linear Velocity (as opposed to CAV)")
    ("CMYK" . "cyan magenta yellow black")
    ("COFF" . "common object file format")
    ("COW" . "copy-on-write")
    ("CPU" . "central processing unit")
    ("CRLF" . "carriage return line feed")
    ("CRT" . "cathode ray tube")
    ("CSMA" . "carrier sense multiple access")
    ("CSMA/CA" . "carrier sense multiple access with collision avoidance")
    ("CSMA/CD" . "carrier sense multiple access with collision detection")
    ("CSS" . "cascading style sheets")
    ("CTS" . "clear to send")
    ("CVS" . "concurrent versions system")
    ("DAC" . "digital [to] analog converter")
    ("DCE" . "data control equipment")
    ("DCE" . "distributed computing environment")
    ("DCT" . "discrete cosine transform")
    ("DDC" . "display data channel")
    ("DDR" . "double data rate")
    ("DDWG" . "digital display working group")
    ("DER" . "distinguished encoding rules")
    ("DFT" . "discrete fourier transform")
    ("DHCP" . "dynamic host configuration protocol")
    ("DIFS" . "distributed inter-frame space")
    ("DLE" . "data link escape")
    ("DMA" . "direct memory access")
    ("DNS" . "domain name system")
    ("DOS" . "denial of service")
    ("DPCM" . "differential pulse code modulation")
    ("DPD" . "dead peer detection")
    ("DPI" . "dots per inch")
    ("DRAM" . "dynamic random access memory")
    ("DSL" . "digital subscriber line")
    ("DSSS" . "direct sequence spread spectrum")
    ("DTD" . "document type definition")
    ("DTE" . "data terminal equipment")
    ("DTE" . "dumb terminal emulator")
    ("DVD" . "digital versatile disc")
    ("DVI" . "digital visual interface")
    ("E-XER" . "Extended XML encoding Rules")
    ("EAP" . "extensible authentication protocol")
    ("ECP" . "enhanced capability port")
    ("EDID" . "extended display identification data")
    ("EDO" . "extended data out")
    ("EEPROM" . "electrically erasable programmable read only memory")
    ("EFI" . "extensible firmware interface")
    ("EFM" . "eight to fourteen modulation")
    ("EGA" . "enhanced graphics {array,adapter}")
    ("EGP" . "exterior gateway protocol")
    ("EISA" . "extended industry standard architecture")
    ("ELF" . "executable and linking format")
    ("EOF" . "end of file")
    ("EOT" . "end of transmission")
    ("EPP" . "enhanced parallel port")
    ("EPRML" . "extended partial response, maximum likelihood")
    ("EPROM" . "erasable programmable read only memory")
    ("ESDRAM" . "enhanced synchronous dynamic random access memory")
    ("FAT" . "file allocation table")
    ("FBRAM" . "frame buffer random access memory")
    ("FCS" . "frame check sequence")
    ("FDDI" . "fiber distributed data interface")
    ("FFS" . "fast file system")
    ("FHSS" . "frequency hop spread spectrum")
    ("FIR" . "fast infrared")
    ("FLOPS" . "floating [point] operations per second")
    ("FM" . "frequency modulation")
    ("FPM" . "fast page mode")
    ("FQDN" . "fully qualified domain name")
    ("FTP" . "file transfer protocol")
    ("FTPS" . "file transfer protocol, secure")
    ("GC" . "garbage collector")
    ("GCR" . "group-coded recording")
    ("GIF" . "graphics interchange format")
    ("GNU" . "GNU's Not UNIX")
    ("GPL" . "GNU/General Public License")
    ("GPU" . "graphics processing unit")
    ("GRE" . "generic routing encapsulation")
    ("GUI" . "graphics user interface")
    ("HDCP" . "high-bandwidth digital content protection")
    ("HTML" . "hyper-text markup language")
    ("HTTP" . "hyper-text transfer protocol")
    ("HTTPS" . "hyper-text transfer protocol, secure")
    ("I2O" . "intelligent input/output")
    ("IANA" . "internet assigned number authority")
    ("IC" . "integrated circuit")
    ("ICB" . "internet citizen's band")
    ("ICMP" . "internet control message protocol")
    ("IDE" . "integrated drive electronics")
    ("IDRP" . "inter-domain routing protocol")
    ("IEC" . "international electrotechnical commission")
    ("IEEE" . "institute [of] electrical [and] electronics engineers")
    ("IESG" . "internet engineering steering group")
    ("IETF" . "internet engineering task force")
    ("IGP" . "interior gateway protocol")
    ("IKE" . "internet key exchange")
    ("IMAP" . "internet mail access protocol")
    ("INCITS" . "international committee on information technology standards")
    ("IO" . "input/output")
    ("IOCTL" . "input/output control")
    ("IP" . "internet protocol")
    ("IPC" . "interprocess communication")
    ("IPNG" . "internet protocol, next generation")
    ("IPSEC" . "internet protocol security")
    ("IRC" . "internet relay chat")
    ("IRQ" . "interrupt request")
    ("IRTF" . "internet research task force")
    ("ISA" . "industry standard architecture")
    ("ISDN" . "integrated services digital network")
    ("ISI" . "inter-symbol interference")
    ("ISM" . "industrial, scientific and medical")
    ("ISN" . "initial serial number")
    ("ISO" . "international standards organization")
    ("ISOC" . "internet society")
    ("ISP" . "internet service provider")
    ("JPEG" . "joint photographic experts group")
    ("KPI" . "kernel programming interface")
    ("KVA" . "kernel virtual address")
    ("KVM" . "keyboard, video, mouse switch")
    ("LAN" . "local area network")
    ("LBA" . "logical block addressing")
    ("LCD" . "liquid crystal display")
    ("LCP" . "link control protocol")
    ("LDAP" . "lightweight directory access protocol")
    ("LED" . "light emitting diode")
    ("LIR" . "local internet registry")
    ("LKM" . "{linux, loadable} kernel module")
    ("LLC" . "logical link control")
    ("LRC" . "longitudinal redundancy check")
    ("LSB" . "Least Significant {Bit,Byte} (or Linux Standards Base)")
    ("LUN" . "logical unit number")
    ("LZW" . "Lempel Ziv Welch")
    ("MAC" . "medium access control")
    ("MBR" . "master boot record")
    ("MDRAM" . "multibank dynamic random access memory")
    ("MFM" . "modified frequency modulation")
    ("MIDI" . "musical instrument digital interface")
    ("MIME" . "multipurpose internet mail extensions")
    ("MIPS" . "million instructions per second")
    ("MMU" . "memory management unit")
    ("MPEG" . "moving picture experts group")
    ("MPLS" . "multiprotocol label switching")
    ("MSB" . "most significant {bit,byte}")
    ("MSF" . "minutes seconds frames")
    ("MSS" . "maximum segment size")
    ("MTA" . "mail transfer agent")
    ("MTU" . "maximum transmission unit")
    ("MUA" . "mail user agent")
    ("MWE" . "module width encoding")
    ("NAT" . "network address translation")
    ("NAV" . "network allocation vector")
    ("NCP" . "network control protocol")
    ("NCQ" . "native command queuing")
    ("NFS" . "network file system")
    ("NIC" . "network interface card")
    ("NIS" . "network information service")
    ("NRZ" . "non-return to zero")
    ("NUMA" . "non uniform memory access")
    ("OCL" . "object constraint language")
    ("OCR" . "optical character recognition")
    ("OEM" . "original equipment manufacturer")
    ("OFDM" . "orthogonal frequency division multiplexing")
    ("OSF" . "open software foundation")
    ("OSI" . "Open Systems Interconnection (or Open-Source Initiative)")
    ("OSPF" . "open shortest path first")
    ("OTP" . "one time password")
    ("PAM" .
     "Pluggable Authentication Modules (or Pulse Amplitude Modulation)")
    ("PAT" . "port address translation")
    ("PAX" . "portable archive exchange")
    ("PC" . "personal computer")
    ("PCI" . "peripheral component interconnect")
    ("PCM" . "pulse code modulation")
    ("PCMCIA" . "personal computer memory card international association")
    ("PDP" . "page descriptor page")
    ("PDU" . "protocol data unit")
    ("PER" . "packed encoding rules")
    ("PERL" . "practical extraction [and] report language")
    ("PFS" . "perfect forward secrecy")
    ("PGP" . "pretty good privacy")
    ("PIC" . "programmable interrupt controller")
    ("PID" . "process id")
    ("PIN" . "personal identification number")
    ("PIO" . "programmed input/output")
    ("PLL" . "phase locked loop")
    ("PMT" . "photo-multiplier tube")
    ("PNG" . "portable network graphics")
    ("POP" . "post office protocol")
    ("POSIX" . "Portable Operating System Interface [for] UNIX")
    ("POST" . "power on self test")
    ("POTS" . "plain old telephone system")
    ("PPP" . "point-to-point protocol")
    ("PPPOA" . "point-to-point protocol over ATM")
    ("PPPOE" . "point-to-point protocol over ethernet")
    ("PRML" . "partial response, maximum likelihood")
    ("PROM" . "programmable read only memory")
    ("PSK" . "pre-shared key")
    ("PSTN" . "public switched telephone network")
    ("PTE" . "page table entry")
    ("PTLA" . "pseudo top level aggregator")
    ("PTP" . "page table page")
    ("PWM" . "pulse width modulation")
    ("QOS" . "quality of service")
    ("RAID" . "redundant array of inexpensive disks")
    ("RAM" . "random access memory")
    ("RCS" . "revision control system")
    ("RGB" . "red green blue")
    ("RIFF" . "Resource Interchange File Format")
    ("RIP" . "routing information protocol")
    ("RIR" . "regional internet registry")
    ("RISC" . "reduced instruction set computing")
    ("RLE" . "run length encoding")
    ("RLL" . "run length limited")
    ("ROM" . "read only memory")
    ("RPM" . "revolutions per minute")
    ("RTF" . "rich text format")
    ("RTS" . "request to send")
    ("RTT" . "round time trip")
    ("S/PDIF" . "sony/phillips digital interface")
    ("SACD" . "super audio compact disc")
    ("SAD" . "security association database")
    ("SAM" . "serial access memory")
    ("SASI" . "Shugart Associates System Interface (predecessor to SCSI)")
    ("SATA" . "serial advanced technology attachment")
    ("SB" . "sound blaster")
    ("SCM" . "Software Configuration Management (or Source Code Management)")
    ("SCSI" . "small computer system interface")
    ("SDRAM" . "synchronous dynamic random access memory")
    ("SGRAM" . "synchronous graphics random access memory")
    ("SIFS" . "short inter-frame space")
    ("SIP" . "session initiation protocol")
    ("SIR" . "slow infrared")
    ("SLDRAM" . "synchronous-link dynamic random access memory")
    ("SMART" . "self-monitoring analysis and reporting technology")
    ("SMP" . "symmetric multiprocessing")
    ("SMTP" . "simple mail transfer protocol")
    ("SNMP" . "simple network management protocol")
    ("SPD" . "security policy database")
    ("SPD" . "serial presence detect")
    ("SRAM" . "static random access memory")
    ("SSFDC" . "solid state floppy disc card")
    ("SSH" . "secure shell")
    ("SSL" . "secure sockets layer")
    ("STP" . "shielded twisted pair")
    ("SVGA" . "super video graphics {array,adapter}")
    ("TCL" . "tool command language")
    ("TCP" . "transmission control protocol")
    ("TCQ" . "tagged command queueing")
    ("TDD" . "test driven development")
    ("TFT" . "thin film transistor")
    ("TFTP" . "trivial file transfer protocol")
    ("TIFF" . "tagged image file format")
    ("TLA" . "top level aggregator")
    ("TLB" . "transition lookaside buffer")
    ("TLD" . "top level domain")
    ("TLS" . "transport layer security")
    ("TMDS" . "transition minimized differential signaling")
    ("TR" . "token ring")
    ("TTL" . "time to live")
    ("TTY" . "teletype")
    ("TZ" . "time zone")
    ("UART" . "universal asynchronous receiver/transmitter")
    ("UC" . "uncacheable")
    ("UDO" . "ultra density optical (storage)")
    ("UDP" . "user datagram protocol")
    ("UFS" . "UNIX file system")
    ("UML" . "unified modeling language")
    ("UPS" . "uninterruptible power supply")
    ("URI" . "uniform resource identifier")
    ("URL" . "uniform resource locator")
    ("USART" . "universal synchronous/asynchronous receiver/transmitter")
    ("USB" . "universal serial bus")
    ("USWC" . "uncacheable speculative write combining")
    ("UTP" . "unshielded twisted pair")
    ("UUCP" . "unix-to-unix copy protocol")
    ("UUOC" . "useless use of cat")
    ("VAX" . "virtual address extension")
    ("VCM" . "virtual channel memory")
    ("VESA" . "video electronics standards association")
    ("VGA" . "video graphics {array,adapter}")
    ("WIFI" . "wireless fidelity")
    ("VLAN" . "virtual local area network")
    ("VLSM" . "variable length subnet mask")
    ("VM" . "virtual {machine,memory}")
    ("VPN" . "virtual private network")
    ("VRAM" . "video random access memory")
    ("VRRP" . "virtual router redundancy protocol")
    ("WAN" . "wide area network")
    ("WAP" . "wireless application protocol")
    ("WEP" . "wired equivalent privacy")
    ("WLAN" . "wireless local area network")
    ("WPA" . "wi-fi protected access")
    ("WRAM" . "window random access memory")
    ("WWW" . "world wide web")
    ("XER" . "XML Encoding Rules")
    ("XGA" . "extended graphics {array,adapter}")
    ("XML" . "extensible markup language")
    ("XSL" . "extensible stylesheet language")
    ("XT" . "extended technology")
    ("ZFOD" . "zero-filled on demand")
    ;; Additional terms go here
    ("BTDTBTTS" . "been there, done that, bought the t-shirt")
    ("EFF" . "Electronic Frontier Foundation")
    ("FFII" . "Foundation for a Free Information Infrastructure")
    ("FSF" . "Free Software Foundation")
    ("FTBFS" . "failure to build from source")
    ("GAFC" . "get a fucking clue")
    ("IDS" . "intrusion detection system")
    ("IDK" . "i don't know")
    ("IYSWIM" . "if you see what i mean")
    ("NIFOC" . "naked in front of computer")
    ("PITB" . "pain in the butt")
    ("ROTFLMAO" . "rolling on the floor laughing my ass off")
    ("TWAT" . "the war against terrorism")
    ("WTB" . "where's the beef"))
  "Mapping of acronyms to expansions.")

(defun wtf-match-string-no-properties (num &optional string)
  "Return NUMth match of STRING sans text properties."
  (if (fboundp 'match-string-no-properties)
      (match-string-no-properties num string)
    (match-string num string)))

(defun wtf-get-term-at-point ()
  "Return the term at point."
  (interactive)
  (save-excursion
    (if (re-search-backward "\\W" (point-min) t)
        (goto-char (1+ (point)))
      (beginning-of-line))
    (when (looking-at "\\w+")
      (let ((term (downcase (wtf-match-string-no-properties 0))))
        (when (assoc (upcase term) wtf-alist)
          term)))))

(defun wtf-upcase-initials (string)
  "Do `upcase-initials' on STRING, but do not uppercase letters
that come after quote characters."
  (with-temp-buffer
    (insert (upcase-initials string))
    (goto-char (point-min))
    (while (re-search-forward "['`]\\([[:upper:]]\\)" nil t)
      (downcase-region (match-beginning 1) (match-end 1)))
    (buffer-string)))

(defun wtf-is (term)
  "Provide the definition for TERM.
When called interactively, print the message \"TERM is DEF\".
Otherwise, return DEF.

DEF refers to the definition associated with TERM in `wtf-alist'."
  (interactive
   (list (completing-read "Term: "
                          (mapcar #'(lambda (term)
                                      (list (downcase (car term))))
                                  wtf-alist)
                          nil t (wtf-get-term-at-point))))
  (when (stringp term)
    (let ((def (cdr (assoc (upcase term) wtf-alist))))
      (when def
        (save-match-data
          (let ((case-fold-search nil))
            ;; only capitalize initials if the term contains no
            ;; existing capitalization
            (unless (string-match "[A-Z]" def)
              (setq def (wtf-upcase-initials def)))))
        (if (interactive-p)
            (message (concat term " is " def))
          def)))))

(provide 'wtf)

;;; wtf.el ends here


-- 
Michael Olson -- FSF Associate Member #652 -- http://www.mwolson.org/
Interests: Lisp, text markup, protocols -- Jabber: mwolson_at_hcoop.net
  /` |\ | | | Projects: Emacs, Muse, ERC, EMMS, Planner, ErBot, DVC
 |_] | \| |_| Reclaim your digital rights by eliminating DRM.
      See http://www.defectivebydesign.org/what_is_drm for details.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]