A pronouncement of sublime wisdom from Bill the Cat. Such utterances were often memorialized with hairballs.

An expression of surprise.

I tripped on the stairs this morning, and shouted "ACK!"

... to which my girlfriend replied, "You lost experience!"

Our housemates have lost all respect for us.

accumulator = A = Acme

ACK /ak/ interj.

1. [common; from the ASCII mnemonic for 0000110] Acknowledge. Used to register one's presence (compare mainstream Yo!). An appropriate response to ping or ENQ. 2. [from the comic strip "Bloom County"] An exclamation of surprised disgust, esp. in "Ack pffft!" Semi-humorous. Generally this sense is not spelled in caps (ACK) and is distinguished by a following exclamation point. 3. Used to politely interrupt someone to tell them you understand their point (see NAK). Thus, for example, you might cut off an overly long explanation with "Ack. Ack. Ack. I get it now". 4. An affirmative. "Think we ought to ditch that damn NT server for a Linux box?" "ACK!"

There is also a usage "ACK?" (from sense 1) meaning "Are you there?", often used in email when earlier mail has produced no reply, or during a lull in talk mode to see if the person has gone away (the standard humorous response is of course NAK (sense 1), i.e., "I'm not here").

--The Jargon File version 4.3.1, ed. ESR, autonoded by rescdsk.

Airport code for Nantucket, MA, USA. These days it can be found on t-shirts, bumper stickers, and other fashion items. It is often seen as an inside joke among natives and other folk who frequent the island, although overexposure has made it more of a symbol for the trendy than an actual declaration of affinity to the island.

A slang term that World War II pilots gave to anti-aircraft flak due to the sound it made. Anti-aircraft cannons were also sometimes called ack-acks for the same reason.

ACK is an abbreviation for Acknowledgement. On unreliable networks such as the Internet where packets are not guaranteed to arrive at their destination, it is neccesary for the host receiving data to send an "ACK" packet back to the sender notifying that the data was received. If the sender does not receive an ACK, a timeout will eventually occur and the packet will be resent.

In Sliding Window, as used by TCP, data is sent in a stream. ACKs here take the form of the last point in the stream which has been fully reached (all data up to this point has been received).

TCP usually uses delayed ACKs. That is, when data is received, an ACK is not immediately sent. RFC 1122 specifies that ACKs should not be delayed by more than 0.5 seconds. There are multiple reasons for delaying acks:

  • The main reason is for the application to send a reply to the data it receives. For example, when you type a character into a telnet connection, the character is usually echoed back to you. Delaying ACKs allows the response and the ACK to be sent in the same packet.
  • If another packet is received, multiple packets can be ACKed with a single packet.
  • As well as sending a response, delayed acks allow the received data to be read out of the receive buffer, allowing a bigger window advertisement to the sender and (presumably) increasing throughput.
In TCP, ACK itself is a flag in the TCP header which indicates that acknowledgement data is present in the packet. It is reused for the connection and disconnection three way handshake:
client                                      server
            ---------- SYN -------->    

            <------- SYN ACK -------

            ---------- ACK -------->

And for disconnect:
host 1                                       host 2
            ---------- FIN -------->    

            <------- FIN ACK -------

            ---------- ACK -------->

Short for acknowledge.

References to in follow files in my /usr/include and /usr/local/include:

/usr/include/arpa/tftp.h:
#define ACK 04

/usr/include/linux/cyclades.h:
uclong ack_wait_state;

/usr/include/linux/netlink.h:
#define NLM_F_ACK 4

/usr/include/linux/pc_keyb.h:
#define KBD_REPLY_ACK 0xFA
#define AUX_ACK 0xFA

/usr/include/linux/pci.h:
#define PCI_STATUS_REC_TARGET_ABORT 0x1000

/usr/include/linux/sdla_ppp.h:
unsigned short rx_conf_ack PACKED;
unsigned short rx_term_ack PACKED;
unsigned short tx_conf_ack PACKED;
unsigned short tx_term_ack PACKED;
unsigned short rx_ack_inval PACKED;
unsigned short rx_auth_ack PACKED;
unsigned short tx_auth_ack PACKED;
unsigned short rx_response PACKED;
unsigned short tx_response PACKED;

/usr/include/linux/tcp.h:
u_int16_t ack:1;

/usr/include/protocols/timed.h:
{ "ANY", "ADJTIME", "ACK", "MASTERREQ", "MASTER ACK", "SETTIME", "MASTERUP",

/usr/local/include/spoofit.h:
sp_ack
#define ACK 16
unsigned long seq, ack;
sp_help_tcp->ACK_nr = htonl(sp->ack);

Log in or register to write something here or to contact authors.