In computing, Deflate is a lossless data compression file format that uses a combination of LZSS and Huffman coding. It was designed for version 2 of his PKZIP archiving tool. Deflate was specified in RFC 1951. Katz designed the original algorithm used to construct Deflate streams; this algorithm was patented as U. S. Patent 5,051,745, assigned to PKWARE, Inc; as stated in the RFC document, an algorithm producing Deflate files was thought to be implementable in a manner not covered by patents. This led to its widespread use, for example in gzip compressed files and PNG image files, in addition to the ZIP file format for which Katz designed it; the patent has since expired. A Deflate stream consists of a series of blocks; each block is preceded by a 3-bit header: First bit: Last-block-in-stream marker: 1: This is the last block in the stream. 0: There are more blocks to process after this one. Second and third bits: Encoding method used for this block type: 00: A stored section, between 0 and 65,535 bytes in length 01: A static Huffman compressed block, using a pre-agreed Huffman tree defined in the RFC 10: A compressed block complete with the Huffman table supplied 11: Reserved—don't use.

The stored block option adds minimal overhead, is used for data, incompressible. Most compressible data will end up being encoded using method 10, the dynamic Huffman encoding, which produces an optimised Huffman tree customised for each block of data individually. Instructions to generate the necessary Huffman tree follow the block header; the static Huffman option is used for short messages, where the fixed saving gained by omitting the tree outweighs the percentage compression loss due to using a non-optimal code. Compression is achieved through two steps: The matching and replacement of duplicate strings with pointers. Replacing symbols with new, weighted symbols based on frequency of use. Within compressed blocks, if a duplicate series of bytes is spotted a back-reference is inserted, linking to the previous location of that identical string instead. An encoded match to an earlier string consists of an 8-bit length and a 15-bit distance to the beginning of the duplicate. Relative back-references can be made across any number of blocks, as long as the distance appears within the last 32 KiB of uncompressed data decoded.

If the distance is less than the length, the duplicate overlaps itself. For example, a run of 10 identical bytes can be encoded as one byte, followed by a duplicate of length 9, beginning with the previous byte. Searching the preceding text for duplicate substrings is the most computationally expensive part of the DEFLATE algorithm, the operation which compression level settings affect; the second compression stage consists of replacing used symbols with shorter representations and less used symbols with longer representations. The method used is Huffman coding which creates an unprefixed tree of non-overlapping intervals, where the length of each sequence is inversely proportional to the probability of that symbol needing to be encoded; the more it is that a symbol has to be encoded, the shorter its bit-sequence will be. A tree is created, containing space for 288 symbols: 0–255: represent the literal bytes/symbols 0–255. 256: end of block -- stop processing. 257–285: combined with extra-bits, a match length of 3–258 bytes.

286, 287: not used and illegal but still part of the tree. A match length code will always be followed by a distance code. Based on the distance code read, further "extra" bits may be read in order to produce the final distance; the distance tree contains space for 32 symbols: 0–3: distances 1–4 4–5: distances 5–8, 1 extra bit 6–7: distances 9–16, 2 extra bits 8–9: distances 17–32, 3 extra bits... 26–27: distances 8,193–16,384, 12 extra bits 28–29: distances 16,385–32,768, 13 extra bits 30–31: not used and illegal but still part of the tree. Note that for the match distance symbols 2–29, the number of extra bits can be calculated as ⌊ n 2 ⌋ − 1; the two codes are themselves encoded as canonical Huffman codes by giving the bit length of the code for each symbol. The bit lengths are themselves run-length encoded to produce as compact a representation as possible; as an alternative to including the tree representation, the "static tree" option provides standard fixed Huffman trees. The compressed size using the static trees can be computed using the same statistics as are used to generate the dynamic trees, so it is easy for a compressor to choose whichever is smaller.

During the compression stage, it is the encoder that chooses the amount of time spent looking for matching strings. The zlib/gzip reference implementation allows the user to select from a sliding scale of resulting compression-level vs. speed of encoding. Options range from 0 to 9 representing the maximum capability of the reference implementation in zlib/gzip. Other Deflate encoders have been produced, all of which will produce a compatible bitstream capable of being decompressed by any existing Deflate decoder. Differing implementations will produce variations on the final encoded bit-stream produced; the focus with non-zlib versions of an encoder has been to produce a more efficiently compressed and smaller encoded stream. Deflate64

Shwmae Sumae Day

Shwmae Sumae Day is a day marked each year in Wales to celebrate and promote the Welsh language. Shwmae and Sumae are informal greetings used in the south and the north to start a conversation; the day is celebrated on 15 October each year in order to promote community use of the language and encourage non-Welsh speakers to consider learning the language. The day was held for the first time in 2013, has been held every year since. Shwmae Sumae Day events are organised at grassroots level by individuals and schools, co-ordinated by civic Welsh language umbrella group Dathlu'r Gymraeg; the day is promoted through'champions' appointed each year, many of whom have learned Welsh as adults themselves. Schools and other educational institutions play an active role in the day creating videos and promoting the day on social media; the aim of Shwmae Day is to encourage non-Welsh speakers to start every conversation in Welsh, using Shwmae, Sumae, or a local variation. It is seen as a way of increasing awareness about the langugae among non-Welsh speakers, encouraging new people to start learning the language.

A recurring theme is that the Welsh language belongs to all Welsh citizens and that everyone can contribute to its future vitality

Bench (furniture)

A bench is a long seat on which multiple people may sit at the same time. Benches are made of wood, but may be made of metal, stone, or synthetic materials. Many benches have arm and back rests. In American public areas, benches are donated by persons or associations, which may be indicated on it, e.g. by a small plaque. Benches are used both indoors. Benches are named for the place they are used, regardless of whether this implies a specific design. Park benches are set as seating places within public parks, vary in the number of people they can seat. Garden benches are longer and offer more sitting places. Picnic tables, or catering buffet tables have long benches as well as a table; these tables may have table legs which are collapsible, in order to expedite storage. Scenic benches are situated to provide a comfortable means of enjoying the contemplation of a beautiful landscape, a busy street scene, or a specific event. Perch benches are situated in high traffic areas to enable people to take a quick break.

A storage bench is a combination of sitting space and a storage box used for keeping gardening supplies or grill equipment. A form is a backless bench, used for seating in dining rooms, school rooms and law courts. Various types of benches are designed for and/or named after specific uses, such as: church benches and pews inside places of worship, which are sometimes equipped with an additional kneeling bench. Church benches and pews can come in various styles including traditional and curved to match and complement the architectural styles and spaces of places of worship. A bench seat is a traditional seat installed in automobiles, featuring a continuous pad running the full width of the cabin. A punishment bench is used to have a punishee lie down on for the administration of a corporal punishment, after which it may be named, e.g. caning bench a bench is used for fitness exercises, such as the bench press, named after its use of a bench a communion bench is not used as a seat a piano bench offers one person seating a spanking bench, such as a caning bench, is designed for a spankee to lie upon strapped down, while submitting to paining of the posterior swing seats are independently movable, suspended benches, used for play or as a relaxing porch swing.

Glider Benches are not suspended. A friendship bench in a school playground is; the bench in a courtroom, behind which the judge is seated. Benches come in a variety of different materials, but there are some venue standards that account for use and maintenance patterns. Aluminum: Aluminum benches are found in outdoor, sideline settings at recreational venues like sports fields or courts and as a complement to bleacher systems; the material affords for a lightweight, corrosive-free bench, so it is a portable and economical option for indoor or outdoor settings. Concrete: Concrete benches are heavy and are a more permanent furnishing, they are installed in facilities that are not expected to change or transition if at all, such as military bases, state parks and official buildings. Concrete is durable, so it is appropriate for any climate. Concrete can be composed of many different materials to afford benches different accents, depending on what it is composed of. Fiberglass: Fiberglass is a versatile material so fiberglass benches can come in a variety of designs and finishes or colors.

The material is great for indoor or outdoor use because it will not corrode or rust, is low maintenance, can be manufactured to complement any facility. Common places where fiberglass benches are installed include food courts and office buildings. Powder-coated steel: Powder coated steel benches are found lining entryways for different venues, like retail centers, medical facilities and country clubs. While powder-coat is a common finish on many commercial site furnishings, it is featured on strap metal benches because of its anti-corrosive qualities and ability to bond to heavy duty steel constructions. Powder-coated benches come in a variety of colors and designs, from classic strap metal benches to intricate designs. Recycled plastic: Recycled plastic benches are low maintenance, available in a variety of colors and styles, are appropriate for any environment, including typically-corrosive salty, ocean side facilities. Recycled plastic components can vary based on the manufacturer, but it is commonplace that a high percentage is post-consumer material and will contribute to LEED certification.

For these reasons, they are found at a wide range of venues, including convention centers, office buildings, retail centers and stadiums. Thermoplastic: Thermoplastic is an environmentally friendly coating for metal benches. Thermoplastic benches are commonplace, located in facilities ranging from schools, recreational spaces and office buildings; the material itself is graffiti resistant and repairable, as opposed to other metal coatings and, with a thorough coat, will help a metal bench withstand a variety of climates. There are endless color options and six different common pattern styles: expanded metal, perforated metal, strap style, welded wire, diamond pattern and r