Compressing a Flag to 11 Bits

(read.vantezzen.io)

33 points | by bennett_dev 2 days ago

10 comments

  • AdieuToLogic 2 minutes ago
    This reminds me of the old joke[0]:

      There are 10 kinds of people in the world.
      Those who understand binary and those who don't.
    
    0 - https://www.gnu.org/fun/jokes/10-kinds-of-people.html.en
  • kjgkjhfkjf 55 minutes ago
    In case anyone else was curious about using a lookup table: there are there are fewer than 256 recognized countries or territories [1], so 8 bits should be enough for a key.

    This would be superior to the 11-bit encoding presented here because it handles complexities such as coats of arms. It would also handle bizarre situations such as two countries having almost identical flags [2].

    [1] https://en.wikipedia.org/wiki/List_of_countries_and_territor...

    [2] https://www.worldatlas.com/articles/country-flags-that-resem...

    • eventualcomp 0 minutes ago
      Maybe there's an allegory to the sciences. But I rather a model be suboptimal in encoding that can be used to generate hypothetical reasonable flags in its unpopulated states, than having an optimal encoding which doesn't answer questions or reveal possibilities in its unpopulated states. Like what does flag #0xFE look like in an 8-bit encoding? I really like the idea of driving compressed trees in reverse with random data to generate new fascinating (valid) sequences.

      Also, for compressing into 8 bits - is this not like saying "I can compress all of Shakespeare's plays in 6 bits" because there are ~39 plays, but then the size of the "shakespearezip" is just the sum of the wo

    • dhosek 15 minutes ago
      I’m surprised that the near-identical flags list omits Slovenia and Slovakia which both have white-blue-red horizontal stripes and a coat of arms (albeit with slightly different placement and different background colors on the coats of arms). A part of me feels like it’s part of a long-time joke the two countries are playing to confuse non-Slavs (the Slovenian word for their language is Slovenščina while the Slovak word for their language is Slovenčina and this is just the beginning of the confusion between the two countries/nationalities).
    • porphyra 26 minutes ago
      you could also exploit the fact that some flags may appear more frequently than others and use huffman encoding or something to encode the commonly used flags in a shorter sequence than rarely-mentioned countries, and save some bits on average
    • opiotrek 52 minutes ago
      but then you have to have the svg built into decoder. will they be smaller than 5KB?

      also then it's no different from a svg sprite

  • gerdesj 11 minutes ago
    A jack is a flag flown from a jackstaff, wot is found at the back of a ship or boat.

    The UK flag is called the Union Flag (it's a flag and it is a union of various flags and possibly nations too!) but let's face it, given how many people think its called the Union Jack, it doesn't really matter.

    If your flag pole at home is somewhat canted then I think you can call it a jackstaff, with a similar justification to the Royal Navy managing to designate their shore bases as ships. For example just up the road is HMS Heron (His Majesty's Ship: Heron).

    The Union Flag/Jack is only the flag of the UK by convention and not law. It's a bit wooley, just like our Constitution but it still all works.

    My point is that whilst I do enjoy this encoding scheme and it is jolly clever, reality is way more complicated. The UK's flag is pretty complicated but not alone. I'm pretty sure several flags have tassels, which I suppose strays into the coat of arms territory.

    How hard do you want to squint!

  • mabster 26 minutes ago
    Loved the title. I was like "that's 10 bits too many for a flag!" Haha
  • harpiaharpyja 11 minutes ago
    With all the attention on the link between compression and intelligence lately it is neat to have this example of how creating a encoding scheme naturally allows you to create new (likely) never before seen flags.
  • pimlottc 46 minutes ago
    Surprised this didn’t mention heraldry, which has what’s basically a DSL for coats-of-arms:

    https://en.wikipedia.org/wiki/Blazon

  • blacklion 9 minutes ago
    Fun fact: Constitution of Nepal has chapter about format of The Flag and it reads as geometry textbook problem (starred one, for advanced students).
  • Smalltalker-80 1 hour ago
    Nobody? Okay then: "Fun with flags!". There, I said it.
  • ano-ther 51 minutes ago
    Cool idea. Interesting that Indonesia, Poland and Monaco with very similar two-stripe designs have different compression rates (11, 14 and 17 respectively). Probably the aspect ratio that also gets encoded.
  • jtxt 59 minutes ago
    Cool project and results! https://vantezzen.github.io/miniflags/